How to encrypt a file to a GitHub username.

GitHub publishes every user's SSH public keys at a predictable URL. AgePony can fetch them by username and encrypt to them, so you can send a developer an encrypted file knowing nothing but their handle.

~2 minutes iOS / Android Recipient on GitHub
// at a glance
  1. Open AgePony, choose Encrypt
  2. Enter the GitHub username
  3. AgePony fetches their public keys
  4. Pick the file
  5. Encrypt and share
Prerequisites
  • AgePony installed
  • The recipient has at least one SSH key on their GitHub profile
  • Network access to fetch the keys
// step 01

Confirm the recipient has SSH keys on GitHub.

Visit github.com/their-username.keys in a browser. If you see one or more ssh-ed25519 or ssh-rsa lines, they can receive encrypted files this way.

// step 02

Open AgePony and choose Encrypt.

Start the Encrypt flow and choose the option to add a recipient by GitHub username.

// step 03

Enter the username.

Type the GitHub handle. AgePony fetches the published keys from GitHub and adds them as recipients. If the account has multiple keys, the file is encrypted so any of them can decrypt.

// step 04

Pick the file and encrypt.

Select your file, choose armored or binary output, and tap Encrypt.

// step 05

Share the .age file.

Send the encrypted file to the recipient. They decrypt it with the SSH private key matching any key on their GitHub profile.

Verify it worked.

  • AgePony lists the fetched key fingerprints before encrypting.
  • The recipient decrypts with one of their GitHub-listed SSH keys.
  • Output is a standard .age file.

Common questions.

What if they have several keys?

AgePony encrypts so that any of their listed keys can decrypt. They only need the private key for one of them.

Is fetching keys from GitHub private?

AgePony requests the public keys URL, which is already public. No GitHub login is involved.

What if they have no keys uploaded?

Then this method will not work. Ask them for an SSH or age public key directly instead.

Does this work for GitLab or others?

This guide covers GitHub's keys endpoint. For other hosts, obtain the SSH public key and follow the encrypt-to-SSH-key guide.

Next steps.

Get AgePony

Free file encryption for iOS and Android. No accounts, no tracking, no servers.