Curated map of the PET builder/researcher stack, 7-tier taxonomy, seeded with well-known projects. Skeleton — to be verified + expanded. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
111 lines
6.5 KiB
Markdown
111 lines
6.5 KiB
Markdown
# Awesome PETs — Privacy Enhancing Technologies [](https://awesome.re)
|
|
|
|
> A curated **map of the privacy-enhancing technology stack** — the cryptographic primitives, protocols,
|
|
> and systems you use to *build* privacy into products and research.
|
|
>
|
|
> **For builders and researchers, not switchers.** If you're looking for "use this app instead of Google,"
|
|
> see [awesome-privacy](https://github.com/pluja/awesome-privacy). This list answers the other question:
|
|
> *which primitive, protocol, or system do I reach for?*
|
|
|
|
PETs are the technologies that let data be **used without being exposed** — computed on, queried, shared,
|
|
or transmitted while staying private. This list organizes them into a practical 7-tier stack (synthesized
|
|
from the [ENISA](https://www.enisa.europa.eu/publications/pets-evolution-and-state-of-the-art), UN, and
|
|
OECD PET taxonomies) and links out to the excellent per-discipline lists for depth.
|
|
|
|
> **🚧 Skeleton / work-in-progress.** Seeded with well-known projects; entries to be verified, expanded, and
|
|
> annotated. Contributions welcome.
|
|
|
|
## Contents
|
|
- [1. Input Privacy](#1-input-privacy) — data never seen in the clear
|
|
- [2. Output Privacy](#2-output-privacy) — aggregate results with formal guarantees
|
|
- [3. Federated & Distributed Analytics](#3-federated--distributed-analytics)
|
|
- [4. Anonymity & Traffic-Analysis Resistance](#4-anonymity--traffic-analysis-resistance)
|
|
- [5. Verified / Proof-Based Privacy](#5-verified--proof-based-privacy)
|
|
- [6. Hardware-Anchored Confidential Compute](#6-hardware-anchored-confidential-compute)
|
|
- [7. Accountability & Transparency](#7-accountability--transparency)
|
|
- [Related Lists](#related-lists)
|
|
- [Contributing](#contributing)
|
|
|
|
---
|
|
|
|
## 1. Input Privacy
|
|
*Compute on data that is never decrypted or revealed to the other party.*
|
|
|
|
**Secure Multi-Party Computation (MPC)**
|
|
- [MP-SPDZ](https://github.com/data61/MP-SPDZ) — versatile MPC framework, many protocols.
|
|
- [EMP-toolkit](https://github.com/emp-toolkit) — efficient MPC (garbled circuits, OT).
|
|
- [MPyC](https://github.com/lschoe/mpyc) — Python MPC via secret sharing.
|
|
|
|
**Homomorphic Encryption (HE / FHE)**
|
|
- [OpenFHE](https://github.com/openfheorg/openfhe-development) — community FHE library (BGV/BFV/CKKS/TFHE).
|
|
- [Microsoft SEAL](https://github.com/microsoft/SEAL) — widely used HE library.
|
|
- [TFHE-rs](https://github.com/zama-ai/tfhe-rs) / [Concrete](https://github.com/zama-ai/concrete) — Zama's Rust FHE stack.
|
|
- [Lattigo](https://github.com/tuneinsight/lattigo) — Go lattice-based HE.
|
|
|
|
**Private Information Retrieval (PIR) / PSI / ORAM**
|
|
- [SealPIR](https://github.com/microsoft/SealPIR) — single-server PIR.
|
|
- [Private Set Intersection (libPSI / volePSI)](https://github.com/Visa-Research/volepsi) — fast PSI.
|
|
|
|
## 2. Output Privacy
|
|
*Release aggregate insights with mathematical privacy guarantees.*
|
|
- [OpenDP](https://github.com/opendp/opendp) — differential privacy primitives (Harvard/Microsoft).
|
|
- [Google differential-privacy](https://github.com/google/differential-privacy) — DP libraries + tooling.
|
|
- [Opacus](https://github.com/pytorch/opacus) — DP training for PyTorch.
|
|
- [SDV](https://github.com/sdv-dev/SDV) — synthetic data generation.
|
|
|
|
## 3. Federated & Distributed Analytics
|
|
*Train and analyze without centralizing the raw data.*
|
|
- [Flower](https://github.com/adap/flower) — framework-agnostic federated learning.
|
|
- [TensorFlow Federated](https://github.com/tensorflow/federated) — FL in TF.
|
|
- [OpenFL](https://github.com/securefederatedai/openfl) — Intel's federated learning.
|
|
- [PySyft](https://github.com/OpenMined/PySyft) — privacy-preserving ML (OpenMined).
|
|
|
|
## 4. Anonymity & Traffic-Analysis Resistance
|
|
*Hide who is talking to whom, and the metadata around it.*
|
|
- [Tor](https://www.torproject.org/) — onion routing, the anonymity baseline.
|
|
- [Nym](https://github.com/nymtech/nym) — mixnet with cover traffic + incentives.
|
|
- [I2P](https://geti2p.net/) — garlic-routed anonymous network.
|
|
- [Katzenpost](https://github.com/katzenpost/katzenpost) — modern mix network.
|
|
- [libsignal](https://github.com/signalapp/libsignal) — the Signal Protocol (E2EE + metadata minimization).
|
|
- [OpenMLS](https://github.com/openmls/openmls) — Rust impl of IETF MLS (group E2EE).
|
|
- [Oblivious HTTP (OHTTP, RFC 9458)](https://datatracker.ietf.org/doc/rfc9458/) — decouple requests from client identity.
|
|
|
|
## 5. Verified / Proof-Based Privacy
|
|
*Prove something is true without revealing the underlying data.*
|
|
- [circom](https://github.com/iden3/circom) + [snarkjs](https://github.com/iden3/snarkjs) — zk-SNARK circuits + tooling.
|
|
- [arkworks](https://github.com/arkworks-rs) — Rust ecosystem for ZK / SNARKs.
|
|
- [halo2](https://github.com/zcash/halo2) — recursive proof system (Zcash).
|
|
- [gnark](https://github.com/Consensys/gnark) — Go zk-SNARK library.
|
|
- [Noir](https://github.com/noir-lang/noir) — language for writing ZK circuits.
|
|
|
|
## 6. Hardware-Anchored Confidential Compute
|
|
*Run code in an attestable, isolated enclave.*
|
|
- [Open Enclave SDK](https://github.com/openenclave/openenclave) — cross-platform TEE SDK.
|
|
- [Gramine](https://github.com/gramineproject/gramine) — run unmodified apps in SGX.
|
|
- [Occlum](https://github.com/occlum/occlum) — memory-safe LibOS for SGX.
|
|
- [Enarx](https://github.com/enarx/enarx) — WebAssembly in TEEs (SGX/SEV).
|
|
- [Constellation](https://github.com/edgelesssys/constellation) — confidential Kubernetes.
|
|
|
|
## 7. Accountability & Transparency
|
|
*Make privacy claims auditable.*
|
|
- [Certificate Transparency / Trillian](https://github.com/google/trillian) — verifiable, append-only logs.
|
|
- [Sigstore](https://github.com/sigstore) — transparency for software signing.
|
|
- Warrant canaries — pattern + tooling (to be expanded).
|
|
|
|
---
|
|
|
|
## Related Lists
|
|
Deep dives in a single discipline — this list maps the territory; these go deep:
|
|
- [awesome-mpc](https://github.com/rdragos/awesome-mpc) · [awesome-he](https://github.com/jonaschn/awesome-he) ·
|
|
[awesome-zero-knowledge-proofs](https://github.com/matter-labs/awesome-zero-knowledge-proofs) ·
|
|
[awesome-tor](https://github.com/ajvb/awesome-tor)
|
|
- Consumer tools (different audience): [awesome-privacy](https://github.com/pluja/awesome-privacy) ·
|
|
[Lissy93/awesome-privacy](https://github.com/Lissy93/awesome-privacy)
|
|
|
|
## Contributing
|
|
PRs welcome. Add a project with: name, link, and a one-line description of *what privacy property it
|
|
provides*. Prefer maintained, documented, open-source projects. (CONTRIBUTING.md + license TODO.)
|
|
|
|
---
|
|
|
|
*Curated by [Cypherpunk School](https://cypherpunkschool.com). Knowledge should be free.*
|