GnuPG enters a new era as OpenPGP splits into competing futures

GnuPG enters a new era as OpenPGP splits into competing futures

GnuPG has always looked smaller than it is. To most people it is a command typed into a terminal, a cryptic key ID in a package manager, a “Verified” badge beside a Git commit, or an attachment ending in .sig. Yet the release of GnuPG 2.5.20 on May 13, 2026, and the project’s shift toward the 2.5 branch, matter because they sit at the meeting point of three pressures: the old OpenPGP trust model, the new RFC 9580 standard, and the arrival of post-quantum cryptography in working software. Werner Koch’s release announcement says 2.5.20 adds two gpgsm features, fixes minor security bugs, introduces Kyber, also known as ML-KEM or FIPS 203, as a post-quantum encryption algorithm in the 2.5 series, and warns that the old 2.4 series is close to end-of-life.

Table of Contents

The current news is not just a release note

The project’s own home page still describes GnuPG as a complete and free implementation of OpenPGP as defined by RFC 4880, a tool for encrypting and signing data and communications, a key-management system, and a command-line engine designed for integration with other applications. That same page now lists GnuPG 2.5.20 as the current version and Gpg4win 5.0.2 as the current Windows package. The tension is obvious. RFC 4880 was the old shared language of OpenPGP. RFC 9580, published in July 2024, has now replaced it as the IETF OpenPGP standard. GnuPG’s new production path is not merely a neat update to that new standard. It is tied to LibrePGP, a different direction born from a dispute over how OpenPGP should evolve.

That makes this a story about infrastructure governance, not only encryption. GnuPG is no longer just defending private messages. It is defending a model of decentralized trust at the same time that the ecosystem around it is deciding whether that model should keep following GnuPG’s lead. The question is not whether GPG remains useful. It plainly does. The question is whether one of the most trusted tools in free software can keep that status while the standard it historically implemented has moved under its feet.

The shift affects system administrators, Linux distributions, email developers, developers signing source code, companies with regulated S/MIME workflows, journalists who still rely on OpenPGP, and open-source maintainers who use signatures as a guardrail against tampering. It also affects people who never knowingly run GPG. A package manager refusing an unsigned update, a release tarball checked against a detached signature, or a Git tag verified before deployment may involve OpenPGP habits that trace back to the same culture GnuPG helped normalize.

The current moment is uncomfortable because the tool is strong in the places where modern security often stays weak: local control, source availability, offline verification, detached signatures, revocation, expiry, hardware token support, and independence from one provider’s identity system. It is weak in the place where consumer encryption products have advanced fastest: making secure communication feel ordinary. GnuPG is powerful because it gives users control over keys. GnuPG is hard because it gives users control over keys.

A 1997 tool still sits inside modern trust

Werner Koch started GnuPG in 1997, and the project became part of the GNU tradition of software that users may inspect, modify, run, and redistribute. The GnuPG site still frames this as a freedom issue, not only a price issue: since introduction, GnuPG has been Free Software and may be used, modified, and distributed under the GNU General Public License. That origin matters because encryption software has always had a political dimension. PGP was born in the 1990s, when strong civilian cryptography collided with export controls and government anxiety. GnuPG offered a free-software route into the same broad class of public-key cryptography without forcing users into proprietary tooling.

The tool’s name hides its breadth. GPG is often treated as a synonym for “PGP on the command line,” but modern GnuPG is a suite. The manual describes components for OpenPGP, gpg-agent, dirmngr, gpgsm, smartcards, Web Key Service, trust values, configuration, and troubleshooting. The project’s own release announcement calls it an “universal crypto engine” and points to OpenPGP, S/MIME, and Secure Shell support. A single binary is not the story. The story is a local cryptographic stack that many other tools call into.

That stack became part of infrastructure because GnuPG solved a different problem from web TLS. TLS protects a transport connection. GPG signatures protect an object. A signed source archive remains signed after it is copied to mirrors, moved across storage systems, or placed in a build workflow. A signed Git tag remains signed whether someone reads it on a hosting platform, clones it over SSH, or archives it for years. A detached signature gives a verifier a way to test origin and integrity without trusting the path the file traveled.

This object-level trust explains why GPG outlived many predictions of its death. Secure messaging apps are better for most private conversations. Web platforms are easier for account identity. Hardware-backed enterprise certificate systems are more familiar to corporate IT. Yet none of those fully replaces the ability to sign a file, publish the public key separately, and let recipients verify the artifact without a live account system. GnuPG persists because it solves the offline and distributed verification problem better than most fashionable security tools.

The cost is social complexity. Key ownership is not the same as account ownership. A user ID on an OpenPGP key is not automatically proof that the named person still controls the key, still wants it used, or ever validated the email address attached to it. Trust signatures, keyserver discovery, revocation certificates, expiry dates, and fingerprints are all attempts to manage that ambiguity. They are useful tools, but they ask users to think in a way ordinary software rarely asks them to think.

That is why GnuPG’s cultural role is split. Among experienced developers and security teams, it represents transparency and independent verification. Among many email users, it represents pain: manual key exchange, confusing trust prompts, broken attachments, clients that disagree on formats, and a sense that one wrong click may lock away important mail. The same decentralization that makes GnuPG resistant to platform capture also makes it unforgiving when users do not understand the trust model.

The project now stands at a standards fork

OpenPGP once looked like a rare success story in interoperability. Different tools could create keys, encrypt messages, sign data, and verify signatures using a common format. GnuPG was the dominant free implementation, but not the only one. The shared standard made the ecosystem work. A person using GPG on Linux could communicate with a person using a graphical client on Windows or a mail plugin on macOS, at least when both sides stayed within the parts of the standard that their clients understood.

That shared picture is now strained. The IETF published RFC 9580 in July 2024 as the current OpenPGP standard. The RFC states that it specifies message formats for OpenPGP, including public-key and symmetric encryption, digital signatures, compression, and key management, and that it obsoletes RFC 4880, RFC 5581, and RFC 6637. OpenPGP.org now says the OpenPGP Proposed Standard is defined by RFC 9580 and maintained by the IETF OpenPGP Working Group.

LibrePGP takes another path. Its site describes LibrePGP as an alternative, updated specification of the OpenPGP encryption standard, developed as a response to changes made to the OpenPGP specification that its authors viewed as disruptive to existing implementations and risky for interoperability and security. The IETF draft for LibrePGP says it specifies message formats for LibrePGP and presents LibrePGP as an extension of the OpenPGP format covering encryption, signatures, compression, and key management.

This is not a tidy “old versus new” split. It is a dispute about how much change a long-lived security standard should accept, how to handle v6 OpenPGP formats, how much weight to give deployed code, and who gets to decide when compatibility pain is worth the gain. LWN described the disagreement as a schism in the OpenPGP world and warned in 2023 that the split could fragment encrypted email interoperability. By January 2026, LWN was covering Fedora’s debate over GPG 2.5 because GPG 2.4 was approaching end-of-life and 2.5 carried the LibrePGP direction.

The practical problem is simple: encrypted communication needs agreement before the message exists. If Alice creates a key or message in a format Bob’s client does not accept, encryption fails before trust can even be evaluated. Signing has more room for staged migration because a verifier may choose to support both old and new signature formats, but even there, defaults matter. If a widely used tool begins producing artifacts that other widely used tools cannot parse, the damage is not theoretical. It shows up as failed builds, unverifiable releases, unreadable mail, and institutional policies that tell users to freeze on old versions.

GnuPG’s standards fork is a governance problem disguised as a file-format problem. The cryptographic details matter deeply, but the deployment question is blunt: which future will distributions, mail clients, libraries, hosting platforms, and regulated users choose as their safe default?

RFC 4880 gave OpenPGP a long common language

RFC 4880 was published in November 2007 as “OpenPGP Message Format.” It superseded older OpenPGP RFCs and described the packet format, key material, signatures, compression, encryption, and other pieces that made the standard interoperable. For nearly two decades, that document served as the stable reference point for a decentralized ecosystem. It was not perfect, but it gave developers a common map.

Its longevity was both a strength and a liability. A stable standard lets long-lived software talk across time. A message, archive, or signature generated years ago may still be recoverable if the recipient retained the private key and the algorithms are still accepted. That is a serious property in legal, archival, journalistic, and infrastructure settings. OpenPGP’s backward compatibility made it useful for records, not only conversations.

The same stability also preserved old design choices. OpenPGP had to carry history: older symmetric modes, legacy packet types, older hash assumptions, confusing key-signature semantics, and usability patterns inherited from an era before mobile-first encrypted messaging changed user expectations. A standard that values old data cannot move like an app protocol controlled by one vendor. Every incompatible improvement creates a question: are we improving security for new users, or breaking the expectations of people who rely on older workflows?

RFC 4880’s social model also aged unevenly. The web of trust assumed users could validate identities through signatures made by other key holders. In practice, many users relied on weaker habits: downloading a key from a server, seeing a matching email address, and treating that as enough. Keyservers became dumping grounds for unverified certificates, stale keys, poisoned keys, and awkward privacy problems. Later systems tried to repair pieces of that discovery problem, but the old mental model lingered.

The artifact-signing side aged better. A maintainer publishing a release signing key on a project site, a distro shipping a trusted keyring, or a vendor placing a key in a package repository is a more bounded trust problem than global personal identity. The user or system does not need to decide whether a key belongs to a stranger for all purposes. It needs to decide whether this key is authorized to sign this repository, this project, or this release series. That narrower scope is why OpenPGP became deeply rooted in package management and software release verification.

