Web · libsodium · Cloudflare R2 · Polar · drop.inbox.locker
Locker Drop
Encrypted file transfer with no size cap — and I never see your files.
Locker Drop encrypts in the browser and stores only ciphertext. The sender picks files, sets a destruct timer and an optional password, pays for the size tier, and gets a link to share however they like — text, email, Slack. The recipient opens it in any browser and a service worker streams and decrypts straight to disk. The decryption key travels in the URL fragment, which browsers never transmit to a server.
- Next.js (App Router)
- TypeScript
- libsodium (XChaCha20-Poly1305, Curve25519, Argon2id)
- Cloudflare R2
- Service Workers (streaming decrypt)
- Polar (payments)
- Vercel
Origin
How it started
I started building an end-to-end encrypted email client and found the crypto core was the valuable part, not the mail client wrapped around it. Encrypted transfer is a problem people already know they have and already pay for — the incumbents charge a lot to move big files and can read every one of them. So the email client went on pause at v0.4.0 and the crypto core shipped first as its own product.
Features
What it does
The key never reaches the server
Encryption happens in the browser and the key lives in the URL fragment — the part after the # that browsers do not send in the request. My backend handles payment, presigning, metadata, expiry, and abuse reports. It never holds anything that could decrypt a file.
No size cap
Files are sharded client-side across multiple object-store objects and multipart-uploaded, so there is no single-file ceiling to work around. File sizes are read off the disk handle instantly, which means selecting fifty gigabytes costs nothing and takes no time until you actually choose to send it.
Burn on read or on a timer
Expiry deletes the stored ciphertext. That is the honest description of what happens — the server cannot 'burn the key' because it never had one. Once the ciphertext is gone and the link is spent, the content is unrecoverable by me or anyone else.
Pay first, then encrypt
The order is deliberate: size is known instantly and free, price is shown, payment clears, and only then does the upload begin — the only step that actually costs anything to run. Failed uploads refund automatically. Charging before the expensive operation is what makes an unlimited-size product survivable.
Optional out-of-band password
A link alone means anyone holding it can open the file. A password unwrapped with Argon2id hardens that, and the interface tells you to send it through a different channel than the link — email the link, text the password.
Encrypted manifest
Filenames and folder structure are metadata that leak plenty on their own, so the manifest is encrypted alongside the content rather than stored in the clear for convenience.
Under the hood
Engineering
Paid-only as an abuse control
A free anonymous encrypted file host is a malware distribution service with extra steps. Charging for every send eliminates the drive-by abuse case almost entirely, funds the storage, and keeps the product from needing to inspect content it deliberately cannot read. The admin surface is an abuse queue that can kill a link and a separate queue for verified legal requests — the honest answer to 'what can you actually do about bad actors' when the architecture prevents you from looking.
Standard primitives, no invention
XChaCha20-Poly1305 for content, Curve25519 for asymmetric operations, chunked secretstream so large files decrypt progressively rather than all at once in memory, Argon2id for password derivation — the same primitives behind WireGuard and Signal, used through libsodium. Novel cryptography is how encrypted products fail. There is nothing clever here on purpose.
Claiming only what is true
The marketing was written against an explicit list of things that would be false: the server does not burn keys, it is not 'military-grade', it is not anonymous — routing metadata like IPs, sizes, and timing is still visible and I say so — and nothing can stop a recipient screenshotting their own screen. Encrypted products get taken apart in public by people who know the difference, and every overstatement is a thread someone pulls.