L1 — reversible, low blast radius
Runs immediately. Logged like everything else.
Security & governance
Every agent action in Recuriant passes through the same policy enforcement point before it runs — whether the agent is inside Recuriant or calling in from your terminal over MCP.
Fail-closed by default
Every step — an agent dispatch, a connector action, a workflow transition — is evaluated against policy before it executes. If the policy engine cannot reach a decision, the step is denied, not allowed. Nothing runs on a timeout or a missing config.
Reversibility and blast radius
Runs immediately. Logged like everything else.
Pauses for a durable human approval — a Temporal signal with a single-use token — before it executes.
Requires explicit, scoped authorization; the platform will not proceed on an assumed or inherited grant.
Identity that only narrows
Every dispatched agent gets a short-lived, role-scoped identity minted for that run. A parent agent's scopes are the ceiling: a child agent it spawns can only receive a subset of them, never more. Tokens expire; nothing is long-lived by default.
# parent role: sre-oncall scope: deploy:*, incident:*, chat:send # spawned child — narrowed, never widened run_agent(role="sre-triage") scope: incident:read, chat:send ttl: 15m
A full record
Every policy evaluation, approval and denial is written to a decision log — what ran, under which identity, at which tier, and why. A global kill switch can halt all agent execution immediately.
Before it ships
Recorded runs can be replayed against policy and workflow changes before they go live, and a self-checking harness verifies workflow outcomes against their declared verify: conditions.
Deployment
Run Recuriant Cloud, or self-host in your own VPC with the same policy engine, approval flow and decision log. Enterprise plans add SSO / SCIM, audit retention and export, and compliance packs.
See an L2 approval gate in an actual workflow definition.