/notater

Private Encrypted Notes in Your Browser (local pastebin)

A private notepad encrypted with your password and stored only locally in your browser. No server, no sharing.

Set a password to protect your notes. They are encrypted with the password and stored only locally in this browser. If you lose the password, the notes cannot be recovered.

How it works

A private notepad with the note list on the left and the editor on the right. The first time, you set a password; the notes are encrypted with it (AES-GCM via WebCrypto) and stored only in the browser's local storage (localStorage) on this device. Next time, you enter the password to unlock them. Changes are saved automatically and re-encrypted on every save.

About this tool

The notepad tool is a password-protected note editor where content is encrypted with AES-GCM (WebCrypto) on your own device before being stored in the browser’s localStorage. No data leaves your computer, and even if someone gained access to your disk, the text is unreadable without the password. Perfect for short private notes, password hints, temporary thoughts or sensitive lists you don’t want in the cloud. The password is never stored, so if you forget it the content is gone forever, there is no "forgot password" link.

How to use it

  1. First time: pick a strong password, type it twice and press "Create note".
  2. Write your content in the text area. Auto-save runs every few seconds.
  3. Lock the note with "Lock" or by closing the tab. Content is wiped from memory.
  4. Next visit: type the password, note is decrypted and shown. Wrong password gives empty note.

Examples

Encrypted PIN list
InputA note holding a bank PIN, an alarm code and a safe combination.
OutputStored as ciphertext in localStorage. Only your password can unlock it.
Don’t use this as the only store for banking, work or crypto-wallet passwords, use a dedicated password manager (Bitwarden, 1Password) with cloud sync and recovery.

Common use cases

  • Short private notes you don’t want in Google Docs or iCloud.
  • Temporary clipboard for sensitive text between private sessions.
  • Secret messages on a shared computer (locked when you leave).
  • Ideas and journal entries with extra privacy.
  • Password hints (never the password itself) that shouldn’t sync to other devices.

Frequently asked questions

What happens if I forget the password?
The content is permanently lost. AES-GCM with a strong password is practically impossible to brute-force. We have no backdoor or reset mechanism, that’s the whole point of end-to-end encryption. Write the password down somewhere safe (physical safe, password manager) if the note matters.
Is the note synced across my devices?
No. The note is tied to the browser’s localStorage on that device and browser. Switch from Chrome to Firefox, or laptop to phone, and you’ll see an empty note. To use it on multiple devices, manually copy the text and create a new note with the same password on the other device.
Can someone read my content if they have access to my computer?
No, not without the password. localStorage contents are ciphertext encrypted with AES-256-GCM. Without the password an attacker sees random bytes. But: if someone has access while you’re logged in and the note is unlocked (decrypted in memory), they can read it directly. Always lock the note before leaving the computer.
What if I clear browser history?
Clearing "history" usually doesn’t affect localStorage. But if you pick "Clear cookies and other site data" or "All time all data", your notes are deleted too. Check settings carefully. Deleted localStorage is gone for good.

Technical background

Cryptography: AES-256-GCM via SubtleCrypto WebCrypto API. Key is derived from the password with PBKDF2 (SHA-256, 100,000 iterations, random salt stored next to ciphertext). Each encryption uses a fresh 12-byte IV (nonce). GCM provides authenticated encryption, so any attempt to modify ciphertext without the password gives a decrypt error. Storage: `localStorage.setItem("note", base64(salt || iv || ciphertext || tag))`. Autosave: debounced writes every 2 seconds after the last keystroke. On lock the plaintext variable is nulled and a re-render hides content. No server calls, everything runs 100% client-side.