Direct APK

The same PGPony that ships to F-Droid (the reproducible, fully open-source build, signed with the same release key) as a plain APK you download straight from this site. No Google account, no store client, works on de-Googled devices and in regions where the stores are blocked.

PGPony 4.7.1 for Android Download APK · 11.0 MB
version 4.7.1 size 11.0 MB requires Android 8.0+ released 2026-10-24

Direct installs don't auto-update. Leave an email and each new release arrives with its notes, hash, and link.

PGP-encrypt my notifications (optional)

Paste your armored public key and every release notification arrives encrypted to it. Fitting, for a PGP app. The key is checked at signup: if nothing can be encrypted to it, you'll be told immediately rather than silently receiving nothing.

The confirmation email itself is sent in the clear, so its link stays one click. Encryption begins with the first real notification.

Double opt-in: nothing is active until you click the confirmation link. The address lives on this same self-hosted server, is used only for these notifications, is never shared, and no IP is stored with it. One-click unsubscribe in every email. Prefer no email at all? Watch the releases feed, or install from F-Droid for automatic updates with the same key.

What's new in 4.7.1.
# PGPony 4.7.1 Two fixes on top of 4.7.0. 4.7.1 carries versionCode 471 and installs in place over 4.7.0. ## Opening the full text of a long message The inline result of a decrypt shows the first 4,000 characters, and Open full text shows the rest. That view laid out the whole message at once, which could take long enough on a slower phone for Android to report PGPony as not responding. It now loads the text in blocks and lays out only the ones on screen. You can select text within a block; Copy still copies the complete message. ## Signing with ECDSA keys on a security key (#102) A security key holding ECDSA keys (secp256k1, the NIST curves or brainpool) could not sign: the card returns its signature as two raw numbers, PGPony passed them on unchanged, and the OpenPGP library expects them in a different encoding, so signing failed with "exception decoding signature" after the PIN and the tap. PGPony now converts the signature, and hashes with SHA-256 on 256-bit curves, SHA-384 on 384-bit curves and SHA-512 on P-521 and brainpoolP512r1. This covers every card signature: messages, files, mail apps, certifications and expiry changes. The labels were wrong for those keys too. Key Details named every ECDH subkey X25519, and a card on one of these curves was stored as Ed25519 + Cv25519. Both now show the real curve. An entry stored with the wrong label is corrected the next time you scan the card. ## Verify this build Whole-file SHA-256 (is this download the published file): 99d36b8c6aa7ac6bbfbea0a3f03bd3ba242fa28b8e3ddaa160aba6b721d1dc45 Content hash (for rebuilders; excludes signature, see docs/REPRODUCIBLE_BUILDS_PLAYBOOK.md): b4d1a98acf62b7d1d38d8c1a047785756869c238318c79f2e0e76668764de29b The APK is signed with the NorseHorse release key (A0CBC8F65AACE56F1C5B767753F9798E4919DE62). The detached signature, the armored release key and PGPony-4.7.1-signing-keys.txt are on the GitHub release: https://github.com/norsehorse-dev/PGPonyAndroid/releases/tag/v4.7.1

Android will warn you when installing an app from outside a store. That prompt is expected. It appears for every directly-downloaded APK, including this one, and is exactly why the verification steps below exist.

Verify before you install

Every release is PGP-signed with the NorseHorse release key and published with its SHA-256. An APK from anywhere else claiming to be PGPony should fail these checks. That is the point of them.

Signing key fingerprint (the same key on the public key page):

A0CB C8F6 5AAC E56F 1C5B  7677 53F9 798E 4919 DE62

SHA-256 of PGPony-4.7.1.apk:

99d36b8c6aa7ac6bbfbea0a3f03bd3ba242fa28b8e3ddaa160aba6b721d1dc45

On a computer with GnuPG:

curl -O https://pgpony.app/downloads/PGPony-4.7.1.apk
curl -O https://pgpony.app/downloads/PGPony-4.7.1.apk.asc
curl -O https://pgpony.app/assets/pgp/norsehorse.asc
gpg --import norsehorse.asc
gpg --verify PGPony-4.7.1.apk.asc PGPony-4.7.1.apk
shasum -a 256 PGPony-4.7.1.apk

Good output says Good signature from the fingerprint above, and the hash matches the one on this page. On the phone itself, PGPony can verify the detached signature too. See the walkthrough.

APK signing certificate SHA-256 (matches the F-Droid build; check with apksigner verify --print-certs):