The RFC 4880 era also created a large installed base of habits and scripts. CI jobs verify .asc signatures. Release pages publish signing fingerprints. Developers set user.signingkey in Git. Administrators import vendor keys. Security teams write runbooks that mention gpg --verify. A cryptographic standard is not only a document. It is the sum of all scripts, manuals, policies, muscle memory, and error messages built around it. That is why replacing RFC 4880 with RFC 9580 is more complex than editing a reference link.

RFC 9580 changed the technical center of gravity

RFC 9580 is not a cosmetic refresh. The IETF document explicitly says it obsoletes RFC 4880, RFC 5581, and RFC 6637, and it describes the message formats needed for interoperable OpenPGP applications. OpenPGP developer documentation describes RFC 9580 as specifying new OpenPGP version 6 formats, with a focus on updated cryptographic mechanisms, new algorithms, and deprecation of obsolete algorithms.

The technical case for the update is straightforward. Proton, which maintains OpenPGP.js and uses OpenPGP heavily in Proton Mail, has argued that the crypto refresh adds modern authenticated encryption, more secure curves, and memory-hard password hashing. Proton’s 2023 explanation names AEAD modes, Curve25519 and Curve448 families, and Argon2 as part of the modernization path. OpenPGP.js documentation now states that OpenPGP.js implements RFC 9580, superseding RFC 4880 and RFC 4880bis, while warning that enabling AEAD can break compatibility with implementations that have not adopted the feature.

That compatibility warning is the heart of the matter. Better primitives do not automatically make a better ecosystem if the ecosystem cannot agree on defaults. Authenticated encryption, newer curves, and stronger password hashing are not controversial in the abstract. The controversy is how to introduce them without turning OpenPGP into a family of dialects. Security formats fail socially before they fail mathematically when two correct implementations cannot read each other’s output.

RFC 9580 also changes the center of authority. For years, many users treated GnuPG’s behavior as the practical definition of OpenPGP. If GPG accepted a packet, produced a signature, or generated a key, that behavior often became the ecosystem baseline. RFC 9580 makes the formal standard more visibly independent from GnuPG’s implementation choices. That is healthy for standards governance, but uncomfortable for users who equated “works in GPG” with “is OpenPGP.”

The deepest change in RFC 9580 is not only cryptographic. It weakens the old habit of treating one implementation as the standard’s center of gravity. Libraries such as OpenPGP.js, GopenPGP, Sequoia, RNP, and Bouncy Castle now have their own constituencies. Email products, web apps, package systems, and developer tools may choose support based on their own risk models. That is normal for a mature standard. It also means GnuPG must compete for influence inside an ecosystem it once largely defined.

For organizations, RFC 9580 creates a planning question. Freezing on old behavior preserves compatibility for a while, but it risks missing security improvements and falling behind other clients. Moving too early risks producing artifacts or messages that partners cannot read. The right answer depends on use case. A public release-signing workflow can often test verifiers before changing defaults. A cross-company encrypted email workflow needs far more caution. A local archival workflow may care less about new formats and more about long-term decryptability. The standard may be one document, but migration is not one project.

LibrePGP turns a disagreement into a second path

LibrePGP’s creators present it as a continuity project: a way to update OpenPGP while preserving deployed expectations. Its public description says it was developed as a response to changes made to the OpenPGP specification by a subgroup within the IETF working group, changes that LibrePGP’s authors viewed as disruptive. The draft itself describes LibrePGP as a message format covering the familiar OpenPGP functions: public-key and symmetric encryption, signatures, compression, and key management.

The argument for LibrePGP rests on conservatism in the older engineering sense, not political nostalgia. Cryptographic systems are brittle under forced migration. Existing keys, stored messages, old signatures, automated verification scripts, and user education all have inertia. A project like GnuPG has to think about people who run old distributions, maintain offline systems, operate air-gapped signing machines, or keep encrypted archives for long periods. From that viewpoint, a standard that changes too much at once may look less like progress and more like avoidable breakage.

The argument against the split is just as serious. A decentralized encryption format depends on common agreement. If one camp implements RFC 9580 and another implements LibrePGP, both may claim continuity with OpenPGP while producing outputs that fail in the other camp’s tools. LWN’s coverage captured the risk: fragmentation could lead to interoperability trouble in encrypted email. Fedora’s later debate sharpened that worry for operating systems: if GPG 2.5 generates keys that other tools do not handle well, the default package becomes a policy choice, not just a version bump.

Both sides can point to real user harm. Breaking old workflows is harm. Freezing modernization is harm. Fragmenting formats is harm. Treating one implementation as immune from the standards process is harm. Treating deployed code as merely legacy is harm. The OpenPGP split is hard because each camp is protecting something real.

The more useful question is not who is pure. It is where each path is likely to be used. GnuPG and RNP may matter most in traditional desktop, command-line, and distribution workflows. OpenPGP.js and GopenPGP matter in webmail and service-backed encryption. Sequoia matters in Rust-based systems, modern command-line tooling, and projects that want a newer API design. Thunderbird matters because it is one of the few mainstream mail clients with built-in OpenPGP support. The “winner” may differ by environment.

A second path also changes procurement and compliance language. Security teams can no longer write “OpenPGP-compatible” and assume everyone knows which generation or dialect they mean. They need to specify RFC 4880, RFC 9580, LibrePGP, supported packet versions, default key formats, AEAD behavior, key discovery method, allowed algorithms, and verification rules. That sounds tedious. It is better than discovering the mismatch during an incident response exercise.

GnuPG 2.5.20 marks the production transition

GnuPG 2.5.20 is a small release note with large consequences. The announcement says it adds GCM encryption and signature-attribute support to gpgsm, fixes bugs across gpg, gpgsm, agent, keyboxd, scdaemon, and dirmngr, and continues the 2.5 series’ 64-bit Windows and post-quantum work. It also says the old 2.4 series reaches end-of-life in six weeks from the May 13, 2026 announcement and urges users to update in time.

That end-of-life warning changes the risk calculation. Before a branch reaches EOL, cautious distributions and organizations can delay a migration while staying within supported upstream territory. After EOL, the delay becomes a maintenance fork, a downstream patch policy, or an acceptance of unpatched risk. Fedora’s January 2026 discussion shows how sensitive that question had already become: its maintainer had stayed on 2.4 in part because 2.5 carried compatibility worries, while users raised concerns about security fixes and package freshness.

The announcement also says new versions are fully compatible with previous versions. That claim should be read carefully. Compatibility can mean many things: reading old data, verifying old signatures, importing older keys, accepting old algorithms under policy, or producing new default artifacts that old tools accept. The first set is easier than the last. A tool may preserve old verification while still changing what newly generated keys or signatures look like. For organizations, the production transition requires testing both directions: old data in new GPG, and new output in partner tools.

Current GnuPG and OpenPGP facts that matter

ItemCurrent statusPractical meaning
GnuPG upstream version2.5.20, released May 13, 2026The 2.5 branch is now the active production path.
GnuPG 2.4 branchNear end-of-life after the 2.5.20 announcementStaying on 2.4 becomes a downstream support decision.
OpenPGP formal standardRFC 9580, published July 2024RFC 4880 is now obsolete in IETF terms.
GnuPG direction2.5 series with LibrePGP and PQC workCompatibility testing matters before changing defaults.
Gpg4win package5.0.2 released March 16, 2026Windows users have a current GnuPG-based suite.

The table compresses a messy transition into one operational point: GnuPG users now need a branch strategy, not only an upgrade habit. Teams should document which version creates keys, which version verifies signatures, what partner tools support, and how long old encrypted archives must remain recoverable.

Security fixes in 2.5.20 are not glamorous, but they show why branch policy matters. The release mentions a possible double free in the CMS parser, a smartcard daemon buffer overflow with certain SC-HSM cards providing RSA keys larger than 2k, and a dirmngr uninitialized-use bug, among others. None of those should be read as a reason to panic. They should be read as evidence that cryptographic tools are ordinary software too. Their safety depends on maintenance, memory handling, parser behavior, dependency freshness, and boring release discipline.

This is the paradox of GnuPG’s reputation. People often think of it as a stable old tool. It is also a living codebase dealing with Windows installers, CMS attributes, post-quantum algorithms, smartcards, network key lookup, package repositories, and build systems. The more places it touches, the more ordinary engineering risk it carries. The trust people place in GPG signatures depends on software maintenance that most users never see.

Post-quantum support gives the release strategic weight

GnuPG’s 2.5 line introduces Kyber, now standardized by NIST as ML-KEM in FIPS 203, as a post-quantum encryption algorithm. The release announcement states this plainly, naming Kyber, ML-KEM, and FIPS 203. NIST’s FIPS 203 page says ML-KEM is a key-encapsulation mechanism for establishing a shared secret over a public channel, based on the Module Learning with Errors problem, and gives three parameter sets: ML-KEM-512, ML-KEM-768, and ML-KEM-1024.

This does not mean GnuPG users are suddenly “quantum safe” in any broad sense. Post-quantum migration is never a single switch. It depends on algorithms, modes, key formats, hybrid designs, partner support, policy, data-retention timelines, implementation quality, and whether old ciphertext needs protection against future decryption. GnuPG’s inclusion of ML-KEM is still strategically meaningful because OpenPGP has long been used for long-lived data. If an encrypted file may remain sensitive for decades, “harvest now, decrypt later” is not an academic phrase. It is a retention question.

The post-quantum angle also strengthens the standards tension. OpenPGP.org lists active drafts related to post-quantum cryptography in OpenPGP. Developer notes on OpenPGP state that work is ongoing to add post-quantum public-key algorithms to OpenPGP, with goals that include Thunderbird and GnuPG support. If post-quantum support lands unevenly across RFC 9580, LibrePGP, and individual implementations, the ecosystem risks repeating the same compatibility story at a higher security tier.

