encrypt.to

How it works

Every service says your files are encrypted. The question worth asking is who holds the key. Here is exactly what happens to a document you leave with us.

Your password never reaches us

When you sign in, your browser does the maths on your password and sends us only a verifier — a value that proves you know the password without containing it. We could not tell you your own password, and we could not hand it to anyone who asked.

Documents are locked before they leave your computer

Choosing a file does not upload it. Your browser encrypts it first, using a key it creates on your device, and uploads only the scrambled result. What lands on our servers is a block of noise with a size and a date. We do not know what it is called, what kind of file it is, or what is in it.

We hold the locked box. You hold the keys

Each document has its own key. Those keys are themselves locked — with your password, and separately with the 15-word recovery code we gave you when you signed up. Both of those exist only on your device. We store the locked keys and nothing that opens them.

This is why we cannot reset your password. A company that can put you back into your account is a company that could be made to put someone else in. The 15 words are the alternative, and they are the reason we ask you to write them down.

Recipients get their own key

When you name someone, your browser locks a copy of the document’s key so that only they can open it. There are three ways, and you choose per person:

The exception, said plainly. With Sealed and Public key we hold nothing that can decrypt your documents — not for a court, not for an employee, not for anyone who steals our database. Open link is different: for a recipient to need nothing, we must hold a working key, so those documents are readable by us and we could be compelled to produce them. The product marks this every time it appears. Most services would leave that in the small print.

Nothing is sent while you are checking in

You set how often you check in. Signing in counts, as does the link in any reminder. Miss a deadline and reminders start — one missed check-in sends nothing. After those comes a 48-hour hold you can cancel from any device, and only then are your documents delivered.

There is one more guard you would not think to ask for: if our own service was unreachable during the period you were meant to be checking in, we refuse to deliver at all. Silence only means something if you had the chance to break it.

The details, if you want them

The actual algorithms and parameters

Keys are derived with Argon2id at m=64MiB, t=3, p=1, split by HKDF-SHA256 into an authentication half sent to us and a wrapping half that never leaves your browser.

Documents are encrypted with AES-256-GCM in 4 MiB chunks, each one cryptographically bound to its own position and to the document it belongs to — so chunks cannot be reordered, swapped between documents, or silently truncated. The format is called ETO1.

Your recovery code is 15 BIP-39 words (165 bits), generated independently of your password. A Sealed recipient’s passphrase is 10 BIP-39 words (110 bits). Neither is ever transmitted.

AES-GCM runs in WebCrypto — your browser’s native implementation, the same code that protects your bank’s connection — rather than in JavaScript we wrote.

You do not have to take our word for it

We publish a standalone decryptor: one file, no network code of any kind, that opens an Encrypt.to document offline. Save it, unplug, and it still works.

That file matters for two reasons. It is short enough to read end to end before you trust it, so a sceptic can confirm what the format really does rather than believing this page. And it means your recipients are not dependent on us continuing to exist — if this company disappears tomorrow, a document and its key can still be opened.

Questions a page cannot answer? Ask us directly.