Platform / AI Agent Containment

Stop runaway agents.Keep good work moving.

Set hard operating limits. Stop out-of-bounds actions before dispatch. Take control with a kill switch scoped to an agent, a tool or a namespace, and keep the decision trail.

Independent control for the agents you already run ↓
✓Run controlInteractive example · sample data
Agent activity2 continuing · 1 contained
kbResearch agentCloud runtime
✓ Allowed
Knowledge baseRead continues
↻Billing agentIteration limit reached
Attempt 5150 allowed steps
Ledger APICall not sent
</>Support agentSaaS workflow
✓ Allowed
TicketingUpdates continue

✓The out-of-bounds call stops. The other sample workflows continue.

Action denied
Blocked before dispatch.

The run used its 50 permitted steps. Its next call is denied.

Policy
billing-guard
Rule
Iteration limit
Tool
ledger.update
Execution
Not dispatched
1Deterministic operating limits
2Agent, tool and namespace stop scopes
3A recorded decision trail
01 / Hard limits

Set the limits. Let the agent work.

Define where an agent can act, when it can act and how far a run can go. GovernorAI applies those limits at the action boundary, before the next governed action proceeds.

max_iterations

Break the loop.

Cap repeated activity. Deny the next governed action when a run reaches its step limit instead of letting a stalled run keep calling tools.

Denied before dispatch
connector_allow_deny

Keep tools in scope.

Let agents use the connectors they need. Block calls to the ones outside their policy, at the boundary.

Denied before dispatch
business_hours

Respect the window.

Keep governed actions inside approved operating hours, even when the agent works around the clock.

Denied before dispatch
max_wall_clock

Put a limit on time.

Set a maximum run duration. Stop further governed actions once the time is up.

Denied before dispatch
Held
Need a person in the decision? Hold consequential actions for authorized review.

Actions above a declared tier pause at the boundary until an authorized reviewer attests. The hold fails closed: no attestation, no dispatch.

maker_checker

In the product

See containment in the console.

A recorded walk through the containment controls behind this page: alert rules with their thresholds, a destructive tool call held inline for a human before it ran, and a kill switch as it was recorded, with who pulled it, why, and at what scope.

Inside GovernorAI/ ContainmentRecorded demo tenant

Containment, step by step

Real product screens from a demo tenant with seeded activity. No rule, incident, approval or kill switch was created, changed or released while recording.

Watch the full 2-minute walkthrough →
Recorded against a demo tenant with seeded activity. Real product screens, not a mock-up.
02 / AI agent kill switch

Stop one agent. Or widen the stop.

Limits set the boundary automatically. The kill switch puts intervention in your hands: choose an agent, a tool or a namespace, and decide how far the stop should reach. Every activation and release runs through one path and is recorded.

Choose the stop scope.

Preview the affected call paths, then apply a sample stop. You can layer scopes without clearing an active stop.

Selected target: Billing agent · all governed calls

Upcoming governed calls6 continuing

Six sample runs · four agents · three tools · three namespaces

Billing agentB-104ledger.updateprod-financeRunning
Billing agentB-112ledger.updateprod-financeRunning
Research agentR-201kb.searchprod-financeRunning
Support agentS-330ledger.updateprod-supportRunning
Support agentS-331tickets.updateprod-supportRunning
Ops agentO-410ledger.updatestagingRunning

Previewing agent: 2 matching call paths, 2 newly affected. 4 outside this scope.

No sample activations.

Previewing another scope keeps active sample stops in place. Reset demo clears the simulation.

03 / Automatic containment

A threshold can open an incident.

Containment doesn't have to wait for a person to notice. A rule on what the governed path is seeing, scoped to a namespace, an agent or a policy, can open an incident with an owner. Engaging the kill switch stays an operator action.

Observe

What the path reports

Signals from decisions already being made, not a new sensor.

  • deny rate
  • error rate
  • p95 / p99 latency
  • request count
  • queue depth
Decide

A rule, not a judgment

Threshold, window and scope. The same inputs resolve the same way every time.

  • global
  • namespace
  • agent
  • policy
Act

Act on the threshold

Open an incident for an owner to work. An operator decides whether to stop anything.

  • open an incident
