Skip to content

Enforce Boundaries

BoundaryAccepted callerMust remain outside
Runtime CLILocal operator managing lifecycle or launching a workloadProduct-management state and admin credentials
Web console/BFFAuthenticated, admitted operator with zone accessAnonymous callers and direct browser possession of root service tokens
Admin APITrusted Admin SDK or console backendWorkload code
Control APIEnabled gate plus short-lived, scoped, zone-bound Control tokenReplayed tokens, root admin token distribution, lifecycle commands
STSValid application/workload/Gateway proof and well-formed exchangeEnd-user password authentication and unsupported token fields
GatewayMandate, X-Caracal-Resource, binding, safe path and upstreamCaller-selected upstreams and caller-provided upstream credentials
CoordinatorSDK authority or operator credential appropriate to the routeDirect table mutation and unsigned lifecycle publication
AuditSigned events and authenticated operator searchMutable evidence and untrusted stream payloads

Gateway denies before upstream dispatch when it cannot establish a valid, unexpired, unreplayed, unrevoked mandate; a resource header and binding; an allowed operation and scope; a safe path and host; and a successful STS exchange. It strips caller authorization before applying the configured upstream credential.

Gateway is an HTTP proxy. It streams HTTP responses, including SSE, while rechecking revocation. It strips hop-by-hop upgrade headers and does not proxy WebSockets. Protect WebSockets in process with the verification engine or an adapter.

The console is the human management surface. Admin SDK and Control API are automation surfaces. The runtime CLI remains local lifecycle and workload launch only. A Control gate or API outage must not prevent caracal status, down, or up from operating locally.

The system-zone viewer adds a console-side read-only boundary: mutation controls are disabled and non-read requests are blocked. It is a transparency surface, not an alternative management route.

  • Gateway and STS deny when authority, revocation, policy, or service proof cannot be established.
  • Published modes do not permit JTI_FAIL_OPEN and require integrity keys.
  • Postgres row-level security denies cross-zone access without valid context.
  • Control denies when disabled, unauthenticated, replayed, rate-limited, out of scope, or unable to record required audit evidence.
  • Audit rejects integrity failures rather than treating them as trustworthy evidence.

For deployment controls, use Harden Production. For exact Gateway behavior, use Proxy Through Gateway.

The architecture journey ends here. Use Understand Services for each service’s configuration, readiness, and failure posture.