Actually private.
Here's why.

BurnAfterRead is zero-knowledge by design. The server stores ciphertext it cannot decrypt and forgets it the moment it's read.

01
Encrypted in your browser

We generate a 256-bit AES-GCM key on your device, encrypt the secret, and never see the key.

02
Key lives in the URL fragment

The decryption key sits after the # in your link — browsers never send fragments to servers.

03
Stored as ciphertext only

Our database holds opaque ciphertext. Without the link's key, even we can't read it.

04
Burned on first view

The ciphertext is overwritten and the row is marked viewed. There is nothing left to leak.