Skip to main content

15 — Compliance & control layer — identity, access & safety.

Identity is the substrate’s first invariant: every authenticated request is bound to a principal with a typed identity, a role-set, attribute predicates, and a clearance against data markings. Agents are principals too; they have no ambient authority. Above identity sits the broader Compliance & Control Layer — the substrate’s cross-cutting safety surface that consolidates Guardrail Rules, PII / Screening checks, an autonomous QA Model, Confidence Scoring, and a Kill Switch. Every Decision and every Action passes through it.

15.0 Compliance & Control Layer

This section unifies the substrate’s safety controls into one named layer. It is not a new component — the controls are spread across the planes — but global CTOs need to see them as a single governance surface, because that is how regulators, auditors, and risk committees evaluate them. Fig. 15.0 — Compliance & Control Layer. Seven control surfaces govern every request between agents, actions, retrieval, and the carrier’s systems and operators. Control surfaces The Compliance & Control Layer is not skippable. There is no “fast path” that omits it; there is no debug bypass; there is no operator endpoint that commits an Action without traversing it. The layer is the price of admission to the Action Plane.

15.1 Principal model

Every actor in the system is a typed principal. There are five classes:

15.2 Authentication

  • SSO via SAML 2.0 and OIDC. The platform is itself a relying party; it does not host primary credentials.
  • Strong MFA required for all human principals. Step-up (re-auth or hardware key) required for sensitive purposes.
  • SCIM 2.0 for provisioning and de-provisioning.
  • mTLS for service-to-service traffic; client-cert pinning at the boundary.
  • Tokens are short-lived; refresh requires presence of original auth context.

15.3 RBAC scopes

Scopes are the platform’s primitive grant. Every tool, object read, action stage, and approval requires one or more scopes. Scope grants are recorded; revocation is itself a typed AuditEvent.

15.4 ABAC predicates

Predicates are evaluated at decision time over (principal, object, environment) attributes.

15.5 Markings & clearance

Markings (§4.2) are first-class labels carried by every object. Examples: pii.medium, pii.high, regulated.hipaa, regulated.gdpr, tenant.eu-only, commercial-in-confidence. Each marking has a clearance predicate; a principal must satisfy it to access the marked data.
Markings propagate through derivation. A property derived from PII-marked sources is itself PII-marked unless the derivation tool is registered as a de-classifier — and de-classification is its own AuditEvent reviewed by the security plane.

15.6 Purpose-tagged access

Every tool call and every direct read declares a purpose. The PDP checks the purpose against the marking’s allowed-purpose set:

15.7 Row-level & field-level access

RBAC + ABAC + markings combine into row- and field-level filters that are evaluated on every read:
  1. Row filter: ABAC predicate decides whether the row is even visible.
  2. Field filter: per-field marking checks decide which fields render; redaction is the default for failed checks.
  3. Read shape: the resolver returns only the fields the principal is cleared for; missing fields are explicit nulls with a typed redaction reason.

15.8 Break-glass

For incident response, a step-up break-glass grant is supported. It is purpose-tagged, time-limited, hardware-key-required, and emits a special AuditEvent (identity.break_glass) on the tenant chain. The tenant’s security primary is notified in real-time. Break-glass cannot grant scopes the tenant has marked irrevocable.

15.9 Service identity for agents

Agents authenticate as a service identity that is bound to the AgentRun. The identity has only the scopes declared in the agent definition; cross-run reuse is forbidden by construction. Compromise of an agent identity is constrained to the run’s wall-clock window.

15.10 Encryption

  • TLS 1.3 for all transport. mTLS at the substrate boundary.
  • AES-256-GCM at rest. Per-tenant keys; BYOK supported with HSM or KMS integration.
  • Field-level envelope encryption for high-sensitivity fields; access requires marking clearance even by operators.
  • Key rotation on schedule and on suspected compromise; rotations are typed AuditEvents.

15.11 Kill Switch

The Kill Switch is the substrate’s emergency cut-out: a tenant- and platform-scoped mechanism to stop AI work at any granularity in seconds, without bringing the rest of the platform down. It is the control a global CTO most often asks about and the one most often missing in pre-platform deployments. Granularities Properties
  • Fast. Activation propagates to runtime workers within the platform’s standard cache fan-out window (single-digit seconds in healthy operation).
  • Typed. Every kill is a typed governance.kill_switch.engage AuditEvent with scope, principal, reason, evidence, and ETA.
  • Reversible. Disengagement is a separate AuditEvent (governance.kill_switch.disengage) and is gated by the same step-up.
  • Containing, not corrupting. A kill never silently drops in-flight work. Runs drain to handoff with a typed Exception; staged Actions remain staged; data already written is unchanged. Recovery is by re-enable, not by data repair.
  • Auto-engageable. Drift breach (§13) automatically demotes the affected model. PDP can auto-engage tool kills on policy breach. Auto-engagements are typed AuditEvents with their detector identity.
  • Cell-bounded. Tenant- and region-scoped kills do not affect other tenants or other regions. Platform-scope is the only blast radius the carrier should never need to encounter; it exists for correctness, not for use.
Operator surface The kill switch is exposed to authorised operators through a dedicated console page, with one-click engagement at scope, mandatory reason text, and live blast-radius preview. Behind the UI is a typed contract; the same kill can be issued via the substrate’s integration plane to the carrier’s existing incident-response tooling.
“Can you stop one model in one region right now without taking the platform down?” is a yes-or-no question. On Layerup, the answer is yes, in seconds, via this control, with full audit. That property is what lets a global CTO underwrite running AI agents against production systems of record.