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 1

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 2

Open AgePony and choose Encrypt

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

Step 3

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 4

Pick the file and encrypt

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

Step 5

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.