CADS-Tunnel docs
Explanation

Zero-knowledge architecture

CADS-Tunnel is built so that every hop that actually touches the network is encrypted, and the operator never holds the keys needed to decrypt the traffic flowing through a tunnel. This page is deliberately precise about what that does and doesn’t mean — a vague security claim is worse than none.

What’s actually encrypted, and how

The one honest caveat: Gelb-tier termination

While a hostname is at the Gelb tier, the edge terminates the browser’s TLS connection (since it’s using the shared certificate) and forwards the decrypted application bytes onward — but only over the still-encrypted agent↔edge tunnel, to an origin that’s expected to stay loopback-only behind the agent, never exposed raw to the network. This is a deliberate, documented tradeoff (a shared wildcard certificate can’t be handed to a customer’s own origin to hold), not an oversight. Every hop that actually touches the open network is still encrypted in this case; the edge process itself briefly holds plaintext in memory during termination, the same way any TLS-terminating reverse proxy does.

If that distinction matters for your threat model, Grün’s own-certificate model avoids it entirely — see Certificate tiers.

What “zero-knowledge” does not mean

Found an error, or something that didn't work as documented? Open an issue →