Interactive demo, Agent governance

Every agent call, through one governed gateway

Your agents call tools over MCP. Aribot puts every call through the same ten steps: who it is, whether it is licensed and consented, whether this action is in scope, and a record of the decision. Watch first, then enforce.

Watch-only before enforceLeast-authority scopesActions queueAudit trailOAuthSCIMSPIFFEOpenFGAA2A

Try it yourself, Ovenden Mutual

Send calls, switch modes, narrow a scope, block an agent. Everything runs in your browser.

Illustrative data

Watch-only: every call is assessed and recorded. A call outside a boundary is marked Allowed (would be blocked) and still runs. Sign-in, licence, consent and company separation always apply. Next scripted call: Intake triage agent, reads today's new submissions (submissions.read).

The gateway. Send a call to watch it pass the ten steps.

  1. 1Authenticate
  2. 2Check licence
  3. 3Consent and scope
  4. 4Role and company
  5. 5Allowed?
  6. 6Real-time stop check
  7. 7Threat check
  8. 8Run action
  9. 9Meter
  10. 10Record
Calls assessed
0
Allowed
0
Would be blocked
0
Blocked
0

Fleet and scope designer

Intake triage agent

Active

Reads new policy submissions, summarises documents and opens tickets for underwriters.

Amber border: used recently. Click a tool to take it out of scope.

Release helper

Active

Opens pull requests with release notes for the platform team.

Amber border: used recently. Click a tool to take it out of scope.

Broker research agent

Active

Looks up broker accounts and public market news for the sales desk.

Amber border: used recently. Click a tool to take it out of scope.

Ops clean-up agent

Active

Lists unused storage overnight and reports it to the ops channel.

Amber border: used recently. Click a tool to take it out of scope.

Actions queue

Nothing needs a decision yet. Calls that cross a boundary land here, for a person to act on.

Block cuts the agent back to its minimum permissions and clears its session, so it stops acting through Aribot.

Audit trail, newest first

Every decision and every reviewer action is written here. Send a call to start the record.

In the product the trail is tamper-evident. This one lives only in your browser tab.

Ovenden Mutual, its agents, tools and times are illustrative. None of it is customer data. The ten steps, the decision labels and the actions queue wording are the product's own.

Agents were given broad tokens to get started. Nobody has trimmed them since.

Most companies now run agents that call tools on their own: an agent that triages new business, one that opens release pull requests, one that cleans up cloud storage overnight. Each was connected to its MCP servers with whatever token got the project moving. Ask, per agent, what it may call, what it did call last week and who approved that, and the honest answer is usually that nobody knows.

Turning on enforcement without that knowledge is how working agents break, so teams leave it off, and the standing risk stays where it is. When something does go wrong, say an agent starts calling tools it has never needed in the middle of the night, there is no single place to stop it and no single record of each call, its decision and its reason that a responder or an auditor can rely on.

Agent access is granted in a hurry, reviewed rarely and spread across as many places as there are tools. Governing it means one place every call passes through, evidence before enforcement, access sized to the job, a fast way to stop one agent, and a record you can hand to someone else.

The four people who answer for what agents do

Agent governance sits between teams. Security sets the limits, the platform team runs the agents, compliance needs the evidence, and the AI team builds what the business asked for. Each of them gets something specific from one gateway.

CISO

Is asked, by the board and by auditors, what the company's agents can do. Needs one answer per agent, backed by a record of what each one called and who approved its scope. A list of tokens nobody has reviewed does not answer the question.

Head of platform

Has teams wiring agents to MCP servers every week. Wants one gateway they all pass through, and a way to see what a boundary would break before switching it on, so enforcement does not become the reason a release slips.

Compliance lead

Needs evidence for the EU AI Act, ISO/IEC 42001 and SOC 2 that automated systems act within defined limits and under human oversight. Wants a trail they can export, with each decision, each scope change and each approval in it.

AI lead

Ships the agents. Wants them governed without being rewritten, onboarded in bulk with the identity standards they already use, and given exactly the access their job needs, sized from what they do.

Ten steps, in the same order, for every call

Calls over MCP, through the API and from the app all take this route. A call that fails a step stops there; the steps after it are recorded as never reached, and the decision is still written to the trail. This is what you watch in the demo above. In plain terms, each step asks one question.

  1. 1AuthenticateIs this a known agent with a valid sign-in? An unsigned or expired call goes no further.
  2. 2Check licenceDoes the company hold the licence for what is being asked? Unlicensed calls are refused with a way to request access.
  3. 3Consent and scopeDid someone consent to this kind of action for this agent's sign-in, and is it within the scope it was given?
  4. 4Role and companyDoes the agent's role allow it, and does the data belong to the agent's own company? Companies never see each other's data.
  5. 5Allowed?Is this tool inside the boundary set for this agent? This is the step the scope designer tunes.
  6. 6Real-time stop checkHas this agent been blocked or held? A block from the actions queue takes effect on the agent's next call.
  7. 7Threat checkDoes the request match a known threat for your systems, such as company data leaving to an outside address?
  8. 8Run actionOnly now does the action run, against your systems, with the agent's own narrowed permissions.
  9. 9MeterThe call is metered, so usage and cost belong to the right company and plan.
  10. 10RecordThe decision, its step and its reason are written to the audit trail. Refusals are recorded too.