446bf9e621222a40c66cd2476e1a97105ccb2a9b16a01a91c1c7eb90765b50dc
Previous releases (20)
PGPony-4.7.0.apk · 4.7.0 · 2026-10-20
sha256 a78977fe4b6c957cc7599389766a5df664f92a2e09133a171a1e3c9ad32ef059
PGPony-4.6.4.apk · 4.6.4 · 2026-10-06
sha256 3ae551b26577492d4b60fa8ded8d021d01c16957d19f2854f0790e500cd09547
PGPony-4.6.3.apk · 4.6.3 · 2026-10-05
sha256 3af5ca347c5e53331ab84793bba98140673f00a7f1f772cb365c8001fbeaf208
PGPony-4.6.2.apk · 4.6.2 · 2026-09-28
sha256 856ab53741eac9154474a5e4ea8c728b82d4f4652d468f4ce5a083fc7b3cc743
PGPony-4.6.1.apk · 4.6.1 · 2026-09-26
sha256 681d13767d4ece6a79a5f2da095c2a3a1f5495ea0d8feb91737c6d89693ecbda
PGPony-4.6.0.apk · 4.6.0 · 2026-09-24
sha256 0995431de506531682a17e0e3e0c06cb5dc9c90b1656b4f946c3112d71675dbf
PGPony-4.5.3.apk · 4.5.3 · 2026-09-21
sha256 85381b486459b97db61898759e1e9e9b9e6f3e6faf7d2d8bb040480762db16a1
PGPony-4.5.2.apk · 4.5.2 · 2026-09-18
sha256 0dd192d4a8768da2cd84df8b61a408f9e3a090252bdcf60b781f40b39235b019
PGPony-4.5.1.apk · 4.5.1 · 2026-09-17
sha256 166df6e0cc5840b98cbdcea2b55343241a357ea86a47ca7a3159b4b42ecfb3e4
PGPony-4.5.0.apk · 4.5.0 · 2026-09-16
sha256 9842e68809d115bf15c7f1c9af67a0cdc941399c15ebc646175535fedbb3766e
PGPony-4.4.1.apk · 4.4.1 · 2026-09-01
sha256 55075c11f90833dae75b66162c0adcd636eec223a8fc98d2c22408209335e257
PGPony-4.4.0.apk · 4.4.0 · 2026-08-28
sha256 3c10b9ea225a748d87dacbf5a233e20bdf456b4cfc2313ba700e6e06e10ae411
PGPony-4.3.1.apk · 4.3.1 · 2026-08-21
sha256 f09e1577d5c20b0514980063d445d8d184ce26980dd59a3e60bf0647453175e5
PGPony-4.3.0.apk · 4.3.0 · 2026-08-20
sha256 6b534dc4f96fd014d8475e3a05543f30aca07c14358537494a2fc07dd73dd61f
PGPony-4.2.0.apk · 4.2.0 · 2026-08-14
sha256 59a0aa492982072d81c2ccd706d5d7096758c999a7ad065354e191b126563e2a
PGPony-4.1.1.apk · 4.1.1 · 2026-08-04
sha256 15e9d5052dfcbc8fd5ee6a59783f2f3e4b2c730822ac9553bdb596917a214bd3
PGPony-4.1.0.apk · 4.1.0 · 2026-08-01
sha256 2be8891833adba5d3698c3eab64607aa91cbcb43ed2aad3d1277717adaa66831
PGPony-4.0.4.apk · 4.0.4 · 2026-07-26
sha256 528f9b6a8b68f44651f811a3d8cfae8ffedbbec03f3c568e6ac84116db890b62
PGPony-4.0.0.apk · 4.0.0 · 2026-07-20
sha256 2a6d2d64b9fc191145ff8fcf0d489dfc11bac82768eb1823b237ca8724f885df
PGPony-3.1.0.apk · 3.1.0 · 2026-07-11
sha256 482edf9df3802740795de4b3b62a7cbab3bb8c74b2b0a996e1bef7c26a2042e6

Before you switch install sources

  • Same key as F-Droid. This APK is signed with the same release key as the F-Droid build, so you can move between F-Droid and the direct APK freely. Each will update over the other without uninstalling.
  • Different key than Google Play. Play re-signs apps with its own key, so Android will refuse to install this APK over a Play install (and vice versa). Switching requires an uninstall first.
  • No auto-updates. A directly-installed APK does not update itself. Watch the changelog for new releases, or install through F-Droid if you want automatic updates with the same signing key.
  • Reproducible build. The Android app is fully open source (PGPonyAndroid on GitHub) and builds reproducibly: you can compile it yourself and compare against this artifact.
Export your keys before uninstalling. If you are moving from a Google Play install to this APK, back up your keyring first: uninstalling deletes everything stored on the device, and PGPony keeps your keys nowhere else. The private-key backup guide covers it step by step.
Also served over Tor. This page and the APK itself are available on the PGPony onion service. The whole download can happen without ever touching the clearnet:
http://pgponyisur7gxcrfw5ofpjr2sepqul3zgbs66rrd3ughk5qvi4a3t5id.onion/apk
See mirrors for the verified onion and I2P addresses.