Risk rises with what an agent is allowed to do. Most organisations have all four tiers live and no single layer checking any of them at the action.
Chatbots, research, notetakers. Read-only, and everywhere already.
Pulls data and recommends. A human approves, but nobody records why.
Executes on its own. Moves money, changes records, calls production APIs.
Partners' and customers' own agents, calling in from outside your walls.
One enforcement plane, not four silos. The control that matters is the same at every tier: check the action against what was authorized, before it runs.
The same plane catches all four, because all four are the same failure: an action nobody authorized.
A correct, uncompromised agent doing far more than the person asked. Nothing is hacked and no rule is broken, which is exactly why permission-based controls pass it. We measure the action against the request.
Hidden instructions in a web page, an email, or a tool result the agent reads. The agent cannot tell data from instruction, so it obeys. Inbound content and tool output are inspected before the agent acts on them.
A scripted abuser presenting no credential and taking a fresh identity every session, so velocity limits and reputation have nothing durable to hold. We bind it to something it cannot reset.
Customer records, credentials or IP leaving in a prompt to an external model or a third-party tool. Once it is gone you may not learn of it until a regulator does. Outbound calls are inspected and blocked at the boundary.
Provider guardrails live inside each model, differ by vendor, and disappear the moment a team swaps models. This is a layer you author and own.
You write it once. The same policy applies whether the team is on OpenAI, Anthropic, Bedrock, or an internal Llama. Add a provider and your controls and evidence come with it.
Policy binds to the agent, not the endpoint. Each agent is governed by the rules attached to its own identity. Change them centrally and they land live, with no per-agent endpoints to wire and no redeploy.
Everything stays under your keys. Run it in your own environment. Prompts, actions and records never have to leave.
Every action writes one signed, replayable record, the same shape whatever the model. Which agent, for whom, under what instruction, and which rule decided it.
Inspects every prompt, completion and tool call in both directions, inside your perimeter.
Detects customer data heading for an external model and blocks the call before it leaves.
Isolates a compromised agent and every descendant it has spawned, in one move.
Point one agent at the gateway in watch-only mode. See what your agents actually do before you enforce anything.