Signing that keeps your name out of it.
A signature proves a file came from you. AgePony seals it inside the ciphertext, so the file that goes out proves nothing to anyone who cannot already read it.
One place to sign.
From 4.0 signing has its own tab. Pick a key, choose whether to sign alone or sign and encrypt in one pass, and manage the signers you trust, all without leaving it.
Sign on its own
Produce a detached .sig in standard SSHSIG format. Anyone with OpenSSH verifies it. Nothing about the file changes.
Sign then encrypt
One pass. The signature is sealed inside the encrypted file, so the ciphertext no longer tells an interceptor who sent it.
Trusted signers
Keep an allowed_signers list of the people you accept. Add or remove them here, and AgePony names the signer when a file checks out.
The signature travels inside the file.
A detached signature sitting next to a file is readable. Anyone who intercepts the pair can lift the signer's public key straight off it and learn who sent the file without decrypting anything. AgePony signs the plaintext, packs the payload and its signature together, and encrypts the whole thing. One file goes out. The recipient learns who signed it only once they can already read it.
- Standard SSHSIG inside. Namespace
agepony, identical tossh-keygen -Y sign. Sealing it in changes where it lives, not what it is. - Checked on the way out. Decrypt in AgePony and the signature is verified as the file streams past, with the signer matched against your identities and trusted signers.
- Detached still available. Want a separate
.siganyone can verify with plain OpenSSH? That flow is untouched. - Old pairs still open. A
.ageand.age.sigmade by AgePony 2.0 verifies exactly as it always did.
No AgePony needed on the other end. Anyone can confirm a detached signature with the tool they already have:
Sign with whatever you carry.
In-app software keys, a key born in the device's secure hardware, or an external security key you tap. All of them produce the same standard signature.
- In-app SSH keys. Generate or import
ed25519orssh-rsakeys. RSA joins ed25519 for signing in 4.0, withrsa-sha2-512signatures. - Hardware-born keys. A Secure Enclave key is generated on the device and cannot be exported. It signs without the private half ever existing in memory.
- NFC security keys. Tap a FIDO key to sign:
sk-ssh-ed25519andsk-ecdsa-sha2-nistp256, YubiKey, Token2 and others. - PIN-aware. Touch-only keys stay one tap. PIN-protected keys prompt for the FIDO2 PIN only when the key demands it.
A signature from a non-exportable Secure Enclave key can still be sealed inside the ciphertext. The private key never leaves the hardware, and the file that goes out still gives nothing away.
New to SSHSIG? The glossary entry explains the format, and the guides walk through signing step by step.
Do it yourself.
Sign a file with an SSH key
Produce a detached SSHSIG signature anyone can verify with OpenSSH.
Sign and encrypt in one step
Seal the signature inside the ciphertext so the file gives nothing away.
Sign with a security key
Tap a FIDO key over NFC to sign, touch-only or FIDO2-PIN.
Verify an SSHSIG signature
Confirm a signature on any machine with the OpenSSH you already have.
Signing is in every build.
On iPhone and Android, free, open source, no accounts.