Client side encryption works just fine. It&#x27;s only a problem in a browser where you have to download the possibly-MitM&#x27;d program each time you want to use it. Actual installed client software that encrypts end-to-end is the proper way to use encryption.<p>One catch: remember that the <i>browser itself</i> absolutely should not be the installed program doing the end-to-end encryption, where bugs can allow the private keys to be leaked. Important data like the private keys shouldn&#x27;t even be in the same address space. See gpg-agent&#x2F;ssh-agent as an examples of how to keep sensitive data in a separate process.