Security model

Zero-knowledge.

A walk through the cryptography, end to end.

1
Encryption happens in your browser

Your browser generates a random 256-bit key and encrypts the text with AES-256-GCM via the WebCrypto API. Only the resulting ciphertext is uploaded.

2
The key travels in the URL fragment

The key sits after the # in your share link. Browsers never transmit the fragment to the server, so the key reaches your recipient without touching our infrastructure.

3
Optional passphrase = second factor

With a passphrase, the AES key is derived from both the link fragment and the passphrase using PBKDF2-SHA256 (310k iterations). A leaked link alone cannot decrypt the note.

4
Reveal burns it

Opening the link shows a confirmation screen — no preview bot can trigger a burn. On click the ciphertext is fetched once; the server atomically marks it consumed and wipes it. After the last view (or the 1/3/7-day expiry) it's gone for good.

One caveat: because we can't read your data, we can't recover it. A wrong passphrase on the final view, a lost link, or an expired secret means the content is irretrievable — by design.