How Your Notes Stay Private
Every encryption step runs in your browser. The server stores ciphertext it can never read.
- 1
You type your note
Write your note in the editor. The plaintext exists only in your browser tab — nothing is transmitted yet.
- 2
You set a password
Choose a strong password. This is the only key that can ever unlock your note. It never leaves your device.
- 3
Password is hashed in your browser (PBKDF2)
The Web Crypto API derives a 256-bit encryption key from your password using PBKDF2-SHA-256 with 100,000 iterations and a random 128-bit salt. Brute-force attacks become computationally infeasible.
- 4
Note is encrypted in your browser (AES-256-GCM)
Your plaintext is encrypted with the derived key using AES-256-GCM authenticated encryption. A random 96-bit IV is generated for each encryption operation so the same content never produces the same ciphertext.
- 5
Only encrypted data is sent to the server
The server receives the salt, IV, and ciphertext — three values that are mathematically useless without your password. No plaintext, no password, no key ever leaves your browser.
- 6
To read, you decrypt locally with your password
When you (or anyone you've shared with) opens the note and enters the correct password, the same PBKDF2 derivation recreates the key and AES-256-GCM decrypts the ciphertext locally. The server plays no role.
What makes this zero-knowledge?
Zero-knowledge means the server operator has zero ability to read your notes — not because of a policy promise, but because of mathematics. The encryption key is derived from your password inside your browser and is never transmitted. Without the key, the ciphertext stored on the server is indistinguishable from random bytes.
Even if the server were compromised, the database contained, or a subpoena issued, there is no plaintext to hand over. This is the only meaningful form of privacy protection for sensitive notes.
The implementation uses only native Web Crypto API primitives — no third-party cryptography libraries. You can audit the source directly in your browser's developer tools.
Technical Specifications
| Parameter | Value |
|---|---|
| Algorithm | AES-256-GCM |
| Key derivation | PBKDF2-SHA-256 |
| Iterations | 100,000 |
| Salt length | 128 bits |
| IV length | 96 bits |
Try It for Yourself
Create an encrypted note in seconds — no sign-up, no tracking, no cost.
Create a Free Note