Skip to content
ARCA

Security & encryption

How Arca actually keeps photos private

Arca encrypts your library on your device. The details below describe the iPhone implementation, its limits, and the online services used separately for purchases, diagnostics, and optional link downloads.

Per-file encryption

Every photo and video gets its own random AES-256-GCM data key, via Apple's CryptoKit. Files are encrypted in 128 KiB chunks with counter nonces, and each chunk's authenticated additional data binds it to its index and to the total chunk count — so a reordered, truncated, or altered file fails to authenticate rather than decrypting to garbage.

Key derivation (Argon2id)

Your PIN runs through Argon2id from libsodium (64 MiB memory cost, 3 iterations) to derive a key-encryption key that wraps the vault master key. This makes each guess more expensive, but a short PIN still has limited entropy. Device security and keeping your PIN private also matter.

Secure Enclave biometrics

Face ID / Touch ID unlock uses Secure Enclave ECIES with the key bound to .biometryCurrentSet. Enrol a new face or fingerprint and that key is invalidated by iOS itself — the biometric path re-locks and only your PIN reopens the vault.

Encrypted thumbnails & metadata

The metadata manifest is an AES-GCM-sealed JSON blob under an HKDF subkey of the vault master key, and thumbnails are encrypted the same way as originals. Filenames, albums, dates and the grid you scroll are all ciphertext at rest — a forensic image reveals sizes and timestamps, not content.

Streaming video decrypt

Video plays through an AVAssetResourceLoaderDelegate that decrypts each range on demand as the player asks for it. Full-resolution clips are never written to disk in the clear — not to a temp file, not to a playback cache.

No automatic vault upload

Arca has no account or hosted vault library. Imported media stays encrypted on your device unless you export it or save a backup elsewhere. Online purchase validation and optional link downloads are separate services; they do not upload your existing vault.

The key path

From your PIN to your photos

  1. 1

    You enter your PIN. It is used locally to unlock the vault keys.

  2. 2

    Argon2id (memory-hard) turns the PIN into a key-encryption key (KEK).

  3. 3

    The KEK unwraps the Vault Master Key (VMK), which lives only in memory.

  4. 4

    Each file's individual AES-256 data key is unwrapped from the VMK on demand.

  5. 5

    Photos, thumbnails, and metadata are decrypted in memory as you browse — never to disk.

  6. 6

    Locking retires the vault master key. An explicitly enabled background playback session may retain only its already-open file key until that playback ends.

Promises we don't break

Security invariants

  • Internal media, thumbnails, and playback caches stay encrypted on disk. Explicit exports are outside the vault.
  • Your active PIN protects the vault keys and is not sent to our services. Failed PIN attempts may be recorded in encrypted local break-in reports.
  • Changing your PIN re-wraps the master key only — your photos are never re-encrypted or exposed.
  • Exports and backups are explicit actions you take. Arca does not automatically upload your vault library.
  • A lapsed subscription never locks you out of photos you've already imported.

The limits

What Arca does not protect against

A vault that claims to defend against everything is telling you something false. These are the cases the design above does not cover, and no amount of encryption at rest would.

Someone who knows your PIN

In PIN-only mode, someone who knows your PIN and has access to the app can unlock your vault. The optional biometric-then-PIN setting also requires device authentication. We hold no recovery key. A decoy can show a separate vault, but it cannot guarantee protection from coercion or forensic investigation.

A device compromised while the vault is open

Encryption at rest protects data at rest. While the vault is unlocked the master key is in memory and decrypted images are on screen by definition. Malware with sufficient privileges on a jailbroken or exploited device, at that moment, is outside what any app-level design can defend.

Anything you take back out

Export an original, screenshot the grid, or share a photo to another app and that copy leaves Arca's protection entirely. It lands in the Files app or the Camera Roll under normal iOS rules. Portability and containment pull in opposite directions, and we chose portability — with the tradeoff stated plainly rather than hidden.

A forgotten PIN

There is no reset. This is the direct cost of the property that makes the rest true: if we could restore your access, your photos would be readable by someone other than you. Keep a .arcavault backup, and remember the PIN.

Full disclosure

What we can and cannot see

Arca does not upload your vault library. The app still uses network services: RevenueCat and the stores validate purchases, and optional link downloads send a source URL to our download service. That service may temporarily stage the requested source media while preparing it.

The iPhone app also uses Firebase Crashlytics and Analytics and Meta app events and attribution. These integrations receive no vault media, filenames, album names, item counts, keys, or PINs. The Android build includes neither Firebase nor Meta.

Read the Privacy Policy for the technical information these services process, platform differences, and your choices.

FAQ

Security questions

What encryption does Arca use? +

AES-256-GCM for content, with a unique data key per file, counter nonces, and authenticated additional data per chunk. Keys are derived from your PIN using Argon2id (64 MiB memory cost), and the biometric path is backed by the Secure Enclave.

Can Arca (or anyone) recover my vault if I forget my PIN? +

We cannot reset your PIN or read your vault. Keep an encrypted backup and remember the PIN that protects it. Enabled biometric unlock can provide everyday access, but it is not a recovery service.

Does any photo data leave my device? +

Arca does not automatically upload your vault. Backups and exports happen when you explicitly create them; backups are encrypted before leaving the app. Optional link downloads send the requested source URL to a server and may proxy or temporarily stage that source content.

Does Arca collect any analytics? +

The iPhone app uses Firebase diagnostics and analytics plus Meta app-event and purchase attribution. The Android build includes neither SDK. Both platforms use RevenueCat for purchases. These integrations receive no vault content, PINs or encryption keys. The privacy policy explains the information they do process.

What stops someone modifying my encrypted files? +

AES-256-GCM is authenticated encryption, so any change to the ciphertext fails verification instead of decrypting to corrupted data. Each 128 KiB chunk additionally carries authenticated data binding it to its own index and the total chunk count, so removing, duplicating or reordering chunks is detected too.

What happens to my photos if I change my PIN? +

Only the wrapping changes. A PIN change re-wraps the vault master key with a newly derived key-encryption key; your media is never re-encrypted and never passes through a decrypted state on disk. That is why the operation is instant no matter how large the vault is.

What if Arca disappears tomorrow? +

You keep everything. Export originals losslessly at any time, or take the single-file encrypted .arcavault backup, which you control. A lapsed subscription never locks you out of items you already imported — that is an explicit rule in the codebase, not a current promotion.

Your photos. Truly private.

Keep your photos in an encrypted vault on your iPhone, with no Arca account or automatic vault upload.

Free to download · iPhone · iOS 18+