They uploaded a key to a third-party website for their own reasons. They didn't upload it to Protonmail. Protonmail chose to interpret participation in that third-party website as participation in their E2E encrypted email format.
"their own reasons" could very well be any of the following:
- It is necessary to upload a gpg public key to a keyserver in order to publish packages in some public repositories, such as maven central, or one of several linux distribution repositories
- They needed it in order to send or receive email from an entity that required using PGP, but don't use it normally.
- They tried using PGP for email, found out how painful it was to use, then decided it wasn't worth the effort and stopped.
Why would they have to upload it to protonmail? OP is not a protonmail user, is he? It would be ridiculous if encrypted communication would require explicitly uploading your key to each system from which someone might conceivably try to message you.
You opt in by having an email address and by having a published key associated with that email address.
Baffling. This really is like buying a billboard with your phone number on it, along with text that reads "contact me!!" and then getting upset that you're getting phone calls.
The whole point of associating an encryption key with your email address on a public keyserver is so that you get encrypted mail!
Many keyservers don't verify you own the email address. Someone else could have uploaded a PGP key for your email. You shouldn't trust the value in the keyserver without additional confirmation via another channel (like giving someone the fingerprint in person).
And PGP/GPG keys are used for more than just email, so just because you have a key on a keyserver doesn't necessarily mean you want your emails encrypted with it.
I just wanted to say that clearly keyservers needed to add this (both verification and specifying the purpose of the key), but clearly they have already done so.
I'm not surprised; these people think a lot more about these sort of things than I do.
One possible addition might be that maybe you could specify whether people should use the key to encrypt whenever possible, or only when security is absolutely vital. That's a setting that could pass the decision to encrypt to the sender (if clients support this).