Security architecture
- A random 256-bit installation secret is stored in the shared Keychain and is restricted to devices that have a device passcode.
- Each access code derives a separate, opaque workspace location and key path. Codes with leading zeroes remain distinct.
- Each workspace has a random master key. File contents are encrypted in authenticated chunks, and filenames, folders, types, dates, tags, thumbnails, and the manifest are encrypted.
- On disk, workspace and file paths use random identifiers rather than readable names.
- Imports use staging and an atomic commit so an interrupted write is not exposed as a valid file.
- Encrypted storage uses iOS Data Protection and is excluded from device and iCloud backups.
Locking and previews
Veilspace lets you choose when it locks after leaving the foreground and after inactivity while open; the defaults are immediately and one minute. Device lock, unavailable protected device data, and the Lock button always lock immediately. A privacy cover always shields the app switcher, even when a delayed lock is selected. Protected temporary preview files use random names and are deleted when the preview closes, the app leaves the foreground, or the app locks.
What Veilspace does not claim
A six-digit code has only one million possible values. An app code does not receive the same Secure Enclave-backed guess limits as the iPhone or iPad device passcode. Veilspace therefore does not claim to be unbreakable, equivalent to the system Lock Screen, or capable of guaranteed forensic deniability.
Use an optional 8–12 digit Strong Code for spaces where a longer secret is appropriate. Veilspace intentionally returns to six-digit mode after every lock so the previous mode is not displayed.
Device and account boundaries
Workspace encryption is bound to the installation and device. There is no cloud sync, encrypted backup, code recovery, migration, or way for us to reconstruct a key. If the app or device is lost, the files are lost.
Copies outside Veilspace
Importing from Photos, Files, or another app creates an encrypted copy but does not delete the original. Exporting or using Share Copy creates a decrypted copy outside Veilspace. The security of that copy depends on the destination you choose.
Responsible reporting
If you discover a vulnerability, email support@kao9.dev with the affected version, device and OS version, steps to reproduce, and potential impact. Please avoid accessing or exposing another person’s data.