Fun weekend project to increase public facing :

Using OpenPGP.js to encrypt contact form messages client-side, thus being able to receive end-to-end encrypted messages even from strangers who've never heard of PGP:

If you want to do the same and are not a developer, this services makes it easy:

This should really become standard for every website with a contact form, just like HTTPS is becoming standard.

@mayel Forgive my ignorance, but doesn't HTTPS achieve the same goal, assuming the contact form is on a HTTPS secured website?


No, the contents would be encrypted between the sender and the server, but then might be sent unencrypted between (one or more) email servers, and might be stored unencrypted by your email provider.

@Argus @Graham_Mitchell

It depends. Some providers will encrypt at rest, but they hold the key. Protonmail says they encrypt incoming messages with your public key, but you've still got to trust them.

Always best to have end-to-end encryption.

@mayel @Graham_Mitchell @Argus for a simple and powerful explanation of why encryption needs to be end-to-end (encrypted and decrypted on the client end):

@mayel Very cool, is the source available somewhere?

I did a similar small proof-of-concept encryption form but the sending part is delegated to the user: (definitely not as user-friendly as yours).

@wiktor @mayel

Cheers! :)

Front-end JS:

For the back-end you can use anything to receive the form data and send the email (such as a PHP script).
Sign in to participate in the conversation is a cooperatively-run corner of the Fediverse. The instance is democratically governed by its members, who generally share an interest in the co-op model, but topics of discussion range widely.

If you are interested in joining our community, please review our Bylaws and Code of Conduct. If you agree with them, you may apply for membership on our instance via this link

Our instance is supported by sliding scale contributions of $1-10/mo made via Open Collective. You must have an active Open Collective account to apply for membership; you may set one up here