Security model overview
Each layer is an existing open source project, configured; status labels as everywhere on this site.
| Layer | How | Status |
|---|---|---|
| Tenant boundary | One Talos cluster, one SPIFFE trust domain, one secrets store and one evidence trail per customer. No shared multi-tenant cluster. | Available in our lab (single tenant canary); customer clusters In development |
| Nodes | Talos Linux, immutable, API-managed, no SSH. Secure Boot and TPM-sealed disk encryption (LUKS2). Built and rebuilt from OpenTofu code; Flux reconciles everything from Git; no inbound port (Cloudflare Tunnel, or per-site ingress when air-gapped). | Available in our lab (with a software TPM: sealing is real, attestation is only as good as the host) |
| Workload identity | SPIRE issues each agent one SPIFFE ID, spiffe://{tenant}.reti-infra.com/onet/{soc_code}, derived by a fixed rule, after node attestation (TPM, cloud instance identity or x509) and workload attestation. |
In development (one lab agent identity issued) |
| Security officer’s view | Tornjak, one instance per customer. | In development (runs in lab, no sign-in yet) |
| Human sign-in and approvals | Keycloak, one realm per customer: passkeys, CAC/PIV, federation to your IdP; approvals of agent actions sent to the approver’s device (CIBA). | In development (sign-in); approvals Planned |
| Secrets | OpenBao, accessed by SPIFFE identity; sealed by our management OpenBao, your cloud KMS, your HSM, or Shamir shares held by your custodians. | In development (lab uses a static seal) |
| Authorization | Kyverno (admission) and OpenFGA (customer, agent, task permissions). | Planned |
| Agent runtime | One sandbox per agent (kubernetes-sigs/agent-sandbox, gVisor or Kata), Pod Security restricted. |
In development (placeholder container in lab) |
| Evidence | in-toto task records signed with cosign; Rekor optional. | Available as a sample |
| Compliance mapping | NIST 800-53 controls in OSCAL; self-assessed checks published in the trust center. | Available (self-assessment, not an audit) |
Choices your security officer makes per cluster are in the assurance profile.