Post-quantum (PQC) proxy, hybrid ML-KEM key exchange to stop harvest-now-decrypt-later (HNDL).
96
A post-quantum (PQC) proxy that protects existing traffic against harvest-now-decrypt-later (HNDL). CipherFlow carries your TCP and TLS traffic inside a hybrid post-quantum TLS 1.3 tunnel (X25519 + ML-KEM-768, the NIST FIPS 203 algorithm). Your applications are not changed.
Free to use, including in production. ~10 MB image, non-root, no telemetry.
docker run --rm quaisecurity/cipherflow probe example.com:443
ACCEPTED ... X25519MLKEM768 (hybrid post-quantum) means the server negotiated hybrid key exchange.
REFUSED means it did not, so traffic to it recorded today could be decrypted by a future quantum computer.
The probe offers only the hybrid group, so there is no silent fallback. It reports what the server negotiates; it does not validate the certificate.
docker run -d --name cipherflow-demo -p 127.0.0.1:8080:8080 \
-e CIPHERFLOW_MODE=client \
-e CIPHERFLOW_LISTEN=:8080 \
-e CIPHERFLOW_TARGET=pq.cloudflareresearch.com:443 \
quaisecurity/cipherflow
curl -s -H "Host: pq.cloudflareresearch.com" http://127.0.0.1:8080/cdn-cgi/trace | grep kex
docker logs cipherflow-demo | grep '"session"'
Cloudflare's own trace reports kex=X25519MLKEM768 for a plain curl, and CipherFlow's log records the same session with "pq":true. Clean up with docker rm -f cipherflow-demo.
docker run -d --name cipherflow --network host --read-only --cap-drop ALL \
-e CIPHERFLOW_MODE=server \
-e CIPHERFLOW_LISTEN=:8443 \
-e CIPHERFLOW_TARGET=127.0.0.1:8080 \
quaisecurity/cipherflow
docker run --rm --network host quaisecurity/cipherflow probe 127.0.0.1:8443
docker run --rm --network host quaisecurity/cipherflow probe -kex X25519 127.0.0.1:8443
The first probe is accepted on hybrid; the second, offering only classical X25519, is refused. Current browsers, CDNs and OpenSSL 3.5+ clients connect on hybrid without any changes. With no certificate configured the gateway generates a self-signed one at startup; see the documentation for real certificates, pinning and mutual TLS.
crypto/tls, crypto/mlkem).latest is currently 1.0.0-rc1, linux/amd64 only. Pin quaisecurity/cipherflow:1.0.0-rc1 for repeatable deployments.Cloudflare (as a client, and with Cloudflare in front of the gateway), OpenSSL 3.5, and Chrome.
/LICENSE.Built by QuAi Security Labs. https://www.quaisecurity.com
Content type
Image
Digest
sha256:b51ca1cfa…
Size
3 MB
Last updated
24 days ago
docker pull quaisecurity/cipherflow