For security architects, the useful reading is cautious optimism. GnuPG’s ML-KEM work gives teams a place to test post-quantum file and message workflows using familiar tooling. It does not remove the need for crypto inventory. Teams need to know where OpenPGP is used for encryption, where it is used only for signatures, which archives must remain confidential beyond 2035, which partners can decrypt new formats, and which compliance regimes will accept which algorithms. The strongest post-quantum plan starts with finding every place public-key cryptography is already used.

The business implication is that GnuPG may become part of post-quantum transition planning outside the narrow group of email privacy users. Companies that use GPG for backup encryption, exchange of sensitive files, release signing, regulated evidence transfer, or air-gapped workflows will ask how the 2.5 line fits into a broader migration. The answer will not be uniform. Signing and encryption have different quantum risks. RSA and elliptic-curve signatures face different timelines from symmetric encryption. Detached signatures on public release artifacts have a different threat model from confidential files stored by an adversary.

There is also a product lesson. Post-quantum algorithms are moving from standards pages into user tools. That transition will expose old assumptions in user interfaces. A key manager that already struggles to explain primary keys, subkeys, expiry, revocation, and trust will now need to express algorithm agility without causing panic or indifference. The command line can expose the details. Frontends must decide which details belong in ordinary screens and which belong in advanced policy.

GPG is a command-line tool by design, not by accident

GnuPG’s command-line nature is often treated as a usability flaw. For many users, it is. But for infrastructure, the command line is one reason GPG spread so widely. A command can be scripted, logged, reviewed, repeated, run in CI, used over SSH, wrapped by package tools, and embedded into release workflows. It can produce detached signatures, verify downloads, encrypt backups, export keys, import revocations, and run without a desktop session. That makes GPG closer to tar, ssh, and git than to a private messaging app.

The project emphasizes integration. The release announcement says GnuPG is a command-line tool with features for easy integration, and that GPGME provides a uniform API for software written in common languages. The GPGME page describes it as a library that gives applications a higher-level API for encryption, decryption, signing, signature verification, and key management, using GnuPG’s OpenPGP backend by default while also supporting CMS/S/MIME.

The distinction matters. Directly driving the gpg command from application code can be fragile. Command-line flags change, status output needs careful parsing, pinentry behavior depends on environment, and input/output handling may create security bugs. GPGME exists because cryptographic operations do not become safe simply because a process exits with status zero. Applications need clear semantics: which key was used, whether the signature matched the expected signer, whether the trust policy passed, whether the plaintext came from the signed data, and whether a warning is fatal.

GnuPG’s command-line interface is strongest when treated as an operator tool and automation primitive, not as an application programming interface of last resort. Developers writing mail clients, document tools, or graphical workflows should prefer stable libraries and explicit status handling. Administrators writing release checks may still use the command line well, but they need to pin expected fingerprints and fail closed when verification output does not match policy.

A command-line tool also makes security visible. When a user runs gpg --verify file.sig file, the trust event is explicit. The user sees which key made the signature, whether the key is known, and whether the signature is mathematically valid. That does not guarantee correct trust, but it prevents the event from being hidden inside a platform’s green checkmark. For serious workflows, visibility is not decoration. It is part of auditability.

The weakness is that visible does not mean understandable. GPG output can overwhelm users with key IDs, trust warnings, algorithm names, and historical concepts. A good operator learns the difference between a good signature from an untrusted key and a good signature from the expected release key. Many users do not. The answer is not to hide all warnings. It is to build workflow-specific checks that compare against known fingerprints and explain failure in the language of the task: “This release was not signed by the project’s release key,” not “gpg: WARNING: This key is not certified with a trusted signature.”

The agent model is the hidden architecture

Many users think of GPG as one command. Modern GnuPG is built around cooperating processes, and gpg-agent is one of the most important. The manual describes gpg-agent as a daemon that manages secret private keys independently from any protocol, acting as a backend for gpg, gpgsm, and other utilities. It is started on demand by GnuPG tools.

This design separates secret-key operations from the clients that request them. That separation is valuable. An application can ask for a signature without directly handling the raw private key. The agent can cache passphrases, talk to pinentry, interact with smartcards, and serve both OpenPGP and S/MIME workflows. It also enables SSH-agent emulation, which is why some users use OpenPGP keys or smartcards for SSH authentication. The manual’s examples show the environment setup needed for GPG’s SSH agent support.

The agent model also creates failure modes. Environment variables may point to the wrong socket. A desktop session may not have the right GPG_TTY. Pinentry may appear in the wrong place or fail in headless automation. A CI job may hang waiting for passphrase input. A user may think a passphrase is protecting a key while the agent keeps it cached longer than expected. A hardware token may be required but unavailable. These are not esoteric problems. They are the daily friction that separates a clean cryptographic design from a reliable operational workflow.

For teams using GPG in production, the agent is part of the security boundary. Its cache policy, pinentry mode, socket access, smartcard behavior, and process lifetime should be documented. A release-signing machine should not be configured like a developer laptop. A CI verification job should not need private keys at all. A decryption service should use least-privilege key material and clear failure behavior.

The agent design also explains why GPG remains attractive for hardware-backed workflows. Private keys can live on smartcards or tokens, while GPG provides the familiar interface above them. That reduces exposure of raw private key material, especially for signing keys. Yet hardware tokens are not magic. They introduce backup, revocation, PIN, firmware, availability, and disaster-recovery questions. A lost token without a revocation path can be a serious incident. A token initialized incorrectly can give a false sense of safety.

GnuPG’s own 2024 smartcard advisory is a reminder. The advisory described a bug where smartcard key generation could leave an unprotected backup key on disk in a specific workflow, and its technical details explain that gpg-agent created the key on disk before moving it to the smartcard and replacing it with a shadow key. The lesson is not “avoid smartcards.” The lesson is that key lifecycle operations need verification, not assumptions.

S/MIME support explains why GnuPG is larger than PGP

GnuPG’s public identity is tied to OpenPGP, but gpgsm brings S/MIME and CMS into the same tool family. The manual describes gpgsm as a tool similar to gpg for encryption and signing with X.509 certificates and the CMS protocol, mainly used as a backend for S/MIME mail processing. The 2.5.20 release adds GCM encryption and signed/unsigned attribute support to gpgsm, which shows that S/MIME is not a side note in the current codebase.

S/MIME solves a different identity problem from OpenPGP. It relies on X.509 certificates and certificate authorities, which makes it more natural for corporate environments, regulated sectors, and organizations that already manage PKI. OpenPGP relies more on user-controlled keys, local trust policy, and decentralized discovery. Neither model is universally better. They carry different failure modes. OpenPGP puts more responsibility on users and communities. S/MIME puts more responsibility on issuing authorities, enterprise configuration, and certificate validation.

GnuPG’s support for both says something about the project’s real role. It is not only a privacy activist’s tool. It is a cryptographic plumbing layer for organizations that need object security, mail security, key storage, and local verification across multiple trust systems. GPGME’s documentation makes the same point by noting that its API is not restricted to GnuPG’s OpenPGP engine and has a CMS backend.

The S/MIME side also makes the Efail history relevant. The Efail research found vulnerabilities in OpenPGP and S/MIME email clients that could leak plaintext through crafted messages and active content, with the researchers reporting exfiltration channels in many tested clients. That history showed that message security is not only about the cryptographic engine. It is also about MIME parsing, HTML rendering, error handling, remote content, and client UI decisions.

A mail encryption stack is only as safe as the path from ciphertext to displayed plaintext. GnuPG may correctly reject a tampered message, but a mail client must treat that rejection as fatal. gpgsm may support a modern encryption mode, but an organization still has to manage certificates, revocation, client behavior, and user training. This is why encryption products that claim to “use PGP” or “support S/MIME” deserve closer inspection. The protocol label is not enough.

For enterprises, GnuPG’s S/MIME work may be more relevant than its public reputation suggests. Corporate email security often sits between compliance, legal retention, endpoint management, and user support. A tool that can handle CMS operations, interact with certificate stores, and support automation has uses beyond person-to-person secrecy. The 2.5.20 gpgsm changes belong to that enterprise-facing layer, even if the popular story focuses on OpenPGP.

Key discovery is still the hardest human problem

Encryption needs a public key before it needs an algorithm. That is where OpenPGP has struggled for decades. If a sender encrypts to the wrong key, the mathematics may work perfectly while the security outcome fails completely. If a sender cannot find any key, encryption never starts. If a sender finds ten stale keys for the same email address, the user interface becomes a trust crisis. GnuPG’s key-management system is powerful, but key discovery remains the human bottleneck.

Old keyservers solved distribution, not identity. They let people upload and fetch public keys, but they did not reliably prove that a key belonged to a particular email address or current owner. They also made deletion and privacy awkward. A public key with a user ID could outlive the user’s intent. A poisoned certificate could create operational pain. Many ordinary users reasonably concluded that the system asked them to make decisions they were not equipped to make.

Modern OpenPGP workflows try to narrow the problem. A project release key can be published on a website, cross-signed, printed at conferences, placed in a source repository, or distributed through an operating-system package. A mail provider can attach public keys automatically. A domain can publish keys through Web Key Directory. A platform can verify commit signatures after the user uploads a key. Each method reduces ambiguity in one setting, but none fully solves identity across all settings.