Figure 1, Three calls, ten steps
Within scopeOutside scopeBlocked agent1Authenticate2Check licence3Consent and scope4Role and company5Allowed?6Real-time stop check7Threat check8Run action9Meter10RecordAll three decisions are recorded, refusals included
A call within scope passes all ten steps. A call outside the agent's scope stops at Allowed?. A call from an agent blocked in the actions queue stops at the real-time stop check. All three are recorded.

See what a boundary would stop, before it stops anything

Every company starts in watch-only, sometimes called shadow mode. Calls are assessed at every step and recorded exactly as they would be under enforcement. When a call crosses a boundary you are designing, it is marked Allowed (would be blocked) and runs anyway. After a week of real traffic you know, per agent and per tool, what enforcement would have stopped and whether any of it was work you need.

Sign-in, licence, consent and company separation are never in watch-only: an expired sign-in or a request for another company's data is refused in both modes. Watch-only covers the decisions you are tuning, which are whether a tool is in scope, the real-time stop check and the threat check. When the evidence says a boundary is right, switch to enforce, for the whole company or for one capability at a time.

Figure 2, The same call, two modes
Watch-onlyRelease helperstorage.delete_bucketAllowed?Action runsRecorded: would be blockedEnforceRelease helperstorage.delete_bucketAllowed?Never reachedRecorded: Blocked
In watch-only the call passes the boundary, runs and is recorded as would be blocked. In enforce it stops at Allowed?, the action is never reached, and it is recorded as blocked.

Size each agent's access to the job it does

Most standing risk in an agent fleet is access that was granted and never used. The scope designer shows, per agent, what it holds beside what it has used, and proposes keeping the one and removing the other. In the demo, the release helper holds four tools and has only ever opened pull requests; the proposal keeps that one and removes rollback, bucket deletion and policy changes.

Nothing changes until a person approves. The proposal is evidence for that decision and cuts nothing on its own, and the approval is recorded with the change. Because watch-only shows what a narrower scope would have refused, a reviewer can approve with confidence and does not need to keep everything just in case.

Figure 3, Keep what it used
Release helper: grantedused recentlyrepo.open_pull_requestdeploy.rollbackstorage.delete_bucketiam.attach_policyProposed: keep 1 tool, remove 3Approved by a person
Four tools granted, one used. The proposal keeps the one and removes three, and a person approves the change.

When an agent misbehaves, one decision stops it

Calls that cross a boundary land in the actions queue for a person to decide. There are a few choices, in the product's own words. Block cuts the agent back to its minimum permissions and clears its session, so it stops acting through Aribot. Reduce access removes the risky permission. Reissue access issues a new, narrower permission and retires the current one.

The product is careful about what Block does and does not do, and so is this page. It stops the agent here, at the gateway. Sessions the agent holds in other systems end only if sign-out signals to your identity provider are set up, and the integration health screen says whether they are. A responder is never told an agent has stopped everywhere when it has only stopped in one place.

Every decision, in one trail you can hand to someone else

Each call becomes a record: the agent, the tool, the decision, the step that made it and the reason. So does each mode change, each scope change with the name of whoever approved it, and each action from the queue. Refusals are recorded as carefully as approvals. The trail is tamper-evident, and it exports, so an auditor or an incident responder works from the same record the platform team does. In the demo you can download the illustrative trail as a file.

Figure 4, The trail builds as you go
09:12:07Intake triage agentAllowed09:12:14Ops clean-up agentWould be blocked09:12:21ReviewerEnforce on09:12:28Release helperBlocked at Allowed?09:12:35ReviewerAgent blockedTamper-evident trail
Calls and reviewer actions become linked records in order. The trail is tamper-evident.

Two weeks at Ovenden Mutual

Ovenden Mutual is a fictional insurer with four agents in production: an intake triage agent, a release helper for the platform team, a broker research agent for the sales desk and an overnight ops clean-up agent. Its head of platform, Priya, brings them under governance on a Monday. The agents already sign in over OAuth, so they appear in the fleet on their first call; nothing in their code changes.

