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
- We cannot read your files. We hold no keys and receive no data. There is no server to ask.
- 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.
- 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.
- 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
| Layer | What it does |
|---|---|
| Credential | Your 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-GCM | Encrypts and authenticates every item, thumbnail and the index |
| 16 fixed slots | Vaults live in identical-size records; in the app's files, used and unused look alike |
| iOS file protection, excluded from backups | Files unreadable while the phone is locked; not copied to iCloud or computers |
What protects against what
| Situation | Result |
|---|---|
| Someone copies the app's files to a computer | They get ciphertext and no way to the Device Secret |
| Someone finds the phone locked and tries to guess your pattern | After 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 pattern | They can open your Vault. Use a passphrase if this matters |
| Someone forces you to unlock | With 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 phone | Nothing in an app can fully protect an unlocked, compromised device |
| You lose the phone | Export Package restores; without one the data is gone |
| The company is compelled to hand over data | There 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.