GnuPG supports several lookup paths. Its manual notes Web Key Directory lookup in key origin fields and describes tools for Web Key Service and Web Key Directory maintenance. GnuPG’s configuration documentation says WKD lookup is part of the default signature-related auto-key behavior in certain cases. That is a serious attempt to make key discovery more tied to domain control and less dependent on global keyserver searching.

The key discovery problem is not a small usability defect. It is the central reason OpenPGP never became ordinary email for ordinary people. Users do not want to compare fingerprints before sending a message. They want a reliable answer to “is this really the person?” Modern encrypted messengers mostly hide that problem behind account systems, contact discovery, safety numbers, and server-mediated key delivery. OpenPGP keeps more of it exposed.

Exposure has value. A journalist can publish a fingerprint in multiple places. A developer can keep a signing key offline and distribute the public key through reproducible channels. A company can pin release keys in infrastructure. These workflows are not as easy as trusting a platform, but they give users independence from that platform. The challenge is matching the method to the risk. Not every email deserves a manual fingerprint call. Some sources and release processes do.

Web key directory tries to fix the discovery gap

Web Key Directory is one of the most practical attempts to improve OpenPGP key discovery. The idea is domain-based: a sender can look for a public key associated with an email address under the recipient’s domain, rather than searching a global keyserver. The GnuPG manual describes gpg-wks-client as a tool used to send requests to a Web Key Service provider, usually to upload a key into a Web Key Directory. It also describes checks for whether a domain supports WKS and whether a key exists for an address.

WKD does not prove human identity by itself. It proves that a domain is serving a key for that address through a particular mechanism. For many workflows, that is better than nothing. If alice@example.com has a key discoverable under example.com, the sender at least has a domain-mediated answer. That fits organizational email and provider-backed mail better than the old model of searching a public keyserver and hoping the newest-looking key is correct.

WKD also aligns with how users already think about email identity. People trust domains, sometimes too much. If a company controls its domain and mail accounts, publishing keys through that domain lets it express a policy: these are the keys for our users, at least according to our infrastructure. That is not the same as a web of trust. It is closer to a domain assertion. In a world where most email identity already depends on domains, that may be a more realistic foundation.

The limitation is deployment. WKD only works when domains support it, clients perform the lookup, and users understand the trust consequences. A small project can publish a release key manually. A large mail provider can automate key publication. A mid-sized organization may struggle with lifecycle: employee departure, key revocation, aliases, shared mailboxes, legal discovery, and device recovery. Key discovery looks like cryptography from far away. Up close, it becomes directory management.

There is also a privacy trade-off. Automatic key lookup can reveal communication intent if done carelessly. A client checking whether a recipient has a key may send network requests before a message is sent. Implementations need to handle caching, proxying, and failure behavior with care. Domain-based discovery is cleaner than open keyserver searching in many ways, but it is not free of metadata questions.

Still, WKD is one of the places where GnuPG’s old philosophy and modern usability can meet. It keeps keys decentralized by domain, uses web infrastructure, and reduces manual search. It will not make OpenPGP as effortless as provider-contained encrypted mail, but it can make cross-provider use less brittle. For organizations that want OpenPGP without telling employees to paste fingerprints into chats, WKD deserves attention.

Frontends decide whether encryption feels possible

GnuPG’s engine is only one layer. Most users meet GnuPG through frontends, integrations, or packages. Gpg4win gives Windows users a bundle with GnuPG and graphical tools. Its download page lists Gpg4win 5.0.2, released March 16, 2026, with signatures and checksums for verification. The Gpg4win home page describes it as a Windows solution for file and email encryption built around GnuPG. Kleopatra, part of the KDE ecosystem and bundled in many GnuPG workflows, is described by KDE as an open-source certificate manager and graphical front-end for OpenPGP and S/MIME certificates, with tools for managing keys, signing, verifying, encrypting, and decrypting files and emails.

These frontends matter because OpenPGP’s hard parts are rarely the raw cryptographic operations. They are key creation, key backup, revocation, trust decisions, recipient selection, attachment handling, and explaining warnings. A command-line user may be willing to learn those concepts. An office worker using Outlook, a lawyer sending documents, or a researcher protecting files needs clear workflows. If the frontend hides too much, users make blind trust decisions. If it exposes too much, they give up.

Thunderbird’s move to built-in OpenPGP support shows the complexity. Mozilla’s support page says Thunderbird 78 added built-in support for OpenPGP and S/MIME, with OpenPGP enabled by default since 78.2.1. It also notes that older Thunderbird versions used the Enigmail add-on and GnuPG software, while Thunderbird 78 replaced Enigmail with built-in support and no longer uses GnuPG by default. That change moved OpenPGP away from a GnuPG dependency for a major mail client.

The reason was not that GnuPG became irrelevant. It was that mail clients need tight integration. A mail client must know exactly what text was signed, whether an attachment was covered, whether a reply should be encrypted, whether the sender’s key is accepted, and how to display mixed signed/unsigned content. Passing blobs to an external command is not enough. The mail client’s UI and MIME parser are part of the security design.

OpenPGP succeeds or fails for ordinary users at the frontend layer. GnuPG can be correct and still feel impossible. A frontend can be polished and still make dangerous trust choices. The best products treat encryption as a workflow with explicit states: unencrypted, encrypted to verified keys, encrypted to unverified keys, signed by expected key, signed by unknown key, invalid signature, partially signed content, and failed decryption. Those states need plain language and safe defaults.

The standards split raises the stakes for frontends. A GUI may need to explain why a key generated by one tool is not accepted by another, or why a message uses a format not supported by a recipient. Many users will not care whether the reason is RFC 9580, LibrePGP, AEAD, v6 keys, or old RFC 4880 behavior. They will see encryption as broken. That perception can do more damage than any mailing-list argument.

Windows and enterprise support change the project’s audience

The image of GPG as a Unix tool is outdated. Gpg4win, GnuPG Desktop, Kleopatra, Outlook integration, Windows installers, and enterprise support have made GnuPG part of workflows far beyond shell users. The GnuPG home page points to Gpg4win as a Windows version featuring a context menu tool, crypto manager, and Outlook plugin for standard PGP/MIME mail. The 2.5.20 announcement says 64-bit Windows improvements are a main theme of the 2.5 series.

This matters for two reasons. First, Windows environments magnify usability and support demands. Users expect installers, update behavior, certificate managers, Outlook integration, file explorer actions, and clear administrative controls. A break in key compatibility or mail rendering affects help desks, not only individual enthusiasts. Second, enterprise customers fund maintenance. The 2.5.20 announcement says that since 2001, GnuPG maintenance and development has been done by g10 Code GmbH, financed mostly by donations, with full-time developers and contractors working on GnuPG and related software.

The funding model is not a side issue. Security infrastructure cannot live on admiration alone. GnuPG’s long history includes periods where its maintenance burden looked larger than its funding base. A tool that protects package systems, release workflows, journalist communication, and enterprise mail needs paid maintainers, audits, build infrastructure, and support channels. Free software means users have freedoms over the code. It does not mean the work costs nothing.

Enterprise support also changes priorities. Regulated organizations care about S/MIME, smartcards, audit logs, Windows deployment, documented procedures, and predictable support. Privacy communities may care more about decentralized identity, metadata resistance, and cross-provider encrypted email. Open-source maintainers may care most about release signatures and Git tags. These audiences overlap, but they do not always want the same defaults.

GnuPG’s future depends on serving command-line infrastructure without becoming hostile to desktop and enterprise users. That is hard because the safest interface for one group may be the wrong interface for another. A strict release-signing tool should fail closed and be scriptable. A mail client should prevent accidental plaintext leakage without burying users in jargon. An enterprise certificate manager needs policy controls. A journalist needs reliable key verification and offline backup.

The standards split complicates commercial messaging. A customer buying a GnuPG-based product may ask whether it supports “OpenPGP.” The vendor must then clarify which generation and which dialect. That answer has legal and procurement consequences. It may affect interoperability with Thunderbird, Proton Mail, Sequoia-based tools, or future RFC 9580 libraries. The old shorthand is no longer enough.

Source code signing is where GPG became invisible infrastructure

GnuPG’s strongest mainstream role may not be encrypted email. It may be software provenance. Developers use GPG to sign release archives, tags, commits, packages, and repository metadata. Users often encounter the result indirectly, through package managers and hosting platforms. The trust event is real even when the user never runs gpg by hand.

Git’s own documentation explains signing tags and commits with GPG. It describes configuring a signing key, signing tags with git tag -s, verifying tags with git tag -v, and signing commits with git commit -S. GitHub’s documentation says commits and tags can be signed locally using GPG, SSH, or S/MIME, and that GitHub marks cryptographically verifiable commits or tags as verified or partially verified.

This changed GPG’s meaning for many developers. It stopped being only about secrecy. It became about authorship and tamper evidence. A signed tag says: this repository state was endorsed by the holder of this private key. A signed commit says: this change was made or approved under a signing key associated with a developer identity. Neither statement proves the code is safe. It proves something narrower and still useful: the artifact matches a cryptographic claim.

Signatures do not replace review, reproducible builds, dependency control, or vulnerability scanning. They answer a different question: did this object come from the expected signing authority without alteration? That question is central to supply-chain defense. Attackers often prefer to compromise build paths, distribution channels, package repositories, or developer accounts instead of breaking cryptography. A detached signature or signed tag can force the attacker to compromise the signing key too.

The weakness is trust binding. A verified badge on a platform means the platform could verify the signature against a key it associates with an account or email. That does not automatically mean the key is the one your organization should trust for a release. A developer’s personal commit signature may be useful for accountability but irrelevant to production release authorization. A project release key may be the only key your deployment system should accept.

