Codes in order. Time in view.
Each account is a ticket, with its service, account name, and code in place. Perforations count down, and the stub previews the next code.
Account search · Grouped digits · Tap to copy
Product
From opening the app to signing in, each small step should feel clear and effortless.
Each account is a ticket, with its service, account name, and code in place. Perforations count down, and the stub previews the next code.
Account search · Grouped digits · Tap to copy
Paste an otpauth:// link or enter a secret manually. Check the name, algorithm, and period, then preview the code before saving.
Manual entry implemented · Camera scanning awaits device testing
Open your vault with Face ID, Touch ID, or a local six-digit PIN. Set automatic locking when you leave the app, and use your recovery code if you forget your PIN.
Implemented on Apple · Biometrics await physical-device validation
Copied codes expire after 30 seconds. On iOS, content is covered in the background to keep codes out of the app switcher.
Verified on iOS · macOS clipboard validation pending
The development build supports encrypted backups, restored or imported with a recovery code. Plaintext otpauth:// export is also available after an additional confirmation.
Flow verified in iOS Simulator · macOS file selection and export await validation
UNDER THE FOLD
XChaCha20-Poly1305 encrypts account data. A shared Rust core handles cryptography and the vault file format.
Argon2id derives the PIN key, and the wrapped key stays in the local Keychain. The recovery code restores access.
Code, file specifications, and development plans are public. The project is early-stage and has no independent security audit conclusion.
WHAT COMES NEXT
These features are planned and not yet available.See release status →