OwnSafe — Security Overview

This document explains, in plain terms, how OwnSafe protects your data. It is written to be honest about both what we do and what we deliberately don't do. If you find an error or want to report a vulnerability, see “Reporting a problem” at the end.

Philosophy

OwnSafe aims for consumer-grade security — the same tier as trusted password managers such as 1Password or Bitwarden. It is built to defend a personal wallet app against realistic, everyday threats. It does not claim to be unbreakable, and it does not try to defend against nation-state adversaries with physical access to your unlocked device. We think honesty about scope is part of good security.

We never invent our own cryptography. All encryption uses Apple's audited CryptoKit and platform primitives.

Key hierarchy

Your data is protected by a layered set of keys, so that your secret master credential is the only thing that can ultimately unlock the vault, and it is never stored anywhere:

  1. Master credential — a password or PIN you choose. It is never written to disk, never synced, and never sent anywhere.
  2. Master key — derived from your master credential with PBKDF2-HMAC-SHA256 (600,000 iterations, a random 128-bit per-vault salt). The high iteration count makes brute-forcing deliberately slow.
  3. Data Encryption Key (DEK) — a random 256-bit key that actually encrypts your card fields. The DEK is wrapped (encrypted) with the master key using AES-GCM-256 and stored only in wrapped form.
  4. Card field values — encrypted with the DEK using AES-GCM-256.

Because the DEK is wrapped by a key derived from your master credential, nobody can decrypt your cards without that credential — not an attacker with your device, your iCloud backup, or your synced data, and not Apple, and not us.

What is encrypted, and what is not

Encrypted at rest (AES-GCM-256, only readable with your master credential):

  • All card field values: PINs, security codes, card numbers, passwords, account numbers, barcode values, notes, and any custom fields.
  • All card image attachments (photos you add to a card), stored as a separate encrypted blob so images aren't loaded into memory unless needed.
  • Encrypted backup files (see “Backups”).

Stored as searchable metadata in the clear (a conscious, disclosed trade-off so the app can search and list quickly):

  • Card titles, tags, category assignment, favorite/sort flags, and timestamps.

We recommend you avoid putting secrets in a card's title. Everything sensitive belongs in fields, which are always encrypted. This mirrors how comparable password managers treat item titles.

Where your data lives

  • On your device: card data is stored locally in an app database; field and image values are encrypted blobs. The wrapped DEK lives in the system Keychain.
  • iCloud sync (optional, automatic with iCloud): card records sync through your private CloudKit database. Because the sensitive values are already encrypted with your DEK before they sync, the sync is end-to-end encrypted — Apple's servers only ever hold ciphertext for those fields.
  • Sharing the key across your devices: the wrapped DEK bundle (salt + AES-GCM-wrapped DEK + key-derivation parameters) syncs through iCloud Keychain. A new device reads that bundle, asks for your master credential, and unwraps the same DEK — so cards encrypted on one device open on another. The biometric-protected copy of the DEK never leaves the device it was created on.

There are no OwnSafe accounts and no OwnSafe servers. We operate no backend; your data flows only between your devices and your own iCloud.

Unlocking and biometrics

Day to day you unlock with Face ID / Touch ID. The DEK can be cached in the Keychain behind biometric access control so unlocking is instant. Your master credential is required when biometrics aren't available and when setting up a new device. The vault auto-locks shortly after the app goes to the background, and sensitive screens are hidden in the app switcher.

On a device without biometrics (for example a Mac without Touch ID) you simply enter your master credential each time; this fails safe and re-caches automatically once you unlock on a biometric-capable device.

Backups

You can export an encrypted backup file (.ownsafebackup) and restore it later or on another device. A backup is encrypted with a key derived from your master credential and a fresh random salt stored inside the file (AES-GCM-256). The file contains no readable data and cannot be opened without your master credential. It carries its own key-derivation parameters, so future changes to those parameters won't break restoring an older backup. You choose where the file goes (Files, Messages, Mail, etc.); OwnSafe never uploads it anywhere.

Apple Watch

The optional Apple Watch companion shows only what you explicitly opt in per card: its security codes and its loyalty barcode. Card numbers, names, images, and notes are never sent to the watch. The reduced snapshot is transferred over Apple's encrypted device channel and stored encrypted at rest on the watch with a 256-bit key kept only in the watch's own Keychain (device-only, readable only while the watch is unlocked). The watch never receives your DEK or master credential, and relies on wrist detection plus the watch passcode — the same model Apple Pay uses.

Scanning

The card scanner runs entirely on-device using Apple's Vision framework. The camera image is processed locally to read text or a barcode and is never uploaded or stored anywhere.

No tracking

OwnSafe contains no analytics, no advertising, no third-party SDKs, and no tracking. It does not profile you and shows no ads, ever. It is a one-time purchase with no subscription.

Threat model — honest scope

We defend against:

  • Device theft or loss — encryption at rest, biometric lock, fast auto-lock.
  • Casual snooping on a briefly unattended device — auto-lock and app-switcher hiding.
  • iCloud / backup exposure — end-to-end encryption means stored card values are ciphertext to Apple.
  • Ordinary malware — standard Keychain protection and OS sandboxing.

We do not claim to defend against:

  • A targeted, well-resourced attacker with physical access to your unlocked device.
  • Compromised (jailbroken) devices — we don't hard-block them, but the OS security guarantees no longer hold.
  • Side-channel attacks or future cryptographic breaks (e.g. large-scale quantum computers). We'll revisit these if and when they become realistic.

Resetting and deleting data

“Reset vault” removes the master credential and encryption key, after which stored cards can no longer be decrypted — a deliberate, irreversible action so you can start over or hand on a device safely.

Reporting a problem

If you believe you've found a security issue, please get in touch through the OwnSafe support page at rauta.eu rather than filing it publicly, so it can be addressed before disclosure. Responsible reports are genuinely appreciated.