End-to-End Encrypted

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.

The basics

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.

How it works

Your data, sealed before it leaves you

  1. 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. 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. 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. 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. 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.

Why it is different

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.

Side by side

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.

Engineering

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

Passphrase hardening Argon2id + verifiable OPRF
File and metadata encryption XChaCha20-Poly1305
Key sharing HPKE (X25519)
Signatures Ed25519
Chunking and integrity FastCDC + per-file Merkle tree

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.

Please read before you start

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.

Ready to lock it down?

Create a Vault in your account and start encrypting. Included free with every plan.

Your passphrase never leaves your device. We could not read your Vault if we tried.