{"slug": "sequoia-pgp", "name": "Sequoia PGP", "category": "security", "category_name": "Security and passwords", "description": "", "recommenders": 4, "commenters": 10, "warners": 3, "score": 1.487, "rising": -1.31, "first": "2025-11-01", "latest": "2026-07-07", "why": "I recommend people to spend some time and try out sequoia (sq)", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 2, "compare": 2, "warn": 4}, "spark": [0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I recommend people to spend some time and try out sequoia (sq)", "kind": "", "icon": true, "domain": "sequoia-pgp.org", "github_repo": null, "official_url": "https://sequoia-pgp.org/", "pricing": "", "aliases": ["Sequoia PGP", "Sequoia", "Sequoia-PGP"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 750884193, "item_id": 46930262, "url": "https://news.ycombinator.com/item?id=46930262", "by": "Avamander", "date": "2026-02-07", "stance": "recommend", "quote": "That's why Apt switched to Sequoia.", "excerpt": "That was a long time ago and it was specific to one implementation. In comparison GnuPG has had so many critical vulnerabilities even recently. That's why Apt switched to Sequoia. Modern TLS stacks are far from fragile, especially in comparison to PGP implementations. It's a significant reduction in attack surface when it's a MITM we're talking about. Malicious mirrors remain a problem, but having TLS in the mix does", "context": "", "use_case": "", "switched_from": "", "story": "The RCE that AMD won't fix"}, {"id": 743800000, "item_id": 46487500, "url": "https://news.ycombinator.com/item?id=46487500", "by": "zimmerfrei", "date": "2026-01-04", "stance": "recommend", "quote": "I recommend people to spend some time and try out sequoia (sq)", "excerpt": "As mentioned a few days ago, this post mainly covers a gpg problem not a PGP problem. I recommend people to spend some time and try out sequoia (sq) [0][1], which is a sane, clean room re-implementation of OpenPGP in Rust. For crypto, it uses the backend you prefer (including openssl, no more ligcrypt!) and it isn't just a CLI application but also as a library you can invoke from many other languages. It does signing", "context": "", "use_case": "OpenPGP signing and encryption", "switched_from": "", "story": "The PGP Problem (2019)"}, {"id": 742734672, "item_id": 46420917, "url": "https://news.ycombinator.com/item?id=46420917", "by": "baobun", "date": "2025-12-29", "stance": "recommend", "quote": "If you haven't checked out sequoia (sq), you should!", "excerpt": "If you haven't checked out sequoia (sq), you should! I think it ticks your boxes. https://book.sequoia-pgp.org/about_sequoia.html", "context": "", "use_case": "OpenPGP encryption", "switched_from": "", "story": "Gpg.fail"}, {"id": 742491888, "item_id": 46405743, "url": "https://news.ycombinator.com/item?id=46405743", "by": "baobun", "date": "2025-12-27", "stance": "recommend", "quote": "It's the recommended replacement.", "excerpt": "sq (sequoia) is compatible and is available in your favorite distro. It's the recommended replacement. https://book.sequoia-pgp.org/about_sequoia.html", "context": "", "use_case": "OpenPGP encryption", "switched_from": "", "story": "Gpg.fail"}, {"id": 734686837, "item_id": 45917927, "url": "https://news.ycombinator.com/item?id=45917927", "by": "lrvick", "date": "2025-11-13", "stance": "recommend", "quote": "Just to name a few of the projects I work on, use, or find most interesting", "excerpt": "Just to name a few of the projects I work on, use, or find most interesting: https://keyoxide.org/ https://git.distrust.co/public/keyfork https://git.distrust.co/public/airgap https://codeberg.org/heiko/openpgp-pkcs11 https://codeberg.org/openpgp-card/openpgp-card-tools https://sequoia-pgp.org/ https://github.com/rpgp/rpgp https://www.nitrokey.com/news/2021/new-nitrokey-3-nfc-usb-c-rust-common-criteria-eal-6 https://", "context": "", "use_case": "", "switched_from": "", "story": "Switching from GPG to Age"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 743272689, "item_id": 46454543, "url": "https://news.ycombinator.com/item?id=46454543", "by": "1vuio0pswjnm7", "date": "2026-01-01", "stance": "warn", "quote": "discovered multiple vulnerabilities in cryptographic utilities, namely in GnuPG, Sequoia PGP, age, and minisign.", "excerpt": "https://media.ccc.de/v/39c3-to-sign-or-not-to-sign-practical-vulnerabilities-i \"When looking into various PGP-related codebases for some personal use cases, we found these expectations not met, and discovered multiple vulnerabilities in cryptographic utilities, namely in GnuPG, Sequoia PGP, age, and minisign.\" \"The vulnerabilities have implementation bugs at their core, for example in parsing code, rather than bugs i", "context": "", "use_case": "", "switched_from": "", "story": "A Vulnerability in Libsodium"}, {"id": 734657280, "item_id": 45916080, "url": "https://news.ycombinator.com/item?id=45916080", "by": "lrvick", "date": "2025-11-13", "stance": "warn", "quote": "Sequoia is only used as a library for a few crypto primitives that there are multiple alternatives for now we will be switching to.", "excerpt": "Sequoia is only used as a library for a few crypto primitives that there are multiple alternatives for now we will be switching to. Thankully, because of standards, we can switch to a leaner library set without breaking compatibility. https://codeberg.org/heiko/pkcs11-openpgp-notes", "context": "", "use_case": "crypto primitives library", "switched_from": "", "story": "Switching from GPG to Age"}, {"id": 732667600, "item_id": 45791725, "url": "https://news.ycombinator.com/item?id=45791725", "by": "jeroenhd", "date": "2025-11-02", "stance": "warn", "quote": "That's not a Rust problem, that's a sequoia problem.", "excerpt": "That's not a Rust problem, that's a sequoia problem. As for why, probably the same reason the dependency tree for gnupg (generate with `debtree -R -b gnupg` but grepping out all the gcc/mingw dependencies) looks like this: https://static.jeroenhd.nl/hn/gnupg.svg There's probably a good reason why I need libjpeg62, libusb-1.0-0-dev, and libgmp3 to compile gnupg, though they're hidden away from the usual developer docs", "context": "", "use_case": "", "switched_from": "", "story": "Hard Rust requirements from May onward"}, {"id": 732516785, "item_id": 45782299, "url": "https://news.ycombinator.com/item?id=45782299", "by": "s20n", "date": "2025-11-01", "stance": "warn", "quote": "I really hope they don't replace the audited and battle-tested GnuPG parts with some new-fangled project like that", "excerpt": "> This extends at first to the Rust compiler and standard library, and the Sequoia ecosystem. By Sequoia, are they talking about replacing GnuPG with https://sequoia-pgp.org/ for signature verification? I really hope they don't replace the audited and battle-tested GnuPG parts with some new-fangled project like that just because it is written in \"memory-safe\" rust.", "context": "", "use_case": "", "switched_from": "", "story": "Hard Rust requirements from May onward"}]}], "who": [{"by": "acorn221", "context": "does vulnerability research with sensitive info", "url": "https://news.ycombinator.com/item?id=48825638", "date": "2026-07-07"}], "tags": [], "use_cases": ["openpgp encryption", "pgp engine", "crypto library", "openpgp signing and encryption", "openpgp smartcard support", "crypto primitives library"], "compared": [{"slug": "gnupg", "name": "GnuPG", "co": 7, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=46403200", "title": "Gpg.fail", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=45825040", "title": "Switching from GPG to Age", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=45779860", "title": "Hard Rust requirements from May onward", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48825563", "title": "Show HN: PGP made convenient (encrypted at rest with passkeys)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47605638", "title": "I built the best PGP toolset on Chrome", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46906947", "title": "The RCE that AMD won't fix", "mentions": 1}], "sentiment_by_month": {"2025-11": {"warn": 3, "compare": 1}, "2025-12": {"compare": 1, "recommend": 1}, "2026-01": {"warn": 1, "recommend": 1}, "2026-02": {"recommend": 1}, "2026-03": {}, "2026-04": {"neutral": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {"neutral": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 781210209, "item_id": 48825638, "url": "https://news.ycombinator.com/item?id=48825638", "by": "acorn221", "date": "2026-07-07", "stance": "neutral", "quote": "Uses SequoiaPGP via WASM in rust", "excerpt": "This is my extension, I made it because I hate the UX of PGP. It uses passkeys (or passwords) to encrypt all keys (public and private) at rest so your contacts can't get leaked easily. I do a bunch of vulnerability research with sensitive info and I hated having to go to the CLI every time I wanted to encrypt a new message. I found myself getting lazy and not encrypting messages. Uses SequoiaPGP via WASM in rust, pri", "context": "does vulnerability research with sensitive info", "use_case": "PGP engine", "switched_from": "", "story": "Show HN: PGP made convenient (encrypted at rest with passkeys)"}, {"id": 761690225, "item_id": 47605639, "url": "https://news.ycombinator.com/item?id=47605639", "by": "acorn221", "date": "2026-04-01", "stance": "neutral", "quote": "The Crypto side of this is based off of SequoiaPGP, compiled to WASM.", "excerpt": "Bold claim, I know. It's opensource, has better UX and fewer requested permissions than every other PGP extension IMO. It uses passkeys as the primary flow (but you can use passwords) to fully E2EE your secrets. You can choose the synced storage (syncs between devices and touches google's servers) or you can just keep everything local. There are no calls to external services like analytics or any of my own servers. T", "context": "", "use_case": "Crypto library", "switched_from": "", "story": "I built the best PGP toolset on Chrome"}, {"id": 750884193, "item_id": 46930262, "url": "https://news.ycombinator.com/item?id=46930262", "by": "Avamander", "date": "2026-02-07", "stance": "recommend", "quote": "That's why Apt switched to Sequoia.", "excerpt": "That was a long time ago and it was specific to one implementation. In comparison GnuPG has had so many critical vulnerabilities even recently. That's why Apt switched to Sequoia. Modern TLS stacks are far from fragile, especially in comparison to PGP implementations. It's a significant reduction in attack surface when it's a MITM we're talking about. Malicious mirrors remain a problem, but having TLS in the mix does", "context": "", "use_case": "", "switched_from": "", "story": "The RCE that AMD won't fix"}, {"id": 743800000, "item_id": 46487500, "url": "https://news.ycombinator.com/item?id=46487500", "by": "zimmerfrei", "date": "2026-01-04", "stance": "recommend", "quote": "I recommend people to spend some time and try out sequoia (sq)", "excerpt": "As mentioned a few days ago, this post mainly covers a gpg problem not a PGP problem. I recommend people to spend some time and try out sequoia (sq) [0][1], which is a sane, clean room re-implementation of OpenPGP in Rust. For crypto, it uses the backend you prefer (including openssl, no more ligcrypt!) and it isn't just a CLI application but also as a library you can invoke from many other languages. It does signing", "context": "", "use_case": "OpenPGP signing and encryption", "switched_from": "", "story": "The PGP Problem (2019)"}, {"id": 743272689, "item_id": 46454543, "url": "https://news.ycombinator.com/item?id=46454543", "by": "1vuio0pswjnm7", "date": "2026-01-01", "stance": "warn", "quote": "discovered multiple vulnerabilities in cryptographic utilities, namely in GnuPG, Sequoia PGP, age, and minisign.", "excerpt": "https://media.ccc.de/v/39c3-to-sign-or-not-to-sign-practical-vulnerabilities-i \"When looking into various PGP-related codebases for some personal use cases, we found these expectations not met, and discovered multiple vulnerabilities in cryptographic utilities, namely in GnuPG, Sequoia PGP, age, and minisign.\" \"The vulnerabilities have implementation bugs at their core, for example in parsing code, rather than bugs i", "context": "", "use_case": "", "switched_from": "", "story": "A Vulnerability in Libsodium"}, {"id": 742734672, "item_id": 46420917, "url": "https://news.ycombinator.com/item?id=46420917", "by": "baobun", "date": "2025-12-29", "stance": "recommend", "quote": "If you haven't checked out sequoia (sq), you should!", "excerpt": "If you haven't checked out sequoia (sq), you should! I think it ticks your boxes. https://book.sequoia-pgp.org/about_sequoia.html", "context": "", "use_case": "OpenPGP encryption", "switched_from": "", "story": "Gpg.fail"}, {"id": 742491888, "item_id": 46405743, "url": "https://news.ycombinator.com/item?id=46405743", "by": "baobun", "date": "2025-12-27", "stance": "recommend", "quote": "It's the recommended replacement.", "excerpt": "sq (sequoia) is compatible and is available in your favorite distro. It's the recommended replacement. https://book.sequoia-pgp.org/about_sequoia.html", "context": "", "use_case": "OpenPGP encryption", "switched_from": "", "story": "Gpg.fail"}, {"id": 742486785, "item_id": 46405424, "url": "https://news.ycombinator.com/item?id=46405424", "by": "upofadown", "date": "2025-12-27", "stance": "compare", "quote": "The RFC-9580 faction (Sequoia) is following a kind of maximalist approach", "excerpt": "I think it would be more accurate (and more helpful) to say that the two factions in the OpenPGP standards schism[1] have pulled away from the idea of consensus. There is a fundamental philosophical difference here. The LiberePGP faction (GnuPGP) is following the traditional PGP minimalism when it comes to changes and additions to the standard. The RFC-9580 faction (Sequoia) is following a kind of maximalist approach", "context": "", "use_case": "", "switched_from": "", "story": "Gpg.fail"}, {"id": 737132417, "item_id": 46070776, "url": "https://news.ycombinator.com/item?id=46070776", "by": "joecool1029", "date": "2025-11-27", "stance": "compare", "quote": "allegedly sequoia supports openpgp smartcards so I might give it a shot soon", "excerpt": "Even reading this post stresses me out. Every year or couple years I'd do it because gnupg2 is one of the worst user-hostile pieces of CLI software and I use it with smartcards (and now yubikeys). Now apparently there are alternatives, allegedly sequoia supports openpgp smartcards so I might give it a shot soon: https://gitlab.com/sequoia-pgp/sequoia-keystore/", "context": "", "use_case": "OpenPGP smartcard support", "switched_from": "", "story": "Renewing GPG Subkeys in 2025"}, {"id": 734686837, "item_id": 45917927, "url": "https://news.ycombinator.com/item?id=45917927", "by": "lrvick", "date": "2025-11-13", "stance": "recommend", "quote": "Just to name a few of the projects I work on, use, or find most interesting", "excerpt": "Just to name a few of the projects I work on, use, or find most interesting: https://keyoxide.org/ https://git.distrust.co/public/keyfork https://git.distrust.co/public/airgap https://codeberg.org/heiko/openpgp-pkcs11 https://codeberg.org/openpgp-card/openpgp-card-tools https://sequoia-pgp.org/ https://github.com/rpgp/rpgp https://www.nitrokey.com/news/2021/new-nitrokey-3-nfc-usb-c-rust-common-criteria-eal-6 https://", "context": "", "use_case": "", "switched_from": "", "story": "Switching from GPG to Age"}, {"id": 734657280, "item_id": 45916080, "url": "https://news.ycombinator.com/item?id=45916080", "by": "lrvick", "date": "2025-11-13", "stance": "warn", "quote": "Sequoia is only used as a library for a few crypto primitives that there are multiple alternatives for now we will be switching to.", "excerpt": "Sequoia is only used as a library for a few crypto primitives that there are multiple alternatives for now we will be switching to. Thankully, because of standards, we can switch to a leaner library set without breaking compatibility. https://codeberg.org/heiko/pkcs11-openpgp-notes", "context": "", "use_case": "crypto primitives library", "switched_from": "", "story": "Switching from GPG to Age"}, {"id": 732667600, "item_id": 45791725, "url": "https://news.ycombinator.com/item?id=45791725", "by": "jeroenhd", "date": "2025-11-02", "stance": "warn", "quote": "That's not a Rust problem, that's a sequoia problem.", "excerpt": "That's not a Rust problem, that's a sequoia problem. As for why, probably the same reason the dependency tree for gnupg (generate with `debtree -R -b gnupg` but grepping out all the gcc/mingw dependencies) looks like this: https://static.jeroenhd.nl/hn/gnupg.svg There's probably a good reason why I need libjpeg62, libusb-1.0-0-dev, and libgmp3 to compile gnupg, though they're hidden away from the usual developer docs", "context": "", "use_case": "", "switched_from": "", "story": "Hard Rust requirements from May onward"}, {"id": 732516785, "item_id": 45782299, "url": "https://news.ycombinator.com/item?id=45782299", "by": "s20n", "date": "2025-11-01", "stance": "warn", "quote": "I really hope they don't replace the audited and battle-tested GnuPG parts with some new-fangled project like that", "excerpt": "> This extends at first to the Rust compiler and standard library, and the Sequoia ecosystem. By Sequoia, are they talking about replacing GnuPG with https://sequoia-pgp.org/ for signature verification? I really hope they don't replace the audited and battle-tested GnuPG parts with some new-fangled project like that just because it is written in \"memory-safe\" rust.", "context": "", "use_case": "", "switched_from": "", "story": "Hard Rust requirements from May onward"}]}