Security, explained in plain words

The short version

StrongRoom encrypts every item on your iPhone with AES-256-GCM. The keys that open them are made from your pattern or passphrase and a secret that never leaves the phone's Secure Enclave. The app makes no network connections, so there is nowhere for your files to leak from. It cannot protect you from everything, and the next page says where it stops.

Four promises, and how each is kept

  1. We cannot read your files. We hold no keys and receive no data. There is no server to ask.
  2. A copy of the app's files is useless. The key depends on a secret held inside this phone's Secure Enclave that cannot be exported, so files copied elsewhere cannot be opened.
  3. Guessing is slow and counted. The credential is stretched with a slow key derivation, and every attempt counts toward a limit that doubles the wait after ten tries in five minutes.
  4. Deleting is deleting. Each item has its own key. Destroying the key erases the item, even if its encrypted bytes linger.

What happens when you draw a pattern

The pattern becomes a number. A slow function (PBKDF2) stretches it so a thousand wrong guesses cost real seconds. The result is mixed, with HKDF, with the Device Secret from the Secure Enclave. The mixed key unwraps the Vault's random 256-bit Master Key, and the Master Key opens the encrypted index, which holds the key for each item. If the unwrap fails, nothing opens, and the app shows an empty Vault so it cannot be told apart from a Vault with nothing in it.

The layers

LayerWhat it does
CredentialYour pattern or passphrase; the only thing you remember
Stretching (PBKDF2-HMAC-SHA512, tuned on the device)Makes each guess slow
Device Secret (Secure Enclave)Ties the data to this physical phone
Master Key (random, 256-bit)Never stored unwrapped; changing your credential does not change it
Object Keys (one per item)Encrypt each item; destroyed on delete
AES-256-GCMEncrypts and authenticates every item, thumbnail and the index
16 fixed slotsVaults live in identical-size records; in the app's files, used and unused look alike
iOS file protection, excluded from backupsFiles unreadable while the phone is locked; not copied to iCloud or computers

What protects against what

SituationResult
Someone copies the app's files to a computerThey get ciphertext and no way to the Device Secret
Someone finds the phone locked and tries to guess your patternAfter ten tries in five minutes each further try waits longer, from 30 seconds up to an hour; a daily budget limits slow guessing too
Someone sees you draw the patternThey can open your Vault. Use a passphrase if this matters
Someone forces you to unlockWith Pro, a Decoy Vault shows harmless items and a Duress Vault erases the rest; without Pro, a credential that opens nothing shows an empty Vault. None of these is certain to satisfy them
Spyware is on the phoneNothing in an app can fully protect an unlocked, compromised device
You lose the phoneExport Package restores; without one the data is gone
The company is compelled to hand over dataThere is no data to hand over

What we have not done yet

No outside expert has checked the app yet, and the source code is not published. Do not read either into anything on this site until we say so. The Recovery PIN is new and is waiting for an outside check of its cryptography.

Frequently asked questions

Is StrongRoom safe?

It is built so we cannot read your files and so that copied files are useless, with limits clearly listed. No app is immune to attack.

Has an outside expert checked StrongRoom?

Not yet. We will say so here when it has.

Is it zero-knowledge?

We hold no keys and receive no data. We prefer to say "nothing leaves your phone".

Does it use the Secure Enclave?

For a secret that ties data to your phone. File encryption itself runs in the app.

Can a government get my photos from you?

We have none.

StrongRoom is a free iPhone app, coming to the App Store.

Free for iPhone. Pro is optional. What Pro changes.

Coming to the App Store. See what version 1.0 includes.