VaultBoxoffline file locker

Your file. Your combination. Our server never sees it.

Drop a file in, set a passphrase, and walk away with a sealed .vault container. The locking happens inside this browser tab using its own cryptography engine. Nothing is sent anywhere, so you could pull the network cable and it would still work.

CipherAES-256-GCM
Key stretchPBKDF2-SHA256 × 600,000
Max per file200 MB
Recovery wordsnever requested here
Door A

Lock files

Turns any file into an encrypted .vault. Your original stays untouched.

Aim for four or more random words, or 16+ mixed characters.
No reset button exists. Forget the passphrase and the contents are gone for good, for you, for us, for anybody. Keep a copy of it somewhere safe and separate.
Door B

Unlock a .vault

Opens a container made here (or by the offline script below) and gives back the original file, name included.

Key stretching takes about a second per file.

Blueprint of a .vault

The container is a small header followed by AES-GCM sealed chunks. Everything needed to open it, apart from your passphrase, travels inside the file. You never depend on this website: the script underneath opens one with stock Node.js.

Offset · sizeContents
0 · 8magic "VAULTBX" then version byte 0x01
8 · 1key-derivation id, 1 = PBKDF2-HMAC-SHA256
9 · 4iteration count, uint32 big-endian (600,000)
13 · 16random salt
29 · 8random nonce prefix
37 · 4plaintext bytes per chunk (4 MiB)
41 · 4length of the sealed metadata
45 · nmetadata: AES-256-GCM over JSON {name, type, size, mtime}, IV = prefix ‖ uint32(0). The file name is hidden as well.
thenchunk i (1…n): AES-256-GCM, IV = prefix ‖ uint32(i), each one chunk size + a 16-byte tag
AADthe first 41 header bytes + one flag byte (2 = metadata, 1 = final chunk, 0 = any other). Altered parameters, shuffled chunks or a chopped-off ending all fail loudly.
Offline opener script · Node 18+, zero dependencies

Vault rules

Straight answers to what people ask before trusting a locker with their files.

  1. Does anything get uploaded?

    Nothing. Your browser reads the file, Web Crypto encrypts it, and the result comes back as a download. The page's security policy only permits contact with its own origin, and there is no upload route on the server at all. Load the page, go offline, and it keeps working.

  2. Why stop at 200 MB?

    The finished container is assembled in browser memory before download, and 200 MB is a comfortable ceiling for phones and older laptops. For anything larger, split it first or reach for a desktop tool such as age or VeraCrypt.

  3. How tough is the lock?

    AES-256-GCM is a standard authenticated cipher, so a wrong passphrase or a single altered byte is caught. The real weak spot is the passphrase. 600,000 PBKDF2 rounds slow down guessing, yet a short or recycled passphrase can still be cracked offline by whoever holds the .vault.

  4. Should my wallet's recovery words go in here?

    We will never ask for them, and the safest home for them is offline, on paper or stamped metal, somewhere secure. If you do encrypt a backup, pick a long, unique passphrase and never keep it beside the file.

  5. What stays secret, what doesn't?

    The contents, the original name, the type and the exact size (inside the metadata) are all encrypted. The .vault's own size is visible, so someone can estimate the original size to within a few bytes.

  6. Can I open old .vault files?

    Yes. The format is versioned and documented above. Any .vault v1 file opens in Door B or with the offline script, today or years from now.