Modern file encryption and signing for iPhone, built on the age protocol
Modern file encryption and signing for iPhone, built on the age protocol. Encrypt anything to anyone, sign files so others can verify they came from you, and keep every byte on your device. No accounts, no servers, no key-management headaches. POST-QUANTUM Hybrid ML-KEM-768 + X25519 recipients, so a file captured today stays private even if X25519 falls to a quantum computer years from now. Interoperable with the age CLI 1.3 and newer. Files already on a classical key? The re-encrypt tool moves them across. ANY SIZE Encrypt, decrypt, sign and verify files of any size. Nothing is held in memory, so a 1 GB video behaves like a text file. ENCRYPT TO ANYONE - Anyone's GitHub username. AgePony fetches their published SSH keys - Any age public key, classical (X25519) or post-quantum - Any SSH public key (ed25519 or RSA) - A passphrase, when you don't need recipient keys at all SIGN FILES Prove a file came from you and hasn't been altered. Sign on its own, producing a detached signature anyone can check without AgePony. Or sign and encrypt in one step, sealing the signature inside the file so the ciphertext never reveals who sent it. Signatures are verified automatically as a file decrypts. - Sign with an in-app SSH key (ed25519 or RSA) - Sign with a Secure Enclave key, generated in hardware and never exportable - Sign with an external security key over NFC: tap a YubiKey or Token2, including keys protected by a FIDO PIN - Standard SSHSIG, the ssh-keygen -Y sign format, verifiable anywhere OpenSSH runs - Verify signatures from other people right inside the app BUILT ON AGE A clean-room implementation of the age v1 file format, the modern alternative to PGP. X25519 key agreement, ChaCha20-Poly1305 authenticated encryption, scrypt for passphrase-protected files. Bit-perfect with the reference age CLI: encrypt on your phone, decrypt on your laptop, and back again. ENCRYPTED NOTES Passphrase-locked notes for secrets that never need to leave your device: recovery phrases, API keys, server credentials. Each note has its own passphrase, stretched through scrypt into its wrapping key. Forget it and the body is gone for good. That is the point. EVERY KIND OF DATA - Files: encrypt anything from the Files app - Several at once: one archive, or one encrypted file each, your choice - Text: armored age blocks for paste-into-email use - Inspect: see what any age file is encrypted to, without decrypting it - .age files: tap "Open in AgePony" from the Files app LOCAL-FIRST, ZERO BACKEND No accounts. No cloud sync. No telemetry. No analytics. No advertising. No third-party SDKs. Your vault stays on your device, encrypted at rest with a master key in the iOS Keychain that Face ID or Touch ID unlocks. The only network request AgePony ever makes is fetching a GitHub user's public keys, when you ask. FOR THE DEVELOPER SECURITY COMMUNITY If you have ever wished PGP were simpler, age is the answer and AgePony is age on your phone. Sending someone an encrypted file without coordinating keys first takes one tap and their GitHub username. The interface is deliberately minimal: files, notes, text, identities, settings. That is the whole app. OPEN SOURCE Apache 2.0. Every line at github.com/norsehorse-dev/AgePonyiOS. COMPATIBILITY - Any age v1 implementation (FiloSottile/age, str4d/rage, and more) - Post-quantum recipients need age CLI 1.3 or newer - SSH-ed25519 and SSH-RSA public keys - Reads and writes both binary and PEM-armored age files - Detached signatures verify with ssh-keygen -Y verify - Signs with SSH, Secure Enclave, or FIDO keys (sk-ssh-ed25519, sk-ecdsa-sha2-nistp256) - Requires iPhone with iOS 18.6 or later PRIVACY AgePony collects nothing and there is no server. Your data never leaves your device unless you export it. Policy: agepony.com/privacy. SUPPORT Documentation, FAQ, and contact: agepony.com/support Email: [email protected] Built quietly in Alabama by NorseHorse. Sibling to PGPony, the same idea for OpenPGP keys.