Security & trust

Sovereign by construction.

Sovereignty is a set of platform invariants, not a compliance page. Every capability in the suite inherits them.

Trust pillars

Six invariants every capability inherits.

Hierarchical tenancy

ADR-0019

tenant_id is a first-class, verified request concern resolved once at the edge and carried through every request and every stored byte. Cross-tenant reads return zero rows — no row, metric, audit entry or cached value leaks across tenants, and it is verified by an automated pen test in CI.

X-Tenant-Id on every tenant routeZero-rows cross-tenant guaranteePen-tested in CI

Signed, tamper-evident audit chain

ADR-0014

Every audited action is appended to a hash chain; each entry carries time, tenant, actor, action and resource and is signed with Vault Transit. Because each hash links the previous, any tampering breaks the chain. Entries are tenant-scoped and retained 7 years.

Vault-Transit-signedHash-chained, tamper-evident7-year retentionEvidence export

Keys never leave Vault

SS-05

API tokens, R2 access-key secrets and engine DSNs are Vault-backed; the raw credential never leaves Vault and is referenced by secret_ref. Cloud KMS is forbidden by invariant — key custody stays sovereign.

Vault-held secretsNo cloud KMSRotate without downtime

Zero-egress by construction

ADR-0073

Because the object store and the CDN are the same platform, bytes served bucket→edge are classified intra-edge and zero-rated. There is no cross-vendor boundary to leak data or bill egress across — the economics and the data path are both sovereign.

Intra-edge classificationNo cross-vendor peeringEgress accounted per bucket

Edge WAF, ZTNA & default-deny

SS-27 · SS-26

An edge WAF at gateway parity with DDoS scrubbing at the PoPs; ZTNA access is default-deny with per-request grant evaluation and a recorded session verdict. Containment (SS-28) is proposed → approved → executed — guard-railed, never automatic.

Edge WAF + DDoS scrubbingDefault-deny ZTNAGuard-railed containment

Data residency

SS-26

Per-class residency rules are set, validated and audited on the network fabric, and buckets carry a region. Data stays in its residency zone as a governed property with an audit trail — not a best-effort setting.

Per-class residency rulesValidate + audit endpointsRegion-pinned buckets

The audit chain

Tamper-evident, because each entry seals the last.

Every audited action across the suite is appended to a Vault-Transit-signed hash chain. Each entry carries time, tenant, actor, action and resource; because each hash links the previous, altering any entry breaks every entry after it. Entries are tenant-scoped and retained 7 years.

1
action

Audited action

A bucket write, a function deploy, a containment execute — captured with its salient fields.

2
ADR-0019

Tenant-scoped

The tenant is part of the signed record; no entry can be read across tenants.

3
SS-05

Vault-Transit signed

Each entry is signed by Vault Transit — keys never leave Vault; no cloud KMS.

4
hash chain

Linked

Each hash includes the previous, so tampering with one entry invalidates the chain.

5
ADR-0014

7-yr retained

Retained seven years with an evidence export for audits and procurement.

Baseline

Always-on platform controls.

mTLS service mesh (Cilium) — every hop authenticated
SS-01 OIDC identity on every call
Idempotency-Key on money/usage writes (ADR-0039)
Zeek leak-audit of the mesh control plane (SS-28)

Get started

Sovereignty you can put in a procurement doc.