# PQ Crypta > Post-quantum cryptography, run in production rather than described. The site is > backed by a self-operated edge: an HTTP/3 + QUIC proxy with server-side Encrypted > Client Hello, 35 continuously verified encryption engines, and a TLS fingerprint > directory built from traffic this edge actually sees. Operated by Allan Riddel. Contact: contact@pqcrypta.com Most of what is here is measurement, not marketing. Where a page states a number, that number came from the running system and is regenerated on a timer. ## Datasets (machine-readable, no auth, CORS open) - [JA4/JA3 fingerprint directory — JSON](https://pqcrypta.com/ja4/api.php): Every fingerprint in the directory, curated and observed, with each JA4 decoded into the handshake properties it encodes and each JA3 decoded back into named IANA cipher suites, extensions and groups. Supports `?fp=` for one fingerprint plus its JA4_c family, `?class=`/`?tier=`/`?q=` filters, and `?format=csv`. - [Fingerprint directory — CSV](https://pqcrypta.com/ja4/api.php?format=csv): The same data flat, one row per fingerprint. - [Per-fingerprint pages](https://pqcrypta.com/ja4/): Each fingerprint also has a human-readable page at `/ja4/fp//`, listed in [sitemap-ja4.xml](https://pqcrypta.com/sitemaps/sitemap-ja4.xml). ## What is distinctive here - [JA4 fingerprint directory](https://pqcrypta.com/ja4/): Curated classifications next to fingerprints observed live, named from the User-Agents seen on their requests. Shows how many distinct JA3 hashes each JA4 absorbs — the busiest entry is one headless Chrome build spread across 4,104 JA3s, which is the concrete argument for JA4 over JA3. - [HTTP/3 client conformance suite](https://pqcrypta.com/conformance/): A public service that makes the server misbehave on purpose — reserved frame types, a duplicated SETTINGS identifier, a control stream opening with the wrong frame — so a client library can find out how it copes. 51 tests, each citing the RFC clause it exercises, with a machine-readable catalogue at [conformance.pqcrypta.com/catalog.json](https://conformance.pqcrypta.com/catalog.json) and JSON reports for CI. Nothing else public tests HTTP/3 *clients* this way; offering it requires a forked QUIC stack. - [HTTP/3 client matrix](https://pqcrypta.com/conformance/matrix/): The same 59 tests run weekly against twelve independent implementations — curl (ngtcp2), aioquic, Chromium QUICHE, quic-go, Cloudflare quiche, neqo, picoquic, ngtcp2 driven directly, LiteSpeed lsquic, Alibaba xquic, .NET's HttpClient over msquic and quico (QUIC and HTTP/3 in pure JavaScript for Node.js) — so the results are comparative rather than self-reported. A thirteenth, `quinn`, runs on the same stack the suite is built on; it is published in full as a self-test and excluded from every comparative figure, because a suite that ranks its own implementation is scoring its own game however plainly it says so. Clients are listed by how much of the catalogue they answered rather than by pass rate: a rate over 30 conclusive results is not comparable with one over 54, and sorting by percentage alone puts the thinnest wrapper at the top. Verdicts are per client, and there are two states besides pass and fail. `unsupported` means the client said it does not do this — by what it advertised, or by refusing outright — which is an answer about the client. `inconclusive` means the suite failed to measure, which is a defect in the suite and is tracked as one. A failure is never inferred from silence: it requires positive evidence the client read the anomaly, and where that evidence is available the suite now goes and gets it rather than reporting a shrug. - [Post-quantum certificates, measured](https://pqcrypta.com/conformance/post-quantum-certificates/): the two halves of the PQC migration are nowhere near each other, and the numbers come from the same run as the matrix. Eight of the twelve measured implementations complete a hybrid X25519MLKEM768 key exchange — three others offer no post-quantum key share at all, so they never reach the port — and three can receive an ML-DSA-87 certificate chain. The rest never see it — their `signature_algorithms` does not name ML-DSA-87, so the handshake fails on the server side before the chain is sent, which is a failure mode no server configuration can fix. Not a defect report: no RFC requires post-quantum certificate support, and the test is graded accordingly. - [Conformance client directory](https://pqcrypta.com/conformance/clients/) and [anomaly directory](https://pqcrypta.com/conformance/tests/): the same corpus as one page per fact rather than one grid — a page per implementation (`/conformance/client//`), a page per deliberate violation (`/conformance/test//`), and a page per individual verdict (`/conformance/result///`), each naming the RFC clause it was judged against and linking to both its parents. 785 addressable pages. Per-client badges for a README at `/conformance/badge/.svg`, scored over conclusive results only — pass plus fail — because neither an unsupported capability nor a failed measurement is a judgement against the client. - [Where HTTP/3 clients fail](https://pqcrypta.com/conformance/findings/): every measured failure, grouped by the clause rather than by the implementation. The grouping is the point: `h-push-promise-unsolicited` is failed the same way by quinn, aioquic and Chromium — three independent teams reading RFC 9114 §7.2.5 and all reporting H3_FRAME_UNEXPECTED where the document requires H3_ID_ERROR — which is evidence about the clause, not three unrelated bugs. Specification violations, not vulnerabilities, and the page says so. - [Your own handshake](https://pqcrypta.com/handshake/): Computes the visitor's own JA4 from their ClientHello and links it into the directory, and says whether the key exchange that carried the request was post-quantum or classical. - [Public MASQUE relay](https://pqcrypta.com/masque/): A free CONNECT-UDP endpoint over HTTP/3, RFC 9298, with a standalone reference client. There is almost nowhere else to point a CONNECT-UDP implementation at a live relay. - [HTTP/3 and QUIC scanner](https://pqcrypta.com/http3-quic/): Grades a domain's HTTP/3 deployment. 614 domains scanned so far; 401 of them grade F. The page is a client of a JSON API anyone can call: POST /http3-scanner/scan (API key, X-API-Key header) returns the full result object for one origin, GET /http3-scanner/corpus and GET /http3-scanner/stats are open. All three are machine-readable, need no browser User-Agent. GET /http3-scanner/timeline?domain= returns the per-domain history of what changed between observations. Every panel on the page is rendered from one of these four. See https://api.pqcrypta.com/http3-scanner/corpus. - [Certificate compression](https://pqcrypta.com/http3-quic/): RFC 8879 is live on this origin — the chain goes out at 2,376 bytes instead of 3,435, roughly offsetting what the ML-KEM key share adds. The scanner reads which algorithm any origin compressed with; of six large sites sampled, only one did. - [Encrypted Client Hello](https://pqcrypta.com/quic-hardening/): Four apex domains share one ECHConfig on one IP, which is a working multi-domain anonymity set run outside a large CDN. - [Cryptographic discovery agent](https://pqcrypta.com/discovery/): Inventories cryptographic assets across nine surfaces, runs air-gapped, and produces CycloneDX 1.6 CBOMs. Offline and online scoring are byte-identical. - [Health of every engine](https://pqcrypta.com/health/): All 35 encryption engines proving a full key-generation, encryption and decryption roundtrip on a schedule. ## Protocol and cryptography writing - [QUIC whitepaper](https://pqcrypta.com/quic-whitepaper/) - [HTTP/3 whitepaper](https://pqcrypta.com/http3-whitepaper/): A scroll-driven replay of one real scan. - [Multipath QUIC](https://pqcrypta.com/multipath-whitepaper/) - [QUIC hardening](https://pqcrypta.com/quic-hardening/) - [HTTP request smuggling](https://pqcrypta.com/http-smuggling/) - [Traffic analysis](https://pqcrypta.com/traffic-analysis/) - [Post-quantum TLS tickets](https://pqcrypta.com/pqc-tickets/) - [Encrypted sharing design](https://pqcrypta.com/share-whitepaper/) ## Tools - [Encryption](https://pqcrypta.com/encryption/): 35 algorithms; Password Mode and fourteen key algorithms run in the browser (keys and plaintext stay on the device), the rest on the API over TLS 1.3 with X25519MLKEM768. - [Encrypted share](https://pqcrypta.com/share/): Nested dual-KEM, HQC-256 over ML-KEM-1024, so both must break. - [CBOM builder](https://pqcrypta.com/cbom/) - [PQC readiness](https://pqcrypta.com/pqc-ready/) - [Entropy audit](https://pqcrypta.com/entropy/) - [Compression](https://pqcrypta.com/compression/) - [Speed test](https://pqcrypta.com/speedtest/): Over WebTransport. - [Benchmarks](https://pqcrypta.com/benchmark/) and [analysis](https://pqcrypta.com/benchmark-analysis/) ## Optional - [Sitemap index](https://pqcrypta.com/sitemap.xml) - [Security contact](https://pqcrypta.com/.well-known/security.txt) - [Fun and visual experiments](https://pqcrypta.com/fun/) - [Music](https://pqcrypta.com/music/)