Send a secret that deletes itself

Paste a password, an API key, anything you shouldn't be sending over chat. You get a link that works exactly once β€” then it's gone for good.

Encrypted in your browser No account needed No cookies, no tracking Open source

Create a secret

10,000 characters left
Expires in 24 hours Readable once Text only for now
How it works

Three steps, and the key never leaves your device

1

Locked here, not there

Your browser generates a random key and encrypts the secret with it before any network request happens.

2

We store the locked box

Only the encrypted result is sent. We store it against a random ID with a 24-hour timer.

3

Opened once, then destroyed

The reader's browser fetches the box and unlocks it locally. Our copy is deleted in the same instant.

burnbox.page/s/k3Jq7fVn2pXwLm8Rt4#Xy9kLm2pQr7wAe4Nb8Ts
sent to our server never sent β€” the browser keeps this part to itself

Everything after the # is called the URL fragment. Browsers have never sent it with a request β€” it's how #section links have always worked. That's not a promise we're making; it's a property of the web we're relying on.

Trust

Exactly what we can and cannot see

What our server never receives

  • Γ— Your secret, in readable form
  • Γ— The decryption key
  • Γ— Your name, email, or an account
  • Γ— Cookies, or anything that identifies you

What our server does store

  • β€’ An encrypted blob it cannot open
  • β€’ Two random IDs
  • β€’ A 24-hour expiry timer
  • β€’ Two running totals: secrets created, secrets read

Those totals are two plain numbers with nothing attached — no time, no place, no person. They are the only thing here that outlives 24 hours.

β—†
The honest caveat. We serve the JavaScript that does the encryption, so in principle we could publish a version that leaks your key. We can't prove we won't β€” but that attack would be visible in the page source, and it couldn't reach anything created before it. That's why the code is public and the page has no third-party scripts to hide behind. Any service claiming this problem doesn't exist is either confused or lying.
Limits

What this version does and doesn't do

Maximum secret length10,000 characters
Time before automatic deletion24 hours
Number of reads allowedExactly one
Supported contentText (files are planned)
Requests per minute10 per IP address
Recovery if a link is lostNone β€” by design
Roadmap

What's being built next

Next

Split-channel delivery

Send the link one way and a short code another β€” over the phone, say. Without the code the secret is mathematically unopenable, not merely "we refused".

Planned

Read notifications

Optional email the moment your secret is opened, or when it expires unread. Still no account β€” the address dies with the secret.

Planned

Choose your own expiry

5 minutes to 24 hours, picked when you create the link.

Planned

Small file support

Send a .pdf, .png, .zip or .txt the same way β€” encrypted in the browser, opened once.

Questions

Before you paste something important

What if I lose the link?

Then the secret is gone. There's no account to log into and no lookup we can run β€” the link is the only reference that exists, and the key inside it is the only copy of the key.

This is the trade for not being able to read your data ourselves. If we could recover it for you, we could also read it without you.

Will Slack or Outlook destroy the secret by previewing the link?

No. Opening the link just shows a page with a button on it β€” nothing is destroyed until somebody actually clicks Reveal.

That's deliberate. Chat apps and corporate mail scanners fetch every link they see to build previews. A service that destroyed the secret on page load would have it eaten by a robot before the human ever clicked.

Why is the key in the link instead of on your server?

Because a key on our server is a key we can use. Putting it after the # means your browser keeps it locally and never transmits it β€” so the encrypted blob we store is genuinely useless to us.

It also means anyone who gets the whole link gets the secret. Treat the link like the password itself.

What happens if someone opens it before the intended person?

They get the secret, and the real recipient gets "already read". That's the alarm: if your colleague says the link didn't work, assume it was intercepted and rotate the credential.

Not knowing is the failure mode of email. Knowing is the point of this.

Is this actually secure, or is that just marketing?

The encryption is AES-256-GCM, done by your browser's built-in crypto β€” the same primitive banks and password managers use. The keys come from a cryptographic random source, never a predictable one.

What that buys you, precisely: a stolen database, a compromised server, a backup leak, or a legal demand all get unreadable bytes. What it does not buy you is protection from us deliberately publishing bad JavaScript. See the caveat above β€” we'd rather say it than hide it.

Who made this and why should I believe any of it?

It's an open-source project built in the open, with the design decisions and their trade-offs written down. You don't have to take any of this on faith β€” the whole thing is a few hundred lines you can read yourself, including the part running in your browser right now.