For the engineer who wants the mechanism
A verification layer above whatever already enforces.
Themis does not replace your enforcement points. It reads them, holds them against what you declared, and refuses to widen anything that has not survived traffic it never saw.
0100 the engine
Five steps, each independently useful.
End to end, once the path is declared
0200 deployment
One engine. Two ways into the path.
A · over the Kubernetes control and data plane
No router changes. Any IPv6 transit.
Policy and verification run over the clusters you already have, across transit you do not own — including a VPC. Identity stays cryptographic: mTLS and SPIFFE, not addresses.
B · the full uSID fabric
One route in the core. Per-segment evidence.
The core carries the uSID block as an ordinary prefix and holds no per-flow state. Per-segment counters make path conformance a provable negative rather than an absence of alerts.
Both start identically: a read-only audit.
0300 trust surface
What decides, and what merely reports.
The gate engine
Thresholds are versioned in the control plane, not typed into a console. Admission refuses anything that was not proposed through the one write path.
The console
Intent and rule management, gate status, the escalation queue, the retire ledger, and pass or fail per scope and per tenant. It reports; it does not decide.
The named human
Approve and reject are stamped user · time · event. Sensitive flows are never auto-allowed and never silently dropped — they wait.
0400 scale
A verdict engine, not a flow lake.
The usual objection is arithmetic: 100 TB a day of IPFIX arriving, and an evidence claim that depends on all of it. The answer is that the audit never needed the records — it needed the verdict and the exception.
The verdict ledger
Per-class aggregates keyed by role pair, so the ledger grows with O(roles²), not with the number of flows. A busy estate has a few hundred roles and billions of flows; only one of those numbers is in the storage bill.
Per-witness economics
Counters are counters — already in the forwarding hardware. Probes are a dial we own and can turn down. Flow records are classified in flight at the edge and discarded.
Full fidelity, narrowly
Kept only for exceptions and for a declared sample of passes. The exception is the interesting minority; the conforming majority is a number.
A commitment per window
Each discarded window leaves a hash commitment behind, so the ledger is provably a summary of the stream actually seen rather than a story about it. Raw flows never leave the site.
The audit needs the verdict and the exception, not a billion conforming records.
0500 limits
What this does not do.
e000 End.DT6 deliver
See it against your own kit.
30–60 minutes. Read-only. We compare your declared intent to what is actually running, and hand back the gap list.
Nothing is installed to have this conversation.