Warning
This is a one-person, mostly vibe-coded fork of the established upstream Pass for iOS.
It is intended for experimental use and preparation for upstreaming (which may never happen). Use at your own risk! Consider the implications of using an unaudited, unstable fork before relying on it, and be prepared to find bugs, raise issues, and fix them yourself!
Passage is a fork of the command line program Password Store. Password store uses PGP to encrypt; Passage uses the modern age utility and is written by age's author, Filippo Valsorda.
Similarly, Passage for iOS is a friendly fork of Pass for iOS, an iOS frontend to Password Store written by Mingshen Sun. It can read and write either PGP or age-encrypted password stores.
The vast majority of Passage for iOS's code comes from Pass. My hope is that the changes here can be upstreamed to Pass for iOS at some point.
You can and should donate to support the original Pass here:
.
- Compatible with the Password Store and Passage command line tools.
- View, copy, add, and edit password entries.
- Encrypt and decrypt password entries by PGP keys or by a age identities.
- Synchronize with your password Git repository.
- User-friendly interface: search, long press to copy, copy and open link, etc.
- Support one-time password tokens (two-factor authentication codes).
- AutoFill in Safari/Chrome and supported apps.
- [PGP only] Supports YubiKey.
- [Age-only] Supports re-encrypting to multiple recipients via an .age-recipients file in the root directory. Commits modifying .age-recipients must be SSH-signed by someone already in the previous .age-recipients list.
- Install Go:
brew install go. - Run
./scripts/crypto_build.shto build the Crypto framework (includes PGP, age, and signature verification). - Open the
pass.xcodeprojfile in Xcode. - Build & Run.
MIT