Security

Security

How VaultWell protects what you keep in it, in plain words. Including the parts it can't protect, and what we haven't done yet.

From your path to encrypted filesA diagram of how a vault is locked. The path you trace on the comb is stretched with Argon2id, using 64 MiB of memory and two passes. The result is combined with a secret held in your phone's security hardware: the Secure Enclave on iPhone, or the Android Keystore with StrongBox where available. Together they make the vault key, which unlocks the vault's master key. Items are then encrypted with AES-256-GCM in 1 MiB chunks, each one authenticated, and stored only on your phone. The same steps are written out below. Your pathtraced on the combeight or more cells Argon2id64 MiB of memorytwo passes (t=2) Combinedonly on this phone Vault keyunlocks the master key AES-256-GCM1 MiB chunkseach one authenticated Encrypted fileskept on your phonenothing sent to us Hardware secretSecure Enclave on iPhoneStrongBox on Android, where available From your path to encrypted filesA diagram of how a vault is locked. The path you trace on the comb is stretched with Argon2id, using 64 MiB of memory and two passes. The result is combined with a secret held in your phone's security hardware: the Secure Enclave on iPhone, or the Android Keystore with StrongBox where available. Together they make the vault key, which unlocks the vault's master key. Items are then encrypted with AES-256-GCM in 1 MiB chunks, each one authenticated, and stored only on your phone. The same steps are written out below. Your pathtraced on the combeight or more cells Argon2id64 MiB of memorytwo passes (t=2) Combinedonly on this phone Hardware secretSecure Enclave on iPhoneStrongBox on Android, where available Vault keyunlocks the master key AES-256-GCM1 MiB chunkseach one authenticated Encrypted fileskept on your phonenothing sent to us
Every step happens on your phone. There is no account and no server. Read the steps in words

Who and what we protect against

VaultWell is designed for everyday privacy threats, the kind most people actually face.

  • Someone picks up your phone. A partner, a relative, a colleague, or a stranger who finds it. Without the path, the vault stays shut, even if they know your phone's passcode.
  • Someone pressures you to unlock. You can open an everyday vault or the duress vault. Nothing on screen shows that other vaults exist.
  • Someone copies the app's files. The keys are tied to your phone's security hardware, so guesses can't be run on a fast computer.
  • Someone tampers with stored files. Every encrypted piece is authenticated, so changes are detected rather than shown.

It is not designed to resist an attacker who has already installed malware on your phone, who watches you trace your path, or who can force you to reveal every path you have. No app can promise that.

How the encryption works

  1. Path. The order of cells you trace on the comb (at least eight, no repeats) becomes the input.
  2. Argon2id. That input is stretched with Argon2id using 64 MiB of memory and two passes, so each guess takes real time and memory.
  3. Hardware binding. The result is combined with a secret held in the Secure Enclave on iPhone, or the Android Keystore (StrongBox where available). This secret can't be exported, so the key can only be worked out on your phone.
  4. Master key. Each vault has a random 256-bit master key, stored only in encrypted form under the key from your path.
  5. Chunked AES-GCM. Items are encrypted with AES-256-GCM in 1 MiB chunks. Each chunk is bound to its item and position, so chunks can't be swapped, reordered or cut off without failing. Thumbnails, the item list and settings are encrypted too.

There is no account and no server. Your keys never leave your phone, and nothing in your vaults is sent to us.

Hidden vaults, and what an examiner might still see

On screen, VaultWell gives nothing away. The lock screen is only the comb. A wrong path and a path that was never used look the same. There's no list or count of vaults. Every vault's settings file is padded to the same size, so a vault's options, including whether it's the duress vault, can't be told from outside.

On disk, we want to be precise. Each vault is stored as its own encrypted folder. Someone with full access to the app's raw files, for example through a forensic extraction of an unlocked phone, could count those folders, and could count how many vaults have a recovery phrase set. They couldn't open them or see what's inside, but they could infer that more than one vault exists. We plan to reduce this, for example with decoy entries, and we'll publish details when it changes.

On the screen

Gives nothing away

  • Only the comb is shown
  • No list or count of vaults
  • A wrong path looks like a path never used

In the raw files, with full access

Could be counted

  • How many encrypted vault folders exist
  • How many vaults have a recovery phrase set

Stays unreadable

  • What any vault contains
  • Which vault is the duress vault

The duress vault

When the duress vault is opened with its path, VaultWell first deletes the key file of every other vault and their recovery files, then removes those vaults' folders. Without the key files the data can't be decrypted. Then the duress vault opens like any other, with no message on screen.

  • The erasure is permanent on the phone. There is no undo.
  • Opening the duress vault with its recovery phrase doesn't erase anything.
  • Backups and shares stored elsewhere are not affected.

Backups and shares

Backups (.vwbackup) must open on a new phone, so they can't use your old phone's hardware. Instead, each backup locks the vault's master key with Argon2id from your path (and phrase, if set) under a fresh random salt. Items stay encrypted exactly as stored. A backup's safety rests on the strength of your path or phrase, so keep backup files private.

Shares (.vwshare) use a fresh random key, locked by a separate share phrase. Items are re-encrypted into it, so the recipient never learns your vault's key. Limits on opens, expiry and saving out are enforced by the app, not by cryptography, because there's no server. Someone determined who has the phrase could still copy what they see.

What we don't claim

  • No completed audit yet. An independent security audit is planned before launch. We'll publish the outcome.
  • Not invisible. The app is visible on your phone, even with a disguise icon, and a forensic examination may show that several vaults exist.
  • Not screenshot-proof on iPhone. VaultWell protects against screen capture, but iOS doesn't let apps block screenshots; VaultWell tells you when one is taken. No app can stop a photo of the screen.
  • No recovery by us. If you lose your path and phrase, we can't help. We never have them.

Reporting a problem

If you find a security problem, we'd be grateful to hear about it privately first, and we'll credit you if you'd like. Contact details will be added before launch.