Secure Notes

Wrap a note in AES-256-GCM, paste the block anywhere, and open it again with the passphrase.

Runs on your deviceSecurity & PrivacyWorkingNo account needed

What this tool does

Secure Notes takes the text you type, derives a 256-bit key from your passphrase with PBKDF2-SHA256 at a fixed 600,000 iterations, and encrypts it with AES-256-GCM. A fresh 16-byte salt and 12-byte initialisation vector are drawn for every run, and a nine-byte header — the marker OKSN, a format version and the iteration count — is fed to the cipher as additional authenticated data, so the header is covered by the same tag as the note itself. The result is wrapped between BEGIN and END lines, with a Version line directly under the opening marker naming the scheme, and the base64 is broken every 64 characters so it survives being quoted in a reply.

It is worth being clear about what this is not. There is no link to send, no burn-after-reading, no expiry timer and no server holding anything: the passphrase is one you invent, and the encrypted note is a lump of text you deliver yourself. That means there is no record to purge and no dashboard that could leak, and equally no way to withdraw a note once it has gone. Whoever ends up with both halves can read it in a year's time exactly as easily as today, so the passphrase belongs on a different channel from the block — spoken aloud, or sent through an app the first one does not touch.

One box handles both directions. Left on Auto-detect, the tool decrypts when the input carries the BEGIN line, or when the input is nothing but base64 that begins with the OKSN marker. That second test is stricter than it sounds: a stripped block with a covering sentence typed above it is no longer pure base64, so it gets encrypted rather than opened, and the Decrypt setting is what you want there. Encrypt and Decrypt override the guess in either direction, which is also how you encrypt an existing block a second time. Encryption refuses a passphrase shorter than eight characters outright, and when the phrase it accepts still scores under roughly 40 bits, the summary returned alongside the block opens with a warning naming the estimate — four random words beats a short phrase with symbols pushed into it. Decrypting is more forgiving: where the armour is present, anything before or after it is discarded, the Version line is skipped, and the iteration count is read back out of the note, so nothing has to be re-entered but the passphrase.

Everything runs in this tab through the Web Crypto API — neither the note nor the passphrase is transmitted — and four limits follow from the design. The passphrase field is an ordinary visible text input, not a masked one. A forgotten passphrase is the end of the note; nothing here can recover it. The OKSN format belongs to this tool alone: GPG and OpenSSL will not touch it, and blocks from the Text Encryption tool use a different marker and will not open here either. And it encrypts typed text, not files, while the length of the block still hints at how long the note was.

How to use it

  1. Type the note, or paste an encrypted one. The same field takes both. Press Load sample to see the kind of thing it is meant for — the shape of the input decides what happens next.
  2. Enter a passphrase. At least eight characters, and this is the only thing that will ever open the note. Deriving the key is the one thing it is ever used for, and that happens here in the tab.
  3. Leave the action on Auto-detect, or set it yourself. Auto-detect reads the input and picks a direction. Choose Encrypt or Decrypt when you want to override that judgement.
  4. Send the block and the passphrase apart. Copy the armoured block into your message. Give the passphrase over a different route, so one intercepted channel is not enough.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

Handing over the details of a holiday let

Wi-Fi password, gate code and where the spare key lives, all in one encrypted note, so the message thread itself is not a set of instructions for getting in.

Passing a credential through a ticketing system

Support tickets and issue trackers are read by more people than the two of you, and kept far longer. The block sits in the thread and means nothing without the phrase.

Sending a private message somebody has to keep

Unlike a disappearing chat, the recipient can archive the block and open it whenever they need it, which is the point when the note is a recovery code rather than gossip.

Checking a note arrived intact

GCM authenticates as it decrypts, so a note that opens is also a note nobody edited — a mangled paste fails loudly instead of returning something plausible.

Questions

Is my note uploaded?
No. Key derivation, encryption and decryption are Web Crypto calls made inside this tab, and neither the note nor the passphrase is sent anywhere. Take the machine off the network before you encrypt and nothing about the tool changes, which is the quickest way to satisfy yourself.
Does the note expire or delete itself?
No. It is a piece of text, not a hosted secret with a timer, so it stays readable for as long as somebody holds both the block and the passphrase. If you need something to become unreadable on a deadline, this is the wrong tool — change the underlying password instead.
What if the passphrase is forgotten?
The note is unrecoverable. The key exists only for the length of the operation, no copy of the passphrase is kept, and there is no reset. Treat the passphrase as the only key to the note, because it is.
Can any other program open the block?
No. The OKSN header, version byte and iteration count in front of the ciphertext are this tool's own arrangement, so GPG, OpenSSL and archive utilities do not recognise it. Blocks written by the Text Encryption tool carry a different marker and are not interchangeable with these.
Why did it decrypt when I meant to encrypt?
Auto-detect saw a Secure Note in the input and acted on it. Only a genuine block triggers that — base64 from somewhere else lacks the OKSN marker and is treated as plain text — so the one time it happens is when you meant to wrap an existing block in a second layer. Set the action to Encrypt and it will.
It says the passphrase is wrong when I am sure it is right
A wrong passphrase and an altered block produce the same authentication failure, and the tool cannot tell them apart. Suspect the block first. Its body is nothing but base64, so the usual damage is a selection that stopped a line short of the END marker, or a stray character dragged in from the message around it — either fails the tag exactly as a wrong phrase would.
Can I attach a file to a note?
No, it works on text you type or paste. Protect PDF is the equivalent when the thing you are sending is a PDF; for any other kind of file, reach for an encrypted archive or the disk encryption your operating system already ships.
Is the passphrase hidden as I type it?
No. It is a plain text input, so it stays legible on screen and in any screen share or recording. Type it out of view, and clear the field before you walk away from the machine.

Related tools

  • Protect PDF — Add a password and set permissions on a PDF.
  • Sign PDF — Draw, type or upload a signature and place it on the page.
  • Hash Generator — Compute MD5, SHA-1, SHA-256 and SHA-512 digests.
  • Password Generator — Generate strong passwords with rules you control.
  • Redact PDF — Permanently remove sensitive content, not just cover it.
  • Remove PDF Metadata — Strip identifying metadata before you share a file.