That distinction should be reflected in policy. CI systems should verify exact release fingerprints or repository signing keys, not merely “a good signature.” Internal code review systems should decide whether commit signing is required, whether SSH signatures are allowed, and how key revocation affects old commits. Release teams should store signing keys separately from daily development keys. For high-risk projects, a hardware token or offline signing machine may be appropriate.

The standards split could affect source code signing more slowly than email, because verification systems can often support multiple formats before changing generation defaults. Yet it still matters. If a maintainer starts generating signatures with a format some downstream verifiers cannot parse, the release pipeline breaks. If platforms adopt RFC 9580 while local tools remain on older GnuPG, confusion follows. The safe path is staged compatibility testing with clear statements of supported signature formats.

Linux package trust still depends on OpenPGP habits

Linux distributions are built on repository trust. Fedora says each stable RPM package it publishes is signed by one of Fedora’s OpenPGP keys, and that dnf and graphical update tools verify those signatures by default and refuse unsigned or invalid packages. Debian’s SecureApt documentation describes signed Release files and OpenPGP signatures as a way to close the gap between downloaded package metadata and archive authenticity.

Most users never see that machinery unless something goes wrong. They see an update succeed, a warning about a missing key, or a package manager refusing a repository. Behind that simple outcome is a trust chain: archive key, repository metadata, package hashes, mirrors, transport security, local keyrings, and policy about which keys are allowed to sign which repositories. GPG sits in the chain as an object-verification tool.

This is one reason Fedora’s GPG 2.5 discussion mattered. A distribution cannot treat upstream GnuPG migration as a personal preference. It has to ask whether package signing, user key generation, developer workflows, mail tooling, and downstream compatibility will work for the distribution’s audience. LWN’s report said Fedora’s maintainer had stayed on oldstable 2.4 partly because LibrePGP compatibility issues could cause users to generate keys incompatible with other tools.

Package managers show the best side of OpenPGP because they narrow trust. Users do not need to decide whether a random key belongs to a random person. The system ships trusted archive keys or asks the administrator to install a repository-specific key. The question is scoped: does this repository metadata come from the expected signing authority? That is a much cleaner problem than global personal identity.

The weak point is third-party repository practice. Many installation guides still teach users to fetch a signing key with curl and pipe it into a command, sometimes granting it broad trust over all repositories. Better practice pins repository keys to specific sources and avoids global trust where possible. The cryptography may be OpenPGP either way, but the policy differs. A strong signature attached to a poorly scoped key is not strong system security.

The coming branch transition should push distributions to make their GPG assumptions explicit. Which GnuPG branch verifies repository signatures? Which OpenPGP packet formats are accepted by package tooling? Are new key formats allowed for repository signing? How are release keys rotated? Are users warned before old algorithms are rejected? A quiet default change can become a broken update path at scale.

Git signatures changed GPG from secrecy tool to provenance tool

Git signing is one of the clearest cases where GPG’s public image lags behind its actual use. Developers who never encrypt email may sign commits every day. Companies that ban PGP mail as too complex may still require signed tags for release approval. GitHub, GitLab, and other platforms have normalized visible signature status in code review. That turned OpenPGP keys into part of developer identity, even for teams that prefer SSH for login and SSO for accounts.

GitHub’s documentation says signed commits and tags let other people gain confidence about the origin of a change, and that verifiable signatures are marked with verification states. Git’s documentation shows the underlying mechanics with GPG, from creating a key to signing commits and tags and verifying tags locally. The platform badge and the local verification command are related, but they are not identical trust acts.

A platform can say a signature matches a key associated with an account. A local policy can say the release tag must be signed by one of three offline keys. A regulator can require evidence that an artifact was signed before deployment. A security team can require that emergency fixes carry a signature from an on-call release engineer. These are all signature workflows, but they have different trust anchors.

GPG’s value in Git is not that it proves code is good. It makes identity and timing claims harder to forge after the fact. A signed tag provides an audit point. A signed commit history creates friction for attackers who gain repository write access but not signing keys. It also helps investigators distinguish “the account pushed this” from “the key holder signed this.”

There are caveats. Developers lose keys. Keys expire. Email addresses change. Companies merge. Signing keys leak. Automated rebasing may drop signatures. Squash merges may hide signed commits behind unsigned merge commits. Some teams use SSH signing because it fits existing developer habits better. Others use Sigstore-style identity-backed signing for cloud-native workflows. GPG is not the only path.

Yet GPG remains attractive where offline verification and independent key control matter. A signed release tarball can be verified outside GitHub. A signed tag can be checked in an air-gapped environment. A public key can be printed, mirrored, archived, or pinned in a build policy. Those properties matter when platform accounts are not enough. The strategic question for GnuPG is whether new standards and defaults preserve those strengths without isolating GPG-generated signatures from newer OpenPGP libraries.

Email remains GPG’s most famous and least forgiving use case

For the public, PGP still means encrypted email. Proton’s PGP support page describes PGP as a method for end-to-end email encryption, based on a public/private key pair, with public keys used by senders and private keys kept secret by recipients. It also notes that PGP setup has historically been difficult for most users. That tension has never gone away. Email is where OpenPGP is most iconic and most punishing.

The punishing part comes from email’s age and flexibility. MIME messages can contain plain text, HTML, attachments, forwarded parts, quoted replies, multipart structures, inline signatures, detached signatures, and client-specific rendering behavior. A secure OpenPGP message has to survive all of that. The user wants one lock icon. The client has to decide which exact bytes are encrypted or signed, which attachments are covered, whether remote content loads, and whether a partially signed message should be trusted.

Thunderbird’s built-in OpenPGP support is important because Thunderbird is one of the few mainstream mail clients to make OpenPGP part of the default product rather than an external plugin. Mozilla’s documentation says OpenPGP has been enabled by default since Thunderbird 78.2.1, while previous versions used Enigmail and GnuPG. That shift shows a broader pattern: successful mail encryption needs to be part of the mail client’s message model, not bolted on at the edge.

Proton takes another path by integrating PGP into a hosted encrypted mail system. Its support documentation says Proton Mail automatically encrypts messages between Proton users and provides PGP encryption for communication with external providers when configured. That approach removes much of the manual key work inside Proton’s system, but it changes the trust and account model. Users gain usability. They accept a provider-mediated experience.

GPG-style email is hardest when users want both full decentralization and zero friction. Those goals conflict. A decentralized system cannot silently ask one provider which key to trust for everyone. A frictionless system cannot ask every user to validate fingerprints manually. The best current designs pick a point on that spectrum and state it honestly.

The standards split makes email the highest-risk area. A file signature failure is annoying. An encrypted email format mismatch blocks communication. If one client generates LibrePGP keys by default and another expects RFC 9580 v6 behavior, the user may not understand why a recipient cannot read a message. This is why distributions and mail clients are cautious. Email encryption already has a reputation for fragility. A format split could harden that reputation just when secure communication needs trust.

Efail exposed client design, not just cryptography

Efail remains one of the clearest lessons in encrypted email security. The Efail site says the attacks exploited vulnerabilities in OpenPGP and S/MIME email technologies to reveal plaintext, often by abusing active HTML content such as external images or styles to exfiltrate decrypted content through requested URLs. The USENIX paper summary reports exfiltration channels in 23 of 35 tested S/MIME clients and 10 of 28 tested OpenPGP clients, with some client flaws allowing straightforward plaintext exfiltration.

The public argument after Efail often turned into “PGP is broken” versus “mail clients are broken.” That framing was too crude. The deeper point is that encrypted email is a system. A standard may allow behavior that clients interpret dangerously. A cryptographic engine may emit warnings that a client treats as nonfatal. A mail user agent may render HTML before it has established that decrypted content should be displayed. A signature may cover only part of a message while the UI suggests the whole message is safe.

OpenPGP had a Modification Detection Code that helped against some tampering, and the Efail site itself noted that modern OpenPGP implementations offered MDC protection against the CFB gadget attack. But client behavior still mattered. If a decrypted plaintext is passed to an HTML renderer that loads remote resources, the security boundary has already shifted away from the crypto engine. The user sees an email. The attacker sees a channel.

Efail’s lasting lesson is that cryptography cannot rescue a careless display pipeline. The safe sequence is strict: parse, decrypt, authenticate, enforce policy, then display only what passed, with remote content blocked and unsigned or partially signed content clearly separated. Any shortcut weakens the whole workflow.

This is why GnuPG’s role in email is both crucial and limited. GnuPG can implement cryptographic operations and expose status. It cannot force every mail client to use that status correctly. A frontend that ignores a warning, mixes signed and unsigned content, or displays decrypted HTML unsafely can turn a correct engine into a failed product. Secure email needs engineering discipline at every layer.

The same logic applies beyond email. A package manager must not continue after a bad signature. A CI pipeline must not treat “signature made by unknown key” as success. A document workflow must not display unsigned attachments as if they were signed. GPG provides the primitive. Applications define the user-visible trust semantics.

Cleartext signatures show that old formats carry old risk

GnuPG’s December 2025 blog post “Cleartext Signatures Considered Harmful” revisited one of PGP’s oldest formats. It notes that cleartext signatures have existed since early PGP versions and remain common. Cleartext signatures are attractive because the signed text remains readable without tools, followed by an ASCII-armored signature block. They are also easy to misuse because applications and people may handle the visible text and the signed text differently.

The problem is not that every cleartext signature is invalid. The problem is ambiguity. Line endings, dash escaping, text normalization, parser behavior, and surrounding content can create traps. A detached signature over a file or a signed structured object is easier to reason about in automation. The verifier knows what bytes are being checked. With cleartext, the signed material and human-readable presentation can drift in ways that surprise scripts and users.

