About Burner Note

TL;DR

  • Your note is encrypted in your browser before it leaves your device
  • The decryption key never touches our servers
  • We cannot read your notes, even if compelled to
  • Notes are permanently deleted after being read
  • Verify it yourself: Burner Note is open source

The Story

Burner Note exists because a lot of "burn after reading" note sites are noisy, ad-heavy, and opaque. You're expected to trust that they encrypt and delete data as advertised.

As a developer, I wanted something faster to use and easier to verify. Burner Note is that: a simple UI, strong defaults, and technical transparency.

How the Encryption Works

Burner Note uses client-side encryption with a zero-knowledge architecture. Your note is encrypted in your browser before it ever leaves your device, and the decryption key is never sent to our servers.

// When you create a note:

  1. A 256-bit AES-GCM key is generated in your browser using the Web Crypto API
  2. Your note is encrypted client-side with this key
  3. Only the encrypted ciphertext is sent to our server
  4. The key is placed in the URL fragment (the part after #)

The URL fragment is crucial to our zero-knowledge design. Per the URI specification (RFC 3986), the fragment identifier is never sent to the server in HTTP requests. It exists only in the browser. This means the decryption key cannot reach our servers through normal operation.

What this means in practice:

Even if our servers were compromised, or we received a legal demand for your data, we could only hand over encrypted ciphertext. Without the key (which we never had), the data is computationally indistinguishable from random noise.

Limitations

As with any client-side encryption system, Burner Note cannot protect against a compromised device, malicious browser extensions, or someone manually copying the decrypted text after opening a note.

The Cipher

We use AES-256-GCM (Advanced Encryption Standard with Galois/Counter Mode). This is an authenticated encryption algorithm that provides both confidentiality and integrity. The "256" refers to the key size in bits; the "GCM" mode provides authentication, meaning any tampering with the ciphertext will be detected during decryption.

A random 96-bit IV (initialization vector) is generated for each note and prepended to the ciphertext. This ensures that encrypting the same plaintext twice produces different ciphertext.

Defense in Depth

In addition to client-side encryption, we apply a second layer of encryption at rest using Laravel's encryption (AES-256-CBC with HMAC). This protects against database leaks and provides an additional barrier, though the client-side encryption is the primary security layer.

Deletion

When a note reaches its view limit, it is immediately deleted from our database. We don't soft-delete or archive. The SQL DELETE is executed synchronously before the response is returned. Once deleted, the ciphertext is gone forever.

Open Source

Don't trust us? Good. You shouldn't have to. Burner Note is completely open source. Review the encryption implementation in welcome.blade.php and the decryption in note-encrypted.blade.php. The entire codebase is available for inspection.

That's the point.