How it works

End-to-end encryption in four steps, then a live demo of what our server actually sees. Toggle the diagram below for technical details.

Sender

Types a secret

Browser encrypts

AES-256-GCM

Server stores

Encrypted blob only

Recipient decrypts

Key from URL fragment

Encryption happens in your browser — the server never sees plaintext.

The key lives in the URL fragment (#). Fragments are never sent to the server.

Set a view limit and expiration. Once reached, the secret is permanently deleted.

See zero-knowledge encryption live

Type any text, encrypt it in your browser, then toggle the view to see what our server actually receives. Plaintext and keys never leave this page.

Plaintext
 
Encryption key (base64url)
 
Ciphertext (base64url)
 

Encryption runs in your browser via the Web Crypto API. Flip the toggle to see the redacted version our server actually receives.

Want the full step-by-step walkthrough?

Open the full encryption playground →

Want to learn more?

Read our visual guide to end-to-end encryption — with an interactive demo, comparison of encryption types, and FAQ.

Frequently asked questions