GnuPG’s 2.5.20 announcement points readers to that blog post and to a GnuPG.com response about recent security reports, especially for applications using cleartext signatures. The practical message is clear: old formats remain in the ecosystem because compatibility matters, but compatibility does not mean every old format is a good choice for new workflows.

New systems should prefer detached signatures or well-defined signed containers over cleartext signatures unless there is a specific compatibility reason. That recommendation is not anti-PGP. It is pro-precision. A release artifact should have a detached .sig file. A machine-readable policy should sign the exact bytes being consumed. A mail client should avoid confusing users about which body part was signed.

Cleartext signatures also reveal a broader truth about GnuPG’s maintenance burden. Old features cannot always be removed quickly because too many systems depend on them. Deprecation takes years. Documentation has to warn without breaking. Tools have to accept old inputs while discouraging new use. Security engineers often find that the most dangerous code is not the fancy new algorithm, but the old compatibility path that nobody wants to touch.

For organizations, the fix is inventory. Find where cleartext signatures are used. Decide whether they are human messages, automated policies, release notes, package metadata, or legacy mail. Replace them where exact byte verification matters. Where they must remain, require safe verification commands, explicit output handling, and tests against known edge cases. Old PGP formats deserve the same migration discipline as old TLS versions.

Smartcards and hardware tokens solve one problem and add another

Hardware-backed GPG keys are popular for a good reason. If a signing key lives on a smartcard or token, the raw private key material is harder to steal from the host filesystem. The user can sign commits, decrypt files, or authenticate over SSH without copying the key onto every machine. For high-value signing keys, that is a major improvement over a private key stored on a laptop.

GnuPG’s smartcard support is mature, but the lifecycle remains delicate. A token can be lost, damaged, locked by failed PIN attempts, initialized incorrectly, or used with a compromised host that tricks the user into signing the wrong data. A smartcard does not make approval meaningful if the user cannot see what is being approved. A hardware-backed key still needs expiry, revocation, backup strategy, and separation between daily-use and high-authority keys.

The 2024 smartcard advisory is a useful warning. GnuPG described a case where smartcard key generation could keep an unprotected backup key on disk. The advisory explained that the key was created by gpg-agent, stored on disk, moved to the smartcard, and then intended to be replaced by a shadow key; a bug interfered with that lifecycle in a specific case. The failure was not a broken smartcard. It was a key-management workflow bug.

Hardware tokens reduce the risk of key extraction. They do not eliminate the need to verify how keys are created, moved, backed up, revoked, and used. For release signing, the safest model often uses a dedicated token or offline machine, a documented ceremony, multiple authorized signers, and a clear revocation process. For developer commit signing, a token may be enough to reduce daily compromise risk. For encrypted archives, backup planning is just as important as theft prevention.

Smartcards also interact with the agent model. The agent may cache PINs, expose sockets, or prompt through pinentry. The user experience depends on operating system integration. On a headless server, a token can be awkward. On a desktop, it can be smooth until the wrong pinentry appears. In CI, private signing keys should be avoided unless the pipeline is designed for secure signing; verification-only jobs need only public keys.

The standards transition adds another layer. Hardware tokens support specific algorithms. Post-quantum algorithms have different size and performance profiles. OpenPGP card standards, token firmware, and GnuPG support will not all move at the same pace. Teams that rely on tokens should test algorithm support before changing key-generation defaults. A shiny new default is useless if the organization’s hardware cannot use it.

The standards split creates a migration risk

Migration risk is not the same as security risk. A newer standard may be safer and still create migration risk. An older format may be weaker and still be the only format a partner can read. GnuPG’s current transition forces users to handle both kinds of risk at once.

RFC 9580 has formal IETF standing as the current OpenPGP standard. LibrePGP has implementation weight through GnuPG’s direction and RNP’s public positioning. OpenPGP.js and Sequoia explicitly point to RFC 9580 support. That means users face a split between formal standardization and some deployed tool choices.

OpenPGP ecosystem paths after RFC 9580

PathMain supporters or examplesStrengthMain risk
RFC 4880 compatibilityExisting archives, old GPG workflows, many scriptsMaximum legacy reachOld cryptographic assumptions and aging defaults
RFC 9580 OpenPGPIETF standard, OpenPGP.js, Sequoia, many new librariesModernized standard pathUneven adoption across older tools
LibrePGPGnuPG 2.5 direction, RNP messagingContinuity for GnuPG-centered workflowsInteroperability with RFC 9580 tools
Provider-integrated PGPProton Mail and similar systemsEasier user experienceProvider-specific trust and export behavior
Non-OpenPGP signingSSH signing, Sigstore-style systemsFits platform-native workflowsLess useful for old OpenPGP verification habits

This table is not a ranking. It is a map of decision points. The dangerous choice is not picking one path. The dangerous choice is assuming every tool means the same thing when it says PGP or OpenPGP.

Migration testing should cover creation and verification. A team should test keys generated by the new version in old verifiers. It should test old encrypted files in the new version. It should test signatures produced by new defaults in CI, package tooling, Git hosting, and partner systems. It should test mail messages across actual clients, not only command-line encryption and decryption. The compatibility problem lives in details.

The other migration risk is communication. Users need plain warnings. “GnuPG 2.4 is end-of-life” is a maintenance fact. “GnuPG 2.5 may generate keys or messages that some tools do not accept” is an interoperability fact. “RFC 9580 is the current IETF OpenPGP standard” is a standards fact. “LibrePGP is the direction GnuPG is taking” is an implementation fact. Mixing those statements into a single “upgrade or don’t upgrade” debate hides the real choices.

Large organizations should appoint owners for OpenPGP policy. That sounds formal, but unmanaged cryptography becomes legacy risk quickly. Someone should know which keys exist, which tools create them, which algorithms are allowed, which partners depend on them, which archives need long-term support, and which branch will be supported after GnuPG 2.4 ends upstream support.

Fedora and distributions face a practical policy problem

Fedora’s GPG 2.5 debate is a preview of the broader distribution problem. LWN reported that Fedora faced questions because GPG 2.4, the last branch described in that article as adhering to OpenPGP, was reaching end-of-life in mid-2026, while GPG 2.5 adopted LibrePGP. The report also noted concerns that updating to 2.5 could lead new users to generate incompatible LibrePGP keys.

A distribution’s default GPG package carries more weight than an upstream tarball. It affects every user who installs gnupg, every script that assumes gpg, every package build process, every documentation page, and every bug report. If the default version produces outputs other ecosystems cannot use, the distribution will receive the blame even if upstream made the technical choice. If the distribution freezes on an old branch, it becomes responsible for backporting fixes or accepting risk.

Distributions are also downstream integrators. They package GnuPG with Libgcrypt, libksba, pinentry, smartcard libraries, desktop integrations, mail clients, and packaging tools. A change in GnuPG can expose dependency version gaps. The 2.5.20 announcement notes that a new gpgsm option needs libksba 1.7.0 or later. That kind of detail matters for distro builds. A feature is not available merely because upstream tagged a release.

Distribution maintainers are being asked to choose between upstream freshness, formal OpenPGP standard alignment, user interoperability, and maintenance capacity. No answer is cost-free. A conservative distro may keep old behavior longer and backport patches. A fast-moving distro may ship 2.5 and document compatibility limits. A security-focused distro may package multiple tools and avoid changing default key-generation behavior without explicit policy.

Users should not treat this as drama for maintainers only. If a company standardizes on a distribution’s GPG version, it inherits that distribution’s choice. If a CI image updates to a new GPG branch, release verification or signing behavior may change. If a developer’s workstation produces a new key format, teammates on older systems may hit failures. Pinning versions is sometimes wise, but pinning without monitoring EOL is technical debt.

The healthiest distro response would be explicit profiles. For example: legacy RFC 4880 verification support, RFC 9580 testing tools, LibrePGP-aware GnuPG, documented defaults, and warnings when generating keys that may not interoperate. The exact packaging choice will vary. The principle is the same: make the policy visible before users discover it through broken encryption.

Sequoia, OpenPGP.js and RNP show the ecosystem is no longer centered on GnuPG

The OpenPGP ecosystem is no longer a single-implementation story. OpenPGP.js says it implements RFC 9580, superseding RFC 4880 and RFC 4880bis. Sequoia’s project page says sequoia-openpgp aims to provide a complete implementation of OpenPGP as defined by RFC 9580, and its sq command-line tool provides encryption, decryption, signatures, verification, key management, and keyserver/WKD interactions. OpenPGP developer documentation lists several implementations with RFC 9580 and version 6 support, including OpenPGP.js, GopenPGP, RNP, and Sequoia.

RNP has its own position. Its home page says it powers end-to-end email encryption in Mozilla Thunderbird and describes itself as LibrePGP and RFC 4880 compliant. Thunderbird uses RNP rather than GnuPG by default for built-in OpenPGP support. That means a major desktop email client has OpenPGP support without GnuPG as the engine.

This pluralism is healthy if standards alignment is strong. Multiple implementations find bugs, prevent monoculture, and support different programming languages and platforms. Webmail needs JavaScript and Go libraries. Rust projects may prefer Sequoia. C++ applications may use RNP. Legacy scripts may use GnuPG. A mature ecosystem should have more than one engine.

Pluralism becomes dangerous when the engines disagree on the future format. If OpenPGP.js and Sequoia move with RFC 9580 while GnuPG moves with LibrePGP, developers have to choose compatibility targets. Some may support both. Some may not. Users will not see a philosophical dispute. They will see an unreadable message or an invalid key.

