Skip to content

Find out why your server isn't post-quantum. Then fix it.

pqdoctor checks any TLS, mail or SSH server for post-quantum key exchange, names the cause, and prints the config line that fixes it. Flarebox runs it against every origin behind your Cloudflare zones, and keeps the proof.
~70%of browser traffic to Cloudflare uses post-quantum key exchange (Cloudflare, 2026-09-29)
~15%of the origins behind Cloudflare do (Cloudflare, 2026-09-29)
25.5%of 4,616 non-CDN origins in the Tranco top 10k do (the study, 2026-10-14)
98.4%if the top 3 causes were fixed: an upper bound, not a forecast

pqdoctor

A single-file command-line tool for Windows, macOS and Linux. Check one server, scan thousands, check mail over STARTTLS or SSH. JSON output and exit codes for CI.

Quickstart · CLI reference · Download

Flarebox

A desktop app for Cloudflare, for Windows and Linux. Local Workers projects, deploys, your zones through the API, and pqdoctor on every origin with history, fix reports and a CBOM.

Download · Read the docs · Quickstart

pqdoctor github.com · real output, 2026-10-15
✘ github.com:443 (140.82.114.4)
Not post-quantum
TLS 1.3 works, but when offered X25519MLKEM768 the server asks for X25519 instead. Its TLS library doesn't have ML-KEM, or the groups are limited in config.
cause: no-mlkem
Fixes
1. Upgrade the TLS library under the server
Hybrid PQ (X25519MLKEM768) ships in OpenSSL 3.5+, current BoringSSL and AWS-LC, Go 1.24+ and rustls with aws-lc-rs. If curves are set by hand, add X25519MLKEM768 to the front of the list.
# Go
cfg.CurvePreferences = nil // Go 1.24+ default includes X25519MLKEM768
# OpenSSL-based
Groups = X25519MLKEM768:X25519:prime256v1
2. Can't upgrade? Cloudflare Tunnel
Run cloudflared next to the server. The tunnel from the server to Cloudflare already uses post-quantum key agreement, so the hop that leaves your network is protected even if the server isn't.
cloudflared tunnel run <tunnel-name>

Seven handshake-only probes tell the causes apart: an old TLS library, a hand-written curve list, TLS 1.2 only, the pre-standard Kyber draft, or a middlebox that drops large ClientHellos. How it works.

Flarebox's Post-quantum tab: every origin, its history, the daily re-check, fix reports and a CBOMFlarebox's Post-quantum tab: every origin, its history, the daily re-check, fix reports and a CBOM
Flarebox's Post-quantum tab: every origin, its history, the daily re-check, fix reports and a CBOM · Demo mode, sample data

Flarebox checks every origin behind your proxied DNS records, re-checks them daily, alerts on regressions, and turns a fix into a before/after report and a CycloneDX 1.6 CBOM. Post-quantum tab.

pqdoctor and Flarebox are MIT-licensed, independent projects by Kalyan Gopalam. Not affiliated with or endorsed by Cloudflare.