For the first week the company runs in watch-only. Every call is assessed and recorded. By Friday the trail shows three things. The ops clean-up agent tried to create a new access key, which it was never granted. The broker research agent tried to export broker contacts to an outside address, which matched a known threat. And the release helper, which only ever opens pull requests, still holds bucket deletion and policy changes from the day it was set up. Nothing was stopped; everything was recorded as would be blocked.

On the second Monday, Priya opens the scope designer and accepts its proposals: keep what each agent used, remove what it never needed. The CISO, Daniel, approves. Then the company switches the release helper's bucket deletion to enforce first, while everything else stays in watch-only for two more days. Nothing breaks, so Ovenden switches the whole company to enforce on Wednesday.

On Thursday night the ops clean-up agent starts calling tools it has never needed. Each call is stopped at Allowed? and lands in the actions queue. The on-call engineer chooses Block. The agent is cut back to listing storage and its session is cleared, and its next call outside that minimum is stopped at the real-time stop check. In the morning, the compliance lead exports the trail for the incident file: every call, every decision, the scope approvals and the block, with names and times.

Fleet, scope designer, actions queue, trail

In Aribot, Agent Governance has an overview of the fleet and its decisions, a fleet list of every agent with its identity and cohort, the scope designer, the actions queue, an integrations screen that shows which identity connections are healthy, and an interop standards screen. The overview says plainly how many checked actions would be blocked once blocking is on, with the period it covers, so the decision to enforce is made from numbers.

Agents are onboarded three ways, and all three end in the same record: automatically on first sign-in, in bulk from a list of agent ids, or by another agent through the onboarding tool. The onboarding guide walks through licence, sign-in and bulk onboarding step by step.

From AI readiness, to Aribot, to Trust, on open standards

The free AI readiness self-assessment shows where a company stands against the EU AI Act, the NIST AI RMF and related frameworks. Aribot is where that becomes working controls: governed agents, threat models, code and cloud findings and framework coverage. Ayurak Trust holds the evidence: detailed assessments reviewed with Ayurak's team, using assessment templates by Aristiun built from official framework text, with tamper-evident reports. The agent trail from this page is the kind of evidence those assessments ask for when they ask how automated systems are kept within limits.

The gateway speaks the standards your identity and agent stack already uses: MCP for tool calls, OAuth for agent sign-in, SCIM for provisioning, SPIFFE for workload identity, OpenFGA for a view of access in force and A2A agent cards for onboarding. The evidence maps to the EU AI Act's expectations on human oversight and record-keeping, the govern and manage functions of the NIST AI RMF, ISO/IEC 42001, and the access control and logging expectations of ISO 27001 and SOC 2.

Frequently asked questions

Do our agents need to be rewritten to be governed?

No. Agents that call tools over MCP sign in with OAuth and pass through the gateway as they are. A known fleet can be onboarded in bulk, including from A2A agent cards, and an agent that signs in for the first time gets its identity on first contact.

What does watch-only do?

Every call is assessed and recorded exactly as it would be in enforce. When a call crosses a boundary, it is marked Allowed (would be blocked) and still runs. That gives you real evidence of what a boundary would stop, from your own traffic, before it stops anything.

Is anything enforced in watch-only?

Yes. Sign-in, licence, consent and company separation always apply: an agent with an expired sign-in, or one asking for another company's data, is refused in both modes. Watch-only covers the boundary decisions you are tuning: whether a tool is in scope, the real-time stop check and the threat check.

Can we enforce one capability before the whole company?

Yes. You can switch on enforcement for a single capability while the rest of the company stays in watch-only. That is a common way to start: enforce the one destructive action you are most worried about, and watch the rest.

What happens when we block an agent from the actions queue?

Block cuts the agent back to its minimum permissions and clears its session, so it stops acting through Aribot. In enforce, its next call outside that minimum is stopped. Sessions the agent holds in other systems end only if sign-out signals to your identity provider are set up, and the product tells you whether they are.

Who decides an agent's scope?

A person. The scope designer proposes keeping what each agent has used and removing what it never needed. Nothing changes until someone approves the proposal, and the approval is recorded with the change.

What is in the audit trail?

Every call with its decision, the step that decided it and the reason; every mode change; every scope change and who approved it; every action taken from the queue. Refusals are recorded, and the steps after a refusal are recorded as never reached. The trail is tamper-evident and can be exported.

Which identity standards does it work with?

OAuth for agents signing in over MCP, SCIM for provisioning from your identity provider, SPIFFE for workload identity, an OpenFGA view of the access in force, and A2A agent cards for onboarding agents that publish them.

How does this relate to connecting our own assistants?

It is the same gateway. When people connect Claude, ChatGPT or Gemini to Aribot, their calls pass these ten steps too. This page is about governing the agents you build and run yourselves.

Put your agents through the gateway, in watch-only first

Start with the free AI readiness assessment, follow the onboarding guide, or book a call with Ayurak's team to walk through your own fleet.