Home › Utilities
Information
Preview 1 platform
iPhone 7 images
What’s New Version 2.0
AgePony 2.0 adds signing.
Sign files with an in-app SSH key, a Secure Enclave key, or an external security key (YubiKey, Token2) over NFC, including PIN-protected keys
Signatures are standard SSHSIG, verifiable anywhere with ssh-keygen
Verify signatures from other people right in the app
Encrypt several files at once, bundled into a single .age
AgePony is now fully open source at github.com/norsehorse-dev/AgePonyiOS. Plus reliability and polish throughout.
Description
Modern file encryption and signing for iPhone, built on the age protocol. AgePony makes it simple to encrypt anything to anyone, and to sign files so others can verify they came from you. No accounts, no servers, no key management headaches.
ENCRYPT TO ANYONE
Anyone's GitHub username — AgePony fetches their published SSH keys
Any age public key (X25519)
Any SSH public key (ed25519 or RSA)
A passphrase, when you don't need recipient keys at all
SIGN FILES
New in 2.0. Produce a detached signature that proves a file came from you and hasn't been altered. Anyone can verify it, no AgePony required.
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
Signatures are standard SSHSIG, the same format as ssh-keygen -Y sign, verifiable on any machine with OpenSSH
Verify signatures from other people right inside the app
BUILT ON AGE
AgePony is a clean-room implementation of the age v1 file format — the modern alternative to PGP that's quietly become a standard across the developer security community. X25519 elliptic-curve key agreement, ChaCha20-Poly1305 authenticated encryption, scrypt for passphrase-protected files. Bit-perfect compatibility with the reference age CLI: encrypt on your phone, decrypt on your laptop, and vice versa.
ENCRYPTED NOTES
Per-note passphrase-locked notes for the secrets that never need to leave your device — recovery phrases, API keys, server credentials, dead-drop messages to yourself. Each note has its own passphrase, stretched through scrypt before becoming the wrapping key. Forget the passphrase and the body is permanently inaccessible. That's the point.
EVERY KIND OF DATA
Files: encrypt anything from the Files app
Bundles: pick several files at once and AgePony packs them into one .age
Text: armored age blocks for paste-into-email use
Photos: import via the Files picker into the Files tab
.age files: tap "Open in AgePony" from the Files app for direct decryption
LOCAL-FIRST, ZERO BACKEND
No account creation. No cloud sync. No telemetry. No analytics. No advertising. No third-party SDKs. Every byte of your vault stays on your device, encrypted at rest with a master key in iOS Keychain that's unlocked by Face ID or Touch ID. The only network request AgePony makes is fetching a GitHub user's public keys — and only when you explicitly ask for it.
BUILT FOR THE DEVELOPER SECURITY COMMUNITY
Simple enough for anyone. If you've ever wished PGP were simpler, age is the answer, and AgePony is age on your phone. If you've ever wanted to send a developer a quick encrypted file without coordinating keys ahead of time, GitHub usernames make that possible in one tap. The interface is opinionated and minimal: a tab for files, a tab for notes, a tab for text, a tab for your identities, a tab for settings. That's the whole app.
OPEN SOURCE
AgePony is open source under the Apache 2.0 license. Read every line at github.com/norsehorse-dev/AgePonyiOS.
COMPATIBILITY
Works with any age v1 implementation (FiloSottile/age in Go, str4d/rage in Rust, and more)
All standard age recipients (X25519)
SSH-ed25519 and SSH-RSA public keys
Reads and writes both binary and PEM-armored age files
Detached signatures use SSHSIG, verifiable with OpenSSH ssh-keygen -Y verify
Signs with SSH, Secure Enclave, or FIDO security keys (sk-ssh-ed25519 and sk-ecdsa-sha2-nistp256)
Requires iPhone with iOS 18 or later
Optimized for iPhone
PRIVACY
AgePony collects nothing. There is no server. Your data never leaves your device unless you explicitly export it. Full policy at agepony.com/privacy.
SUPPORT
Documentation, FAQ, and contact: agepony.com/support
Email: NorseHorse@norsehor.se
Built quietly in Alabama by NorseHorse. Sibling to PGPony, which does the same kind of thing for OpenPGP keys.
Accessibility
ipadiphonemacrealityDevicetvoswatch
Version history 3 versions
Build 887170752v2.02026-06-19 15:13:02
AgePony 2.0 adds signing.
Sign files with an in-app SSH key, a Secure Enclave key, or an external security key (YubiKey, Token2) over NFC, including PIN-protected keys
Signatures are standard SSHSIG, verifiable anywhere with ssh-keygen
Verify signatures from other people right in the app
Encrypt several files at once, bundled into a single .age
AgePony is now fully open source at github.com/norsehorse-dev/AgePonyiOS. Plus reliability and polish throughout.
Build 886935982v1.12026-06-14 16:58:45
New in this version:
- A quick walkthrough now greets you the first time you open AgePony and shows you around each part of the app. You can replay it anytime from Settings.
- You can now rate AgePony or send feedback straight from the Settings screen.
- Small refinements and polish throughout.
Thanks for using AgePony.
Build 886309395v1.02026-06-03 06:21:31
No pricing data captured yet — comparisons appear once the app has paid storefronts or in-app purchases.
Availability 174 of 175 storefronts
| Region | Language | Price | Ratings | Avg | Version |
|---|---|---|---|---|---|
AE | en-GB | Free | 0 | — | 2.0 |
AF | en-GB | Free | 0 | — | 2.0 |
AG | en-GB | Free | 0 | — | 2.0 |
AI | en-GB | Free | 0 | — | 2.0 |
AL | en-GB | Free | 0 | — | 2.0 |
AM | en-GB | Free | 0 | — | 2.0 |
AO | en-GB | Free | 0 | — | 2.0 |
AR | es-MX | Free | 0 | — | 2.0 |
AT | de-DE | Free | 0 | — | 2.0 |
AU | en-AU | Free | 0 | — | 2.0 |
AZ | en-GB | Free | 0 | — | 2.0 |
BA | en-GB | Free | 0 | — | 2.0 |
BB | en-GB | Free | 0 | — | 2.0 |
BE | en-GB | Free | 0 | — | 2.0 |
BF | en-GB | Free | 0 | — | 2.0 |
BG | en-GB | Free | 0 | — | 2.0 |
BH | en-GB | Free | 0 | — | 2.0 |
BJ | en-GB | Free | 0 | — | 2.0 |
BM | en-GB | Free | 0 | — | 2.0 |
BN | en-GB | Free | 0 | — | 2.0 |
BO | es-MX | Free | 0 | — | 2.0 |
BR | pt-BR | Free | 0 | — | 2.0 |
BS | en-GB | Free | 0 | — | 2.0 |
BT | en-GB | Free | 0 | — | 2.0 |
BW | en-GB | Free | 0 | — | 2.0 |
BY | en-GB | Free | 0 | — | 2.0 |
BZ | en-GB | Free | 0 | — | 2.0 |
CA | en-CA | Free | 0 | — | 2.0 |
CD | en-GB | Free | 0 | — | 2.0 |
CG | en-GB | Free | 0 | — | 2.0 |
CH | de-CH | Free | 0 | — | 2.0 |
CI | fr-FR | Free | 0 | — | 2.0 |
CL | es-MX | Free | 0 | — | 2.0 |
CM | fr-FR | Free | 0 | — | 2.0 |
CN | zh-Hans-CN | Free | 0 | — | 2.0 |
CO | es-MX | Free | 0 | — | 2.0 |
CR | es-MX | Free | 0 | — | 2.0 |
CV | en-GB | Free | 0 | — | 2.0 |
CY | en-GB | Free | 0 | — | 2.0 |
CZ | en-GB | Free | 0 | — | 2.0 |
DE | de-DE | Free | 0 | — | 2.0 |
DK | en-GB | Free | 0 | — | 2.0 |
DM | en-GB | Free | 0 | — | 2.0 |
DO | es-MX | Free | 0 | — | 2.0 |
DZ | en-GB | Free | 0 | — | 2.0 |
EC | es-MX | Free | 0 | — | 2.0 |
EE | en-GB | Free | 0 | — | 2.0 |
EG | en-GB | Free | 0 | — | 2.0 |
ES | es-ES | Free | 0 | — | 2.0 |
FI | en-GB | Free | 0 | — | 2.0 |
FJ | en-GB | Free | 0 | — | 2.0 |
FM | en-GB | Free | 0 | — | 2.0 |
GA | fr-FR | Free | 0 | — | 2.0 |
GB | en-GB | Free | 0 | — | 2.0 |
GD | en-GB | Free | 0 | — | 2.0 |
GE | en-GB | Free | 0 | — | 2.0 |
GH | en-GB | Free | 0 | — | 2.0 |
GM | en-GB | Free | 0 | — | 2.0 |
GR | en-GB | Free | 0 | — | 2.0 |
GT | es-MX | Free | 0 | — | 2.0 |
GW | en-GB | Free | 0 | — | 2.0 |
GY | en-GB | Free | 0 | — | 2.0 |
HK | zh-Hant-HK | Free | 0 | — | 2.0 |
HN | es-MX | Free | 0 | — | 2.0 |
HR | en-GB | Free | 0 | — | 2.0 |
HU | en-GB | Free | 0 | — | 2.0 |
ID | en-GB | Free | 0 | — | 2.0 |
IE | en-GB | Free | 0 | — | 2.0 |
IL | en-GB | Free | 0 | — | 2.0 |
IN | en-GB | Free | 0 | — | 2.0 |
IQ | en-GB | Free | 0 | — | 2.0 |
IS | en-GB | Free | 0 | — | 2.0 |
IT | it | Free | 0 | — | 2.0 |
JM | en-GB | Free | 0 | — | 2.0 |
JO | en-GB | Free | 0 | — | 2.0 |
JP | ja | Free | 0 | — | 2.0 |
KE | en-GB | Free | 0 | — | 2.0 |
KG | en-GB | Free | 0 | — | 2.0 |
KH | en-GB | Free | 0 | — | 2.0 |
KN | en-GB | Free | 0 | — | 2.0 |
KR | ko | Free | 0 | — | 2.0 |
KW | en-GB | Free | 0 | — | 2.0 |
KY | en-GB | Free | 0 | — | 2.0 |
KZ | en-GB | Free | 0 | — | 2.0 |
LA | en-GB | Free | 0 | — | 2.0 |
LB | en-GB | Free | 0 | — | 2.0 |
LC | en-GB | Free | 0 | — | 2.0 |
LK | en-GB | Free | 0 | — | 2.0 |
LR | en-GB | Free | 0 | — | 2.0 |
LT | en-GB | Free | 0 | — | 2.0 |
LU | en-GB | Free | 0 | — | 2.0 |
LV | en-GB | Free | 0 | — | 2.0 |
LY | en-GB | Free | 0 | — | 2.0 |
MA | en-GB | Free | 0 | — | 2.0 |
MD | en-GB | Free | 0 | — | 2.0 |
ME | en-GB | Free | 0 | — | 2.0 |
MG | en-GB | Free | 0 | — | 2.0 |
MK | en-GB | Free | 0 | — | 2.0 |
ML | en-GB | Free | 0 | — | 2.0 |
MM | en-GB | Free | 0 | — | 2.0 |
MN | en-GB | Free | 0 | — | 2.0 |
MO | zh-Hant-HK | Free | 0 | — | 2.0 |
MR | en-GB | Free | 0 | — | 2.0 |
MS | en-GB | Free | 0 | — | 2.0 |
MT | en-GB | Free | 0 | — | 2.0 |
MU | en-GB | Free | 0 | — | 2.0 |
MV | en-GB | Free | 0 | — | 2.0 |
MW | en-GB | Free | 0 | — | 2.0 |
MX | es-MX | Free | 0 | — | 2.0 |
MY | en-GB | Free | 0 | — | 2.0 |
MZ | en-GB | Free | 0 | — | 2.0 |
NA | en-GB | Free | 0 | — | 2.0 |
NE | en-GB | Free | 0 | — | 2.0 |
NG | en-GB | Free | 0 | — | 2.0 |
NI | es-MX | Free | 0 | — | 2.0 |
NL | nl | Free | 0 | — | 2.0 |
NO | en-GB | Free | 0 | — | 2.0 |
NP | en-GB | Free | 0 | — | 2.0 |
NR | en-GB | Free | 0 | — | 2.0 |
NZ | en-AU | Free | 0 | — | 2.0 |
OM | en-GB | Free | 0 | — | 2.0 |
PA | es-MX | Free | 0 | — | 2.0 |
PE | es-MX | Free | 0 | — | 2.0 |
PG | en-GB | Free | 0 | — | 2.0 |
PH | en-GB | Free | 0 | — | 2.0 |
PK | en-GB | Free | 0 | — | 2.0 |
PL | en-GB | Free | 0 | — | 2.0 |
PT | pt-PT | Free | 0 | — | 2.0 |
PW | en-GB | Free | 0 | — | 2.0 |
PY | es-MX | Free | 0 | — | 2.0 |
QA | en-GB | Free | 0 | — | 2.0 |
RO | en-GB | Free | 0 | — | 2.0 |
RS | en-GB | Free | 0 | — | 2.0 |
RU | ru | Free | 0 | — | 2.0 |
RW | en-GB | Free | 0 | — | 2.0 |
SA | en-GB | Free | 0 | — | 2.0 |
SB | en-GB | Free | 0 | — | 2.0 |
SC | en-GB | Free | 0 | — | 2.0 |
SE | sv | Free | 0 | — | 2.0 |
SG | en-GB | Free | 0 | — | 2.0 |
SI | en-GB | Free | 0 | — | 2.0 |
SK | en-GB | Free | 0 | — | 2.0 |
SL | en-GB | Free | 0 | — | 2.0 |
SN | en-GB | Free | 0 | — | 2.0 |
SR | en-GB | Free | 0 | — | 2.0 |
ST | en-GB | Free | 0 | — | 2.0 |
SV | es-MX | Free | 0 | — | 2.0 |
SZ | en-GB | Free | 0 | — | 2.0 |
TC | en-GB | Free | 0 | — | 2.0 |
TD | en-GB | Free | 0 | — | 2.0 |
TH | en-GB | Free | 0 | — | 2.0 |
TJ | en-GB | Free | 0 | — | 2.0 |
TM | en-GB | Free | 0 | — | 2.0 |
TN | en-GB | Free | 0 | — | 2.0 |
TO | en-GB | Free | 0 | — | 2.0 |
TR | en-GB | Free | 0 | — | 2.0 |
TT | en-GB | Free | 0 | — | 2.0 |
TW | zh-Hant-TW | Free | 0 | — | 2.0 |
TZ | en-GB | Free | 0 | — | 2.0 |
UA | en-GB | Free | 0 | — | 2.0 |
UG | en-GB | Free | 0 | — | 2.0 |
US | en-US | Free | 0 | — | 2.0 |
UY | en-GB | Free | 0 | — | 2.0 |
UZ | en-GB | Free | 0 | — | 2.0 |
VC | en-GB | Free | 0 | — | 2.0 |
VE | es-MX | Free | 0 | — | 2.0 |
VG | en-GB | Free | 0 | — | 2.0 |
VN | en-GB | Free | 0 | — | 2.0 |
VU | en-GB | Free | 0 | — | 2.0 |
XK | en-GB | Free | 0 | — | 2.0 |
YE | en-GB | Free | 0 | — | 2.0 |
ZA | en-GB | Free | 0 | — | 2.0 |
ZM | en-GB | Free | 0 | — | 2.0 |
ZW | en-GB | Free | 0 | — | 2.0 |
Not available in: FR
Change log 6 changes · DO
✎
releaseNotes updated
AgePony 2.0 adds signing.
Sign files with an in-app SSH key, a Secure Enclave key, or an external security key (YubiKey, Token2) over NFC, including PIN-protec
✎
description updated
Modern file encryption and signing for iPhone, built on the age protocol. AgePony makes it simple to encrypt anything to anyone, and to sign files so others can
✎
name updated
AgePony
◆
Version 2.0 released
AgePony 2.0 adds signing.
Sign files with an in-app SSH key, a Secure Enclave key, or an external security key (YubiKey, Token2) over NFC, including PIN-protected keys
Signatures are standard SSHSIG, verifiable anywhere with ssh-keygen
Ver
◆
Version 1.1 released
New in this version:
- A quick walkthrough now greets you the first time you open AgePony and shows you around each part of the app. You can replay it anytime from Settings.
- You can now rate AgePony or send feedback straight from the Se
◆
Version 1.0 released
AEen-GB
AFen-GB
AGen-GB
AIen-GB
ALen-GB
AMen-GB
AOen-GB
ARes-MX
ATde-DE
AUen-AU
AZen-GB
BAen-GB
BBen-GB
BEen-GB
BFen-GB
BGen-GB
BHen-GB
BJen-GB
BMen-GB
BNen-GB
BOes-MX
BRpt-BR
BSen-GB
BTen-GB
BWen-GB
BYen-GB
BZen-GB
CAen-CA
CDen-GB
CGen-GB
CHde-CH
CIfr-FR
CLes-MX
CMfr-FR
CNzh-Hans-CN
COes-MX
CRes-MX
CVen-GB
CYen-GB
CZen-GB
DEde-DE
DKen-GB
DMen-GB
DZen-GB
ECes-MX
EEen-GB
EGen-GB
ESes-ES
FIen-GB
FJen-GB
FMen-GB
GAfr-FR
GBen-GB
GDen-GB
GEen-GB
GHen-GB
GMen-GB
GRen-GB
GTes-MX
GWen-GB
GYen-GB
HKzh-Hant-HK
HNes-MX
HRen-GB
HUen-GB
IDen-GB
IEen-GB
ILen-GB
INen-GB
IQen-GB
ISen-GB
ITit
JMen-GB
JOen-GB
JPja
KEen-GB
KGen-GB
KHen-GB
KNen-GB
KRko
KWen-GB
KYen-GB
KZen-GB
LAen-GB
LBen-GB
LCen-GB
LKen-GB
LRen-GB
LTen-GB
LUen-GB
LVen-GB
LYen-GB
MAen-GB
MDen-GB
MEen-GB
MGen-GB
MKen-GB
MLen-GB
MMen-GB
MNen-GB
MOzh-Hant-HK
MRen-GB
MSen-GB
MTen-GB
MUen-GB
MVen-GB
MWen-GB
MXes-MX
MYen-GB
MZen-GB
NAen-GB
NEen-GB
NGen-GB
NIes-MX
NLnl
NOen-GB
NPen-GB
NRen-GB
NZen-AU
OMen-GB
PAes-MX
PEes-MX
PGen-GB
PHen-GB
PKen-GB
PLen-GB
PTpt-PT
PWen-GB
PYes-MX
QAen-GB
ROen-GB
RSen-GB
RUru
RWen-GB
SAen-GB
SBen-GB
SCen-GB
SEsv
SGen-GB
SIen-GB
SKen-GB
SLen-GB
SNen-GB
SRen-GB
STen-GB
SVes-MX
SZen-GB
TCen-GB
TDen-GB
THen-GB
TJen-GB
TMen-GB
TNen-GB
TOen-GB
TRen-GB
TTen-GB
TWzh-Hant-TW
TZen-GB
UAen-GB
UGen-GB
USen-US
UYen-GB
UZen-GB
VCen-GB
VEes-MX
VGen-GB
VNen-GB
VUen-GB
XKen-GB
YEen-GB
ZAen-GB
ZMen-GB
ZWen-GB
FRNot Available