After looking at the doc, it seems Protonmail uses GPG and computes the keys on the client device. (So I was wrong in my reply earlier).
However, when you send an unencrypted email with Protonmail, they claim that they encrypt the email at rest, but the claim is not verifiable.
Except when it's not (and the full password is used instead).