Only you hold the key.
Vault files are encrypted end-to-end. Your keys are derived on your device and never sent to us. Not even dosya.dev can open your Vault.
Included free with your dosya.dev account.
What is a Vault?
A Vault is a private, end-to-end encrypted space inside your account. Everything you put in it is scrambled on your device before it is uploaded.
A normal folder
Still encrypted at rest on our servers, so a raw storage breach cannot read it. But to power previews, search, thumbnails and sharing, dosya can access the file itself along with details like its name, size and upload region.
A Vault
Encrypted on your device with a passphrase only you know. The file contents and even the file and folder names are hidden. The keys live only with you, so no one else, including us, can read what is inside.
Your data, sealed before it leaves you
- 1
You choose a Vault passphrase
It is separate from your login password, and it never leaves your browser. We never receive it and we cannot reset it.
- 2
Your device turns it into strong keys
Your passphrase is hardened and stretched into encryption keys entirely on your device, using a memory-hard function plus a server-assisted step. That extra step means a stolen copy of our database still cannot be used to guess your passphrase.
- 3
Files are encrypted before they upload
Every file gets its own key. File names and folder structure are encrypted too. All we ever store is ciphertext and opaque identifiers.
- 4
Sharing stays private
When you share a Vault item, your device seals its key directly to the other person's key, so only they can open it. We never handle a usable key.
- 5
You get a one-time recovery key
At setup we show you a recovery key once. It is your only backup if you forget your passphrase. We do not keep a copy, so save it somewhere safe.
Built so we cannot look inside
Encrypted on your device
Encryption and decryption happen in your browser. Plaintext never reaches our servers.
Names hidden too
File names and folder structure are encrypted, not just the contents.
Breach-proof passphrase
A stolen copy of our database cannot be used to guess your passphrase offline.
A key for every file
Each file is locked with its own key, so exposure of one never unlocks the rest.
Private sharing
Share to a teammate and the key is sealed to them alone. We never hold a usable copy.
Your keys, your control
We never receive your passphrase or your keys. The only backup is the recovery key you save.
Normal storage vs Vault
What you gain, and what you give up, when only you hold the key.
| Normal folder | Vault | |
|---|---|---|
| Where encryption happens | On our servers, at rest | On your device, end to end |
| Who can read the contents | You and dosya's systems | Only you and people you share with, never dosya |
| File and folder names | Visible to dosya | Encrypted |
| Previews, search, thumbnails | Yes, server powered | On your device only |
| Forgot your passphrase | Standard password reset | Only your recovery key can restore access |
| If our database is breached | Contents stay encrypted at rest | Unreadable, and your passphrase cannot be cracked |
| Sharing | Links and team permissions | Keys sealed to each recipient |
Vault trades convenience features like server-side search and password reset for privacy that only you control.
The design, in engineering terms
For full transparency, here is how Vault actually works. The server is treated as an untrusted sequencer: all key derivation, encryption and decryption run client side in your browser using audited primitives from libsodium. The server stores ciphertext, routes it, and enforces membership. It never holds the material needed to decrypt.
Key hierarchy
| Layer | What it is | Comes from | What it protects |
|---|---|---|---|
| 1. Passphrase | Your secret, chosen by you | You | The root of everything. Never sent to us |
| 2. Hardening (OPRF) | A server assisted strengthening step | Your passphrase plus our OPRF key | Makes guessing infeasible even if our database leaks |
| 3. Key encryption key | A derived master key | Argon2id over the hardened passphrase | Wraps your identity keys |
| 4. Identity keys | An X25519 and Ed25519 key pair | Generated on device, wrapped by the key encryption key | Receiving sealed keys and signing your actions |
| 5. Recovery key | A one time high entropy backup | Generated on device, you save it | A second way to unlock your identity keys |
| 6. Space key | One key per encrypted Space | Random, shared to members via HPKE | The folder index and every file key inside it |
| 7. File key | One key per file | Random, wrapped by the Space key | That file's encrypted data chunks |
Cryptographic primitives
What the server can and cannot see
Can see
- Encrypted chunks and their sizes
- Upload and download timing and frequency
- Which accounts belong to a Space (the membership graph)
- Your IP address and device metadata
- Opaque identifiers linking chunks to a Space
Cannot see
- File contents
- File and folder names
- Folder structure beyond an encrypted index
- Your passphrase, recovery key, or any private key
- The plaintext of anything you share
Threat model and honest limits
Strongest against a storage breach. A full dump of our database and object storage cannot be decrypted, and the OPRF step blocks offline passphrase guessing even for weak passphrases.
Web delivery is the trust boundary. Your browser downloads the app code from us on each visit, so in principle a compromised server could serve modified code. This is inherent to all in-browser end-to-end encryption. Native desktop and mobile clients, in progress, reduce this exposure by shipping code you install once.
Built on standard primitives, audit on the roadmap. The design follows public RFCs (RFC 9180 HPKE, RFC 9497 VOPRF) and vetted libraries, but has not yet completed an independent cryptographic audit. An external audit and key transparency are on our roadmap to further validate these guarantees.
Metadata is not hidden. File sizes, upload timing and Space membership are visible to the server and to anyone observing the network.
Recovery is yours alone. We hold no escrow and no copy of your keys. If you lose both your passphrase and recovery key, the data is unrecoverable by anyone.
The trade-off of real encryption
Because only you hold the key, only you can undo it. A few things are worth knowing up front.
Save your recovery key
When you set up a Vault we show you a recovery key once. Store it in a password manager or offline. If you forget your passphrase and lose this key, your files cannot be recovered by anyone, including us. There is no reset.
Pick a strong, unique passphrase
It protects everything in your Vault, and it is separate from your login password. Use something long that you do not reuse anywhere else. Changing your account password does not change your Vault passphrase.
Anyone on your unlocked device can see it
A Vault unlocks in your browser for your session. Lock your device and sign out on shared or public computers. The encryption protects your files in storage and in transit, not from someone using your device while it is open.
People you share with can read it
Sharing a Vault item gives that person the key to open it. Only share with people you trust, and remove access when they no longer need it.
New and improving
Vault is newly launched and under active security review. For anything truly irreplaceable, keep your own independent backup as well.