Skip to content

PGPilot

PGP key management made simple

pgpilot is a graphical key manager for GPG. It provides a user-friendly interface to:

  • Create keys — Generate primary keys with Sign, Encryption, and SSH Auth subkeys (ed25519 / cv25519)
  • Manage keys — View, export, import, delete, and organize your keyring in an intuitive list-detail view
  • Trust management — Set trust levels (Undefined / Marginal / Full / Ultimate) for contacts’ keys
  • Publish & share — Upload keys to keyservers (keys.openpgp.org, keyserver.ubuntu.com) with status tracking and auto-republish
  • File operations:
    • Encrypt files for one or more recipients; toggle between binary .gpg and armored .asc formats
    • Sign files (creates detached .sig signatures)
    • Verify signatures with 5-state result feedback (valid / bad signature / unknown key / expired / revoked)
  • Subkey management — Add, renew, or rotate subkeys with ease
  • YubiKey support — Migrate subkeys to hardware security keys for offline storage
  • Hardware check — Diagnostic page to validate GPG setup and detect issues
  • Backup & recovery — Export private keys and revocation certificates for disaster recovery
  • Themes & customization — Two visual themes (Catppuccin Frappé and USSR), configurable scale factor, English/French UI

pgpilot is not a replacement for the GPG command line. It is a GUI wrapper that delegates all cryptographic operations to the gpg binary. You cannot:

  • Edit key properties (name, email, expiration) after creation
  • Modify master key expiry (by design — keys created by pgpilot never expire)
  • Use non-standard algorithms (pgpilot creates ed25519 keys only)
  • Access advanced gpg features not exposed in the UI

For power users needing full control, use gpg directly in a terminal.

  • Privacy first — All operations happen locally; keys never leave your machine
  • Safety — pgpilot validates input, guards against silent overwrites, and prevents dangerous operations
  • Simplicity — No jargon in the UI; terminology is localized and beginner-friendly
  • Trust on first use — Keys default to “Undefined” trust; you must actively set trust before relying on them