Needed a fast way to share secrets last night...

So I threw together a stateless version.

How it works without a database:

The Browser: Encrypts your text locally using AES-GCM, then uses the server's public key to seal a tiny envelope containing just the AES key and an expiration timestamp. The raw text never leaves your screen.

The Link: Packs everything into the URL hash fragment.

The Server: When the link is opened, the Go backend decrypts the tiny envelope, verifies the timestamp, re-encrypts the AES key for the recipient, and flushes its memory.

If it's expired, it returns a 410 Gone. The server never sees or stores your actual secret text, it only handles the transient envelope key for a split second.

I'd love some feedback if anyone has some -> https://crate.cc/tools/share

Posted Jul 10, 2026, 6:00 PM UTC

929
Loading comments…