GnuPG remains one of the most trusted names in OpenPGP, but it is no longer the only practical center of implementation gravity. That reduces single-point dependence. It also reduces GnuPG’s ability to define the ecosystem through defaults. The project’s choices still matter enormously, especially for command-line users and distributions, but they must now coexist with independent libraries used by major services.

For application developers, the message is clear: do not assume GPG behavior defines all OpenPGP behavior. Test against the libraries your users actually use. Define supported standards explicitly. Avoid accepting every packet a library can parse if your application needs stricter policy. Treat signature verification as a policy decision, not a library call. The library can tell you a signature is mathematically valid. Your application must decide whether it is authorized.

Compatibility is now a product decision

Compatibility used to be a background assumption. A product could say “supports PGP” and most users would infer GnuPG-style OpenPGP. That shorthand is now too vague. Products need to state whether they support RFC 4880, RFC 9580, LibrePGP, v6 keys, AEAD modes, WKD, S/MIME, smartcards, detached signatures, cleartext signatures, and which algorithms are accepted by default.

For consumer products, too much detail will confuse users. For enterprise and developer tools, too little detail will create risk. The right solution is layered documentation: simple user-facing statements backed by precise technical compatibility tables. A user may only need to know that a recipient’s client cannot read a message. An administrator needs to know which packet version caused the failure.

This product decision affects onboarding. If a mail tool generates a key that only some clients support, it should say so before the user publishes that key. If a release tool signs with a new format, it should warn maintainers to test downstream verifiers. If a package manager plans to reject older algorithms, it should provide a transition period. Silent cryptographic modernization can be as disruptive as silent deprecation.

Interoperability is part of security usability. A secure format that recipients cannot open drives users back to plaintext, screenshots, shared drives, or ad hoc password-protected archives. A strict verifier that produces unclear errors trains users to bypass verification. A tool that supports too many old formats without warnings preserves risk. Product teams need to balance acceptance, warning, and refusal with care.

Compatibility also shapes market trust. A privacy-focused email provider that follows RFC 9580 may present that as standards alignment. A GnuPG-based enterprise product may present LibrePGP as continuity and deployed stability. A distribution may present oldstable support as risk control. None of these claims is automatically false. Users must ask: compatible with whom, for which operation, under which defaults?

The best products will make migration visible. They will let users generate conservative keys for broad compatibility, newer keys for modern partners, and experimental keys only with explicit opt-in. They will separate signing defaults from encryption defaults. They will report exact reasons for failure. They will give administrators policy controls. Most of all, they will avoid pretending that the split does not exist.

Free software licensing remains a security argument

GnuPG’s free-software status is not branding. It is part of its trust model. The source can be inspected, built, modified, packaged, patched, and redistributed. The GnuPG home page says the software can be used, modified, and distributed under the GNU General Public License. The manual itself is distributed under GPL terms.

For cryptographic tools, source availability is not enough to guarantee security. Bugs can sit in open code for years. Audits cost money. Few users can read C well enough to evaluate a parser. But source availability changes the power relationship. Distributions can patch. Researchers can test. Users can build from source. Competing projects can learn from mistakes. Backdoors are harder to hide, though not impossible.

Free software also supports long-term survival. A proprietary encryption product can disappear, change license, shut down servers, or drop old format support. GnuPG’s code can be kept alive by others if necessary. That matters for archives and signatures. A person who encrypts data today may need to decrypt it in fifteen years. A project that signs releases today may need those signatures verifiable long after a company changes ownership.

The freedom to keep old cryptographic tools buildable is an archival security property. It is not glamorous, but it matters. Old encrypted backups, legal evidence, research data, and software releases may outlast vendors. GnuPG’s licensing makes continuity more plausible.

The flip side is fragmentation. Free software allows forks. LibrePGP itself reflects the freedom to take a different standards path. Downstreams can patch GnuPG, package FreePG variants, or maintain old branches. That freedom gives resilience but can also multiply compatibility states. A proprietary vendor might impose one migration. Free software lets communities disagree in code.

Security buyers should not reduce the issue to open versus closed. They should ask about maintenance, release signing, reproducible builds, vulnerability handling, dependency policy, and governance. GnuPG’s free-software license is a strong foundation. It still needs clear communication and funded maintenance.

The business model matters because maintenance is security

The 2.5.20 announcement includes a rare reminder: GnuPG maintenance and development since 2001 have been done by g10 Code GmbH, funded mostly by donations, with developers working on GnuPG and related software such as Libgcrypt, GPGME, Kleopatra, Okular, and Gpg4win. That paragraph belongs in any serious analysis. Cryptographic infrastructure fails when its maintenance model is weaker than its deployment footprint.

Many organizations benefit from GnuPG without paying for it directly. They verify packages, sign releases, run scripts, and train developers using tooling maintained by a small community and company. That is common in open source. It is also risky when the tool sits close to security boundaries. Funding does not guarantee safety, but underfunding almost guarantees slow response, thin review, and burnout.

GnuPG’s commercial side can make some free-software users uneasy, especially when enterprise products, support contracts, or branded desktop tools appear. Yet the alternative is not pure volunteer abundance. The alternative may be fewer maintainers, slower Windows support, weaker documentation, and less capacity for security fixes. A free cryptographic tool still needs a paid maintenance reality.

The business model also affects priorities. Paying enterprise users may need S/MIME, Windows installers, smartcard flows, compliance documentation, and support SLAs. Volunteer users may need Linux packaging, command-line stability, and mail interoperability. Researchers may want clearer vulnerability disclosure. Distributions may want branch predictability. Balancing those constituencies is part of governance.

The standards split makes trust in governance more important. Users will accept hard migration choices when they understand the reasons, risks, and timelines. They will resist when communication feels muddy. LWN’s Fedora report noted that communication around the 2.5 series and 2.4 end-of-life had been somewhat unclear, with 2.5 initially described as a development branch and later as production-ready. For a tool this central, branch messaging is security communication.

Organizations that depend heavily on GnuPG should consider contributing money, engineering, testing, or documentation. Open-source sustainability is not charity when the tool protects your release pipeline. It is risk management.

Practical guidance for organizations using GnuPG

Organizations should start with inventory. Find every place GnuPG or OpenPGP is used: release signing, Git tags, commit signing, package repositories, vendor key imports, encrypted backups, S/MIME processing, PGP mailboxes, secrets exchange, smartcards, CI jobs, and documentation. Many teams will be surprised by old scripts that call gpg quietly.

Next, separate signing from encryption. Signing workflows need verifier compatibility and key authorization. Encryption workflows need recipient compatibility and long-term decryptability. A branch change that is safe for verification may be risky for encrypted email. A new key format that is acceptable for internal file exchange may fail with external partners. Treat each workflow separately.

Pin trust anchors. Verification should compare against expected fingerprints or managed keyrings, not merely accept any mathematically valid signature. Package repositories should scope signing keys to repositories. Release pipelines should have a small set of authorized signing keys. Developer commit signatures should not automatically imply release authority.

Test GnuPG 2.5 before making it the default generator of new keys or signatures. Verify old archives. Verify new signatures with downstream tools. Test partners. Test mail clients. Test CI. Test hardware tokens. Test failure modes. Record exact versions of GnuPG, GPGME, Libgcrypt, libksba, pinentry, and frontends where relevant.

Avoid new cleartext-signature workflows. Prefer detached signatures for files and structured signing formats for machine-readable data. Where cleartext signatures remain, use safe verification commands and exact output handling. GnuPG’s own late-2025 warning about cleartext signatures should be treated as a migration prompt, not merely a blog post.

Review smartcard procedures. Confirm that private keys are not left on disk after token initialization. Test revocation and recovery. Document what happens when a token is lost, damaged, or held by an employee who leaves. The 2024 smartcard advisory shows why key lifecycle checks matter.

For email, do not assume “PGP supported” is enough. Document supported standards, clients, key discovery methods, and fallback rules. If communicating with external parties, test messages both ways. If using Proton Mail, Thunderbird, Gpg4win, RNP, OpenPGP.js, or GnuPG directly, know which engine is actually creating and parsing messages. Proton, Thunderbird, and OpenPGP.js all have different integration models.

For Git, define what “verified” means. Platform verification is useful, but release verification should be local and policy-based. Decide whether GPG, SSH, or S/MIME signatures are accepted. Decide how expired and revoked keys affect old commits. Use signed tags for releases, not only signed commits, because release tags create clearer audit points. Git and GitHub both support these workflows, but policy must come from the organization.

The next phase is trust plumbing, not privacy theater

GnuPG remains important because it is boring in the right places. It signs files. It verifies signatures. It encrypts to keys. It works without a single provider. It can be scripted. It can be audited. It can be used offline. It can survive platform changes. Those qualities are less exciting than modern encrypted apps, but they are exactly why GPG still appears in release engineering, package management, and sensitive communication.

The project’s challenge is that boring trust plumbing now sits inside a loud standards fight. RFC 9580 has formal authority. LibrePGP has GnuPG’s implementation weight. Post-quantum migration is starting. Distributions are choosing branch policies. Mail clients and libraries are no longer centered on GnuPG alone. Users want security without dialects. Developers want modern cryptography without broken archives. Maintainers want compatibility without freezing forever.

The strongest future for GnuPG is not a return to the past. It is a cleaner separation between legacy compatibility, modern defaults, and explicit interoperability promises. Users need to know when they are creating broadly compatible RFC 4880-era artifacts, when they are using RFC 9580 features, and when they are entering LibrePGP-specific territory. They need tools that make those choices visible before damage occurs.

