Bank-level AES-256-GCM encryption protects your sensitive data. Your collection details, serial numbers, and documents stay completely private.
Military-grade AES-256 encryption in Galois/Counter Mode. All sensitive fields encrypted at rest including serial numbers, notes, lot numbers, and tax stamp numbers. Each encrypted field gets a unique initialization vector.
310,000 iterations with SHA-256 (OWASP 2023 recommendation). Your 6-digit PIN is never storedβonly used to derive encryption keys. Makes brute force attacks computationally infeasible.
Encryption keys stored in iOS Keychain with kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly. Hardware-backed by Secure Enclave. Keys never leave your device.
Face ID, Touch ID, or Optic ID for quick access. Falls back to device passcode. Your biometric data never leaves your device and isn't stored by ArmoryHub.
Industry-standard 6-digit PIN (1 million combinations). Required for encryption setup. Works alongside biometrics or as standalone authentication.
Configure when the app locks after backgrounding: Immediately, 30 seconds, 1 minute, 5 minutes. 'Never' option available for PIN-only mode but automatically disabled when encryption is enabled (forces periodic key clearing for security).
When encryption is enabled, a flag syncs via iCloud (if enabled) to notify other devices that encryption is required. Prevents encrypted data from syncing to devices that haven't imported the encryption key via QR code.
Mission-critical feature. Displays all firearm values at exactly 50% of actual value. 'Honey, this $2,000 rifle was only $1,000!' No app lock required. Plausible deniability built-in.
Choose the security level that fits your needs. From no protection to full encryption, ArmoryHub adapts to your threat model.
App remains unlocked. Data syncs unencrypted to iCloud (if enabled). Suitable for low-risk environments where convenience is priority.
Face ID or Touch ID required to unlock app. No encryptionβdata remains readable in database and iCloud (if enabled). Prevents casual access to your device.
6-digit PIN locks the app UI. Data remains in plaintext on device and in iCloud (if enabled). Protects against casual access but not forensic analysis.
6-digit PIN required AND data encryption enabled. 256-bit master key generated and encrypted with PIN. All sensitive fields encrypted with AES-256-GCM. Database and iCloud backups (if enabled) contain encrypted blobs only.
Two-factor authentication. Face ID/Touch ID unlocks access to PIN entry page. Both required for access. Full encryption enabled. Maximum security with convenience.
Maximum security. Biometrics + PIN with encryption enabled. iCloud sync completely disabled. Data never leaves your device. For highest threat models.
When you set up your PIN, a cryptographically secure random salt (32 bytes) is generated using SecRandomCopyBytes. Your PIN is hashed using PBKDF2-SHA256 (310,000 iterations) and stored in iOS Keychainβnever in plaintext. NO master key is generated yet.
When you enable encryption, a new 256-bit master key is generated using SymmetricKey(size: .bits256). This key is then encrypted with a PIN-derived key (PBKDF2, 310,000 iterations) and stored in iOS Keychain with device-only protection. The encrypted master key never leaves your device.
All cryptographic material (PIN hash, salts, encrypted master key) is stored in iOS Keychain with kSecAttrAccessibleWhenUnlockedThisDeviceOnly and kSecAttrSynchronizable=false. Hardware-backed by Secure Enclave. Keys never sync to iCloud Keychain.
Each data field is encrypted using AES-256 in Galois/Counter Mode with automatic nonce generation. GCM provides authenticated encryption preventing tampering. Encrypted data is stored as Base64 in Core Data.
When the app backgrounds, a state machine prevents race conditions by ensuring only one encryption/decryption operation runs at a time. Data is encrypted atomically with rollback on failure. Master key is cleared from memory after encryption completes.
Document files and photos are encrypted as binary data, rendering them completely unreadable without your encryption key. File names, titles, and metadata text fields are also encrypted.
All text/string fields are encrypted when Data Encryption is enabled (separate from PIN). PIN alone provides app lock only. Dates and numeric values (like prices, quantities, and counts) are not encrypted due to Core Data type constraintsβencrypting them would require converting to string types.
Without your PIN, encrypted data is computationally impossible to decrypt. Attacker would need to try 1 million PIN combinations Γ 310,000 PBKDF2 iterations per attempt = billions of years on modern hardware.
Without your PIN, encrypted data is mathematically secure. The encryption key is derived from your PIN using 310,000 PBKDF2 iterations, making brute-force attacks computationally infeasible.
If Apple's iCloud (if enabled) is compromised, your encryption keys never sync to the cloud. Attackers would only see encrypted data blobs without the keys to decrypt them.
Keychain data is hardware-protected by Secure Enclave. Even with root access, extraction is extremely difficult. Master key is only in memory when app is unlocked.
Encrypted data stored in Core Data. Without PIN, forensic tools cannot decrypt. Properly implemented AES-256-GCM is approved for TOP SECRET data by NSA.
When encryption is enabled and the app is unlocked, data is decrypted in memory for app use. This decrypted data continuously syncs to iCloud (if enabled) in plaintext while you're actively using the app.
When you close/background the app, all sensitive data is automatically re-encrypted. The encrypted data then syncs to iCloud (if enabled), replacing the plaintext version. Without your encryption key, this data is useless.
Your encryption keys are never stored in iCloud. They stay in your device's Keychain only. If you lose your device with encryption enabled, your encrypted data cannot be recovered from iCloud (if enabled).
If encryption is enabled with iCloud sync, additional devices must transfer encryption keys using in-app generated QR codes. Keys are never stored in iCloud or transmitted over the internet. QR code transfer is completely offline between your devices.
β οΈ LOSE YOUR DEVICE + ENCRYPTION KEY = PERMANENT DATA LOSS β οΈ
Keep backup devices with encryption keys synced via QR code, or disable iCloud sync for maximum security
User flows, best practices, warnings, and tips. Everything you need to know about protecting your data.
Deep dive into cryptographic choices, design decisions, and UX tradeoffs. For technical users and security researchers.
The same encryption technology that protects your banking app now protects your firearms data.