Remix.run Logo
▲ forgotmypw17 3 hours ago

Agree, we use OpenPGP.js in our web projects. It's great for combining it with server-side GnuPG.

It used to be more of a concern without TLS, but now it's reasonably secure to use.

We use it for the user sessions, allowing the client to own their session and identity.

The browser generates the keypair and signs each post and login challenge, so the private key never leaves the client. The server only stores the public key (as a plaintext file in git) and verifies signatures with GnuPG, which means there's no password hash in the database to leak, and the identity is just a fingerprint anyone can audit. Using two independent implementations (OpenPGP.js on the client, GnuPG on the server) is a nice bonus.