GnuPG’s quiet role in internet trust is not going away. If anything, software supply-chain pressure makes object signatures more relevant. The rise of post-quantum standards makes long-lived encryption planning more urgent. The collapse of platform trust in many areas makes independent verification more attractive. But the project’s authority will depend less on nostalgia and more on clarity.

A tool born in 1997 still matters in 2026 because trust remains hard. The web became more centralized. Software supply chains became more complex. Email remained messy. Developers moved faster than their release controls. Keys still expire, leak, and get lost. In that world, a free tool that lets users sign, verify, encrypt, and keep control of keys still has a place. The price of that place is discipline: clear standards, funded maintenance, safer defaults, honest compatibility warnings, and workflows that treat cryptography as part of systems engineering rather than a magic seal.

Questions readers ask about GnuPG, OpenPGP and the standards split

What is GnuPG?

GnuPG, also called GPG, is a free-software cryptographic suite used to encrypt data, decrypt data, create digital signatures, verify signatures, manage keys, and integrate cryptographic operations into other tools. It supports OpenPGP-style workflows, S/MIME through gpgsm, and SSH-agent use through gpg-agent.

Is GnuPG the same as PGP?

No. PGP began as Pretty Good Privacy, while OpenPGP became the open standard derived from that family of formats. GnuPG is a free implementation of OpenPGP-style cryptography and related tools. In everyday speech, many users say “PGP” when they mean OpenPGP or GPG.

What is the latest GnuPG version covered here?

The latest version verified for this article is GnuPG 2.5.20, released on May 13, 2026. The release adds gpgsm features, fixes bugs, continues the 2.5 branch transition, and reinforces that the 2.4 series is close to end-of-life.

Why does GnuPG 2.5 matter?

GnuPG 2.5 matters because it is the active production path and introduces changes tied to Windows improvements, post-quantum encryption work, and the project’s LibrePGP direction. It also arrives as GnuPG 2.4 approaches end-of-life, which forces distributions and organizations to choose a migration policy.

What is OpenPGP?

OpenPGP is a standard format for encrypted messages, signatures, keys, and related cryptographic data. It grew out of PGP and has been used for encrypted email, file encryption, release signing, package verification, and developer workflows.

What changed with RFC 9580?

RFC 9580, published in July 2024, is the current IETF OpenPGP standard and obsoletes RFC 4880. It modernizes OpenPGP with new version 6 formats and updated cryptographic mechanisms.

What is LibrePGP?

LibrePGP is an alternative specification developed in response to parts of the IETF OpenPGP update process. Its supporters argue that it better preserves compatibility and deployed expectations. Critics worry that it fragments OpenPGP interoperability.

Does GnuPG support RFC 9580?

GnuPG’s current direction is not a simple adoption of RFC 9580 as the only future path. The 2.5 branch is associated with LibrePGP work and has raised interoperability questions in distributions and the wider OpenPGP ecosystem.

Will old GPG signatures stop working?

Old signatures should not suddenly stop working merely because newer tools exist, but policies may change. Verifiers may reject old algorithms, unsupported formats, expired keys, or untrusted keys. Organizations should test old signatures with the tool versions they plan to use.

Will old encrypted files remain decryptable?

They should remain decryptable if the private key is available, the passphrase is known, the format is still supported, and local policy allows the algorithms involved. Long-term archives should be tested periodically instead of assuming future compatibility.

Is GnuPG good for encrypted email?

GnuPG can be used for encrypted email, but email is the hardest OpenPGP use case because key discovery, MIME handling, client behavior, and user trust decisions are complex. Many users are better served by integrated tools unless they need GPG’s decentralized control.

What is GPGME?

GPGME, or GnuPG Made Easy, is a library that lets applications use GnuPG functions through a higher-level API. It is usually safer for application developers than parsing command-line output directly.

Why do developers sign Git commits or tags with GPG?

Developers sign commits and tags to provide cryptographic evidence about the origin of a change or release point. A valid signature does not prove the code is safe, but it helps detect tampering and supports audit trails.

Is a GitHub verified badge the same as trusting a release?

No. A verified badge means the platform could verify the signature under its rules. A release policy should still define which keys are authorized to sign production releases.

Why do Linux package managers use OpenPGP signatures?

Package managers use signatures to verify that repository metadata or packages came from the expected signing authority and were not altered. This protects users even when packages travel through mirrors or untrusted networks.

What is ML-KEM or Kyber in GnuPG 2.5?

ML-KEM is the NIST-standardized key-encapsulation mechanism formerly known through the Kyber family. GnuPG 2.5 introduces Kyber/ML-KEM as post-quantum encryption work, but organizations still need compatibility and policy testing before relying on it.

Do hardware tokens make GPG keys safe?

Hardware tokens reduce the risk that raw private keys are stolen from a computer. They do not remove the need for revocation, backup planning, safe initialization, PIN policy, and clear signing procedures.

Should organizations upgrade to GnuPG 2.5 immediately?

Organizations should test first. GnuPG 2.4 end-of-life creates pressure to move, but 2.5 may introduce interoperability questions depending on workflows. Signing, encryption, email, package verification, and hardware-token use should be tested separately.

What should teams do now?

Teams should inventory GnuPG use, pin trusted fingerprints, test GnuPG 2.5 against real partners and tools, avoid new cleartext-signature workflows, review smartcard procedures, and document whether their policy targets RFC 4880 compatibility, RFC 9580, LibrePGP, or multiple paths.

Author:
Jan Bielik
CEO & Founder of Webiano Digital & Marketing Agency

GnuPG enters a new era as OpenPGP splits into competing futures
GnuPG enters a new era as OpenPGP splits into competing futures

This article is an original analysis supported by the sources cited below

The GNU Privacy Guard
Official GnuPG project page with the project description, current version, licensing statement, and Windows package reference.

GnuPG 2.5.20 released
Official announcement for GnuPG 2.5.20, including branch notes, bug fixes, post-quantum references, download information, and end-of-life warning for 2.4.

RFC 9580 OpenPGP
IETF datatracker page for RFC 9580, the current OpenPGP standard that obsoletes RFC 4880, RFC 5581, and RFC 6637.

RFC 4880 OpenPGP message format
RFC Editor page for the 2007 OpenPGP Message Format standard that shaped the long RFC 4880 compatibility era.

OpenPGP standard
OpenPGP.org standard page describing RFC 9580 and related OpenPGP RFCs and active drafts.

LibrePGP
LibrePGP project page explaining the alternative specification and its stated motivation around compatibility and security concerns.

LibrePGP message format draft
IETF datatracker page for the LibrePGP message format draft.

A schism in the OpenPGP world
LWN analysis of the OpenPGP and LibrePGP split and its interoperability implications.

Fedora and GPG 2.5
LWN report on Fedora’s discussion around GPG 2.5, GPG 2.4 end-of-life, LibrePGP, and distribution policy.

FIPS 203 Module-Lattice-Based Key-Encapsulation Mechanism Standard
NIST page for ML-KEM, the post-quantum key-encapsulation mechanism referenced in GnuPG’s 2.5 series.

Post-quantum cryptography FIPS approved
NIST announcement of the finalized post-quantum cryptography FIPS standards.

Using the GNU Privacy Guard manual
Official GnuPG manual covering the project’s components, administration, configuration, and architecture.

Invoking GPG-AGENT
GnuPG manual page describing gpg-agent and its role in private-key management.

Invoking GPGSM
GnuPG manual page describing gpgsm, X.509 certificates, CMS, and S/MIME support.

GPGME
Official GPGME page describing the application API for encryption, decryption, signing, verification, and key management.

Gpg4win
Official Gpg4win project page for the Windows GnuPG suite.

Download Gpg4win
Official Gpg4win download page with version 5.0.2, signatures, checksums, and release date.

Kleopatra
KDE application page describing Kleopatra as a graphical certificate manager and front-end for OpenPGP and S/MIME.

OpenPGP in Thunderbird
Mozilla support documentation for Thunderbird’s built-in OpenPGP and S/MIME support.

About commit signature verification
GitHub documentation explaining GPG, SSH, and S/MIME commit and tag signature verification.

Git tools signing your work
Git documentation explaining GPG key setup, signed tags, signed commits, and verification.

SecureApt
Debian wiki documentation describing signed Release files and OpenPGP-based archive authentication.

Fedora keeps you safe
Fedora security page explaining OpenPGP signatures for stable RPM packages and default verification behavior.

EFAIL
Research site explaining Efail attacks against OpenPGP and S/MIME email clients.

Efail USENIX Security 2018
USENIX page for the academic Efail paper on OpenPGP and S/MIME plaintext exfiltration channels.

Cleartext signatures considered harmful
GnuPG blog post warning about cleartext signature risks and legacy behavior.

Smartcard key generation keeps an unprotected backup key on disk
GnuPG security advisory explaining a smartcard key-generation bug and related checks.

OpenPGP.js documentation
OpenPGP.js documentation stating RFC 9580 support and compatibility notes around modern OpenPGP features.

Sequoia PGP projects
Sequoia PGP project page describing its RFC 9580 OpenPGP library and command-line tooling.

OpenPGP for application developers
Developer-focused OpenPGP documentation covering RFC 9580, version 6 formats, implementation support, and future work.

Modernizing and improving PGP security
Proton analysis of the OpenPGP crypto refresh, including AEAD, modern curves, and memory-hard password hashing.

How to use PGP with Proton Mail
Proton support page explaining PGP key pairs, end-to-end encryption, external PGP contacts, and user-facing setup.

RNP
RNP project page describing its role in Thunderbird and its LibrePGP and RFC 4880 positioning.