How Mirage Vault protects your photos

Updated November 1, 2026Facts from the app source and the security audit of 2026-10-31

Mirage Vault encrypts every photo on the iPhone itself with AES-256-GCM, one random key per file, and locks the vault key behind the Secure Enclave. There is no account and no server: the pattern, Face ID or a recovery phrase are the only ways in, and a copy of the files cannot be guessed open elsewhere.

Who is looking, and what they get

A photo vault protects against specific people in specific situations. This is what each of them sees with Mirage Vault, and what still protects you.

WhoWhat they seeWhat protects you
Someone glancing at your Home Screen or over your shoulderA plain icon; the lock screen is blank sand with no app name and no gridThe pattern grid appears only under your finger and fades after you lift it; the app switcher shows a blank snapshot
Someone holding your unlocked iPhoneThe blank lock screen of the vaultFace ID or the pattern; 5 wrong attempts start a pause of 30 s that doubles up to 1 hour; lock on leaving, lock when face down
Someone who knows your iPhone passcodeThe same blank lock screenThe vault has its own key. The iPhone passcode does not open it, and Face ID for the vault is bound to the enrolled faces: adding a new face to the iPhone turns the vault's Face ID off until the pattern is drawn
Someone with a copy of the files or of the iCloud backupRandom-looking data under random namesAES-256-GCM with a key per file; the vault key is wrapped by a Secure Enclave key that cannot be copied, so the pattern cannot be guessed offline. The backup opens only with the 8-word recovery phrase
Someone forcing you to unlockWhatever vault you choose to showA decoy vault behind a second pattern, and a Wipe Key: a pattern that erases the real vault's keys on the spot and opens the decoy instead (both Mirage Pro)
Mirage, or anyone asking MirageNothing: there is no account, no server and no copy of the keyThe recovery phrase is shown once and never stored; nobody from Mirage will ever ask for it

What the encryption actually is

These are the parameters in the app's source, not a summary.

  • Your pattern or PIN goes through PBKDF2-HMAC-SHA256 with at least 600,000 iterations, calibrated to take at least 250 ms on your iPhone. The result is never the vault key itself.
  • The Secure Enclave wraps the result: ECIES on a P-256 key in the Secure Enclave. The private key is created inside the Secure Enclave and cannot be read out, so a copy of the files and the Keychain is not enough to try patterns on another machine.
  • The vault key (256 random bits, one per vault) is unwrapped only in memory, only after a correct pattern, Face ID or recovery phrase.
  • Each file has its own random key, wrapped by the vault key. Photos, videos, notes, scans, thumbnails and previews are all separate objects.
  • Each file is sealed in 1 MiB chunks with AES-256-GCM: a fresh nonce per chunk and authenticated data that binds the chunk to its file, its position and whether it is the last one. A changed, truncated or swapped chunk is detected, not decrypted.
256-bit
vault key, random per vault
≥ 600,000
PBKDF2-HMAC-SHA256 rounds
1 MiB
per encrypted chunk
0
servers, accounts, trackers

Other facts of the format: file names on disk are random 128-bit identifiers; the container lives under NSFileProtectionComplete and is excluded from device backups; the header holds 8 key slots of identical length, and unused slots are filled with random bytes so the files do not reveal whether a decoy vault or a Wipe Key exists. Face ID has its own Secure Enclave key, created with the current set of enrolled faces, with no fallback to the iPhone passcode. Videos play through an encrypted resource loader, chunk by chunk, without a temporary decrypted file. Break-in records are sealed with HPKE (P-256, HKDF-SHA256, AES-GCM-256) while the vault is locked, so only the real vault's key can open them later.

Backup and recovery

Encrypted iCloud backup is free for everyone and on by default. It uploads the same encrypted objects to the private database of your own iCloud account; Apple sees ciphertext, Mirage sees nothing at all. The backup opens only with the recovery phrase: 8 words from the BIP-39 list (88 bits), shown once and never stored. The phrase is the only key that works on a different iPhone, because every other key is bound to the Secure Enclave of the iPhone that created it.

The recovery phrase screen in Mirage Vault: eight numbered words and three reminders to write them on paperThe recovery phrase screen in Mirage Vault: eight numbered words and three reminders to write them on paper
Eight words, shown once. Mirage cannot show them again and cannot reset them.

What was checked, and by whom

The container format and the app layer were reviewed on 2026-10-31: code reading, an independent second pass over the format, and a stress-test target with concurrency, tampering, fuzzing and plaintext-leak checks (71 tests in the package, all passing, also under Thread Sanitizer). The file encryption held up against bit flips, random mutations, truncation at every boundary and chunk swaps between files: no wrong plaintext was ever returned. The findings were in vault and slot logic and in the iCloud backup, and the critical and high ones were fixed the same day; the audit document records each with its status.

The MirageCrypto module, which defines the container format and the keys, is written as a standalone package so that it can be published on GitHub. This page will link to it once it is public.

A one-paragraph summary of the app, the icon and screenshots for coverage are in the press kit.

Security pages

Questions

Is Mirage Vault encrypted?
Yes. Every photo, video, note and file is encrypted on the iPhone with AES-256-GCM in 1 MiB chunks, each file under its own random key. Thumbnails and previews are encrypted too. No readable copy is written to disk, and file names are random identifiers.
Can Mirage read my photos?
No. There is no Mirage account and no Mirage server. The vault key never leaves the iPhone, the iCloud backup contains only ciphertext in your own iCloud account, and the recovery phrase is shown once and never stored. Nobody at Mirage can open a vault, and nobody at Mirage will ever ask for the phrase.
What happens if someone copies the files from my iPhone?
They get random-looking data. Opening it needs the vault key, which is wrapped by a key inside the Secure Enclave of that iPhone. Guessing the pattern offline from a copy of the files does not work: the Secure Enclave key cannot be extracted, so every guess has to run on the device, where 5 wrong attempts start a pause that grows to 1 hour.
Does Mirage Vault collect any data?
The app has no analytics, no crash reporting service, no advertising SDK and no account. Purchases go through Apple. The only network activity is the optional encrypted iCloud backup to your own iCloud account.
Is the encryption code open?
The MirageCrypto module, which defines the container format and keys, is written to be published on GitHub. Until it is, this page describes the format in enough detail for anyone to check the claims against the published module later.