| Platform | Status |
|---|---|
| Linux | |
| macOS | |
| Windows |
C++ implementation of the Privacy Pass protocol (RFC9576, RFC9577, RFC9578) with optional MOQ extension (draft-ietf-moq-privacy-pass-auth-02) support.
- Blind RSA (Token Type 0x0002) and VOPRF P-384 (Token Type 0x0001)
- Token challenges, requests, responses, and redemption
- Optional MOQ extension (draft-ietf-moq-privacy-pass-auth-02)
- Modern C++23 with
std::expectederror handling - Pluggable crypto backend: OpenSSL 3.x or BoringSSL (details)
Requires CMake 3.20+, C++23 compiler, and OpenSSL (1.1 or 3.x) or BoringSSL. See docs/crypto_backend.md for multi-backend setup.
cmake -B build
cmake --build build --parallelOr with just:
just build # Build with MOQ extension (default)
just moq=OFF build # Build without MOQ extensionjust test # Test with system OpenSSL
just test-openssl3 # Test with OpenSSL 3.x
just test-openssl11 # Test with OpenSSL 1.1
just test-boringssl # Test with BoringSSL
just test-all-crypto # Test all three variantsCustom OpenSSL paths:
just test-openssl11 dir=/path/to/openssl-1.1
just test-openssl3 dir=/path/to/openssl-3.0BSD-2-Clause. See LICENSE.