Controls
What becomes enforceable once Anlyon owns the production call: approvals and policies, environments and the kill switch, pinned versions and rollback, budgets.
A capable model is still a liability the moment it can act. It can call your Stripe account, point at the wrong database, or loop on a retry until the bill is four figures.
These pages are what Anlyon can do about that. They are not a separate product bolted alongside your agent: each one is a consequence of Anlyon making the production call instead of your agent making it. You cannot hold a request you never touched, pin a version of a call somebody else assembled, or attribute a side effect you only heard about afterwards. Read the execution model first if you have not.
Four controls, each enforced in the API:
Approvals & policies
Pause a call until a human decides. The requester cannot approve its own request, and every decision is recorded.
Environments & the kill switch
A staging key can’t reach production data. One switch stops an environment acting and stops anything leaving it. A request another server already accepted is not recalled.
Immutable versions & rollback
Promote to a protected environment with explicit confirmation. Roll back with a pointer move that keeps every version.
EU AI Act mapping
Engineering support for the record-keeping (Article 12) and human-oversight (Article 14) obligations, which apply to high-risk systems from December 2, 2027, as of 2026-09-07. Anlyon does not make a system compliant.
The four principles
If you read nothing else, read these.
- The agent can’t approve itself. Deciding an approval requires the separate
approvals:decidescope and a distinct credential. The requesting key, or the OAuth app that made the request for a user, cannot decide its own request. - Blocked means blocked. A capped key returns a clear
429 BUDGET_EXCEEDEDyour code can catch. A denied approval does not run the call. Neither is a silent drop. The cap is on Anlyon operations. It is not a limit on model tokens or on the money an approved action moves. A budget belongs to the key that asked, and it is charged on the request that starts the work, not again on each step that follows: a delivery’s retries, its callback, and the deliveries an event fan-out or a cron schedule produces have no key behind them and are bounded by your plan’s monthly limits instead. - Halted means halted. One switch stops new dispatch in an environment. An already-approved call will not run while it is halted, and the block is recorded. A request an external server already accepted is not recalled. Halt stops what has not left yet.
- Rollback is a pointer move. Versions are immutable and append-only, and nothing is destroyed to go back. A rollback restores the definitions later calls run. It does not undo an effect already dispatched.
How the pieces fit
Anlyon holds the credentials (Actions and Secrets), so the model calls a tool by name and never sees a key. Risky calls pause for a human (Approvals), routed by deterministic policies. Every resource lives in an environment, and a key reaches its own environment and no other. An operator can halt that environment. Agent configuration ships as immutable versions you promote and roll back by pointer. A budget per key caps the Anlyon operations that key may perform in a month. It does not cap model tokens or the money an action moves. An impact limit caps what governed actions change, and every key in the environment draws from it.
When a call carries a runId, the approval wait and the decision emit spans into that run’s trace, so they sit on one timeline with the invocation and can be exported as OpenTelemetry.
Start here
- New to it? Start with the quickstart. For a function that cannot move into Anlyon, see Local approval gates.
- Shipping to production? Read Environments & the kill switch before you create a production key.
- Under a compliance mandate? EU AI Act mapping.