Illustrative rulewhen deny_rate > 20% over 5mscope agent/billing-reconcilerthen create_incidentrecorded incident
04 / Independent control

Hard limits don't need a model's permission.

deterministic

Your rule makes the call.

A count, a clock, a connector boundary. Limits are evaluated against the active policy and the run’s current context—not the model’s willingness to follow an instruction.

Set explicit operating rules at the action boundary. The model proposes the action; your policy decides whether it proceeds.

below the agent

Govern without rebuilding your agents.

Put control at the gateway, proxy or agent host, with SDK integration where it fits. Keep your agent framework, identity systems and policy ownership.

provable

From intent to evidence.

Version the policy, evaluate it before rollout, enforce it at runtime, and record the resulting decisions, allow or deny, for an auditor to read.

05 / One policy

Containment is written as policy.

Keep one policy identity from discovery and assurance through runtime decisions and evidence. Version the limits, test them before rollout, and keep your existing OPA alongside.

  • GovernorAI native or OPA/Rego, chosen per policy
  • Templates for common runaway patterns, or a draft generated from observed activity for a human to approve
  • Terraform provider and SDK for the full lifecycle
policies/billing-guard.yamlillustrative syntax
# one policy identity: discovery to evidence
policy: billing-guard
revision: 7
applies_to: agent/billing-reconciler

limits:
  max_iterations: 50
  max_wall_clock: 15m
  business_hours:
    window: "Mon-Fri 06:00-20:00"
    tz: America/Los_Angeles
  connectors:
    allow: [ledger.read, ledger.update, slack.post]
    deny:  [payments.transfer]

maker_checker:
  on: [ledger.update]
  when: amount > 10000

on_breach: deny   # stopped before dispatch, recorded as evidence
06 / Decision evidence

A stop should come with an explanation.

What was attempted, what was decided, what was withheld. Gateway decisions are recorded as they are made, so the conversation after an intervention starts from a record, not a screenshot.

  • Security sees what crossed the boundary and what didn't.
  • Platform sees which policy and rule decided it.
  • GRC gets decision records for reviewed control mappings.
decision record · demo-ct-104sample record
Agent
Billing agent
Policy
billing-guard
Triggered rule
Iteration limit
Attempted tool
ledger.update
Decision
DENY
Execution
Not dispatched
Decided by
policy evaluation · no model in the loop
Synthetic data · proposed display, not a live capture.
07 / Your stack

One containment strategy. Your existing AI stack.

Your agents don't all live in one framework. Bring the same operating limits and stop controls to the enforcement points your workflows already cross.

Cloud AIAWS Bedrock · Azure · Google Cloud
SaaS workflowsSalesforce · ServiceNow
MCP and toolsregistry · proxy · gateways
Private runtimesKubernetes · sidecar · Databricks
08 / Spend

Keep runaway spend in view.

Cost is attributed to the agent and model that caused it, forecast from governed activity, and flagged when it leaves its baseline, so the spend curve is visible before it is a finance conversation.

Attribution

Spend per agent and per model, so a runaway is a name, not a line on an invoice.

Budgets and alerts

Thresholds with alerting, routed to the team that owns the agent.

Forecasting

Projected spend from what the governed path has already seen.

Anomaly detection

Spend that departs from its baseline, with severity and status.

09 / Questions

A few practical questions.

Does containment replace our agent platform or security stack?

No. GovernorAI adds independent governance at the gateways, proxies and integration points your actions already cross. Keep the platforms, identity and policy engines you run; put the operating limits and stop controls at the boundary.

How do limits and the kill switch work together?

Limits deny actions that cross an operating rule, automatically. The kill switch blocks future governed actions for a selected agent, tool or namespace, on demand. Both are recorded.

Does a stop undo completed actions?

No. A kill switch does not reverse transactions that have already completed. It applies the selected stop scope to subsequent governed actions.

What does the published benchmark measure?

Full in-process engine evaluation in the published Apple M4 microbenchmark fixture. The method excludes transport, adapters, serialisation, I/O and audit writes; this is not end-to-end containment latency or an SLA. Full method

Autonomy, under control

Give agents room to run. Keep the stop in your hands.

Bring one workflow. We'll map its operating limits, exercise a scoped stop and review the decision trail with you.

Continue