The control plane for AI agents

Eight capabilities, one record.

Book a walkthrough

How Gatehouse works, one capability at a time. Each capability has its own link, so you can send reviewers only the parts they need.

ApprovalsExplore
Policy engineExplore
Spend controlsExplore
RecordExplore
Runtime enforcementExplore
How a run worksExplore

Simulated screens. No customer data appears anywhere.

Features

What Gatehouse does while an agent works

Gatehouse checks each action before it runs and sends hard calls to a named person. It writes it all to a record you can check and export.

Checks each action against policy

Gatehouse sits between the agent and the systems it uses. It checks each action against your policy before the action runs. Allowed actions go ahead. Anything else is refused, and the refusal is saved to the record.

  • Spend limits checked before any payment, like autopay limit 250.00
  • Scope, role, limits, review and seal in one signed manifest
  • Anything the manifest does not name is refused

Writes the audit trail as it runs

Each run is written to the trail while it happens: what the agent saw, what it decided, and who made the call. No one writes it by hand. One query returns the full run.

  • Each action, hold and decision, in order
  • Chained by SHA-256, so an edit shows as a break
  • Exports in open formats you can read without Gatehouse

Sends hard calls to one approver

When a step needs judgement, the run pauses and goes to one named approver. The evidence is gathered before they are asked.

  • One approver per case, named in the manifest
  • Evidence gathered before the approver is asked
  • The decision and the reason saved to the record

Stands between the agent and your systems

An action outside the rules is refused before it reaches your systems. Agents hold only the credentials the job needs, for as long as it needs them. Without a credential, a system is out of reach.

  • Each call to a system passes through Gatehouse
  • Least-privilege access, and that access is logged
  • An override needs two names

Turns each decision into an example

Each approver decision is saved as a labelled example. Before a model, prompt or policy change ships, it is replayed against those examples.

  • Each decision saved as a labelled example
  • The next run starts from the last decision
  • Examples export with the trail

Tests changes against past decisions

Each run is added to the test suite. Later changes are tested against decisions your team already made.

  • Model, prompt and policy changes replay before they ship
  • Drift measured against your approvers' decisions
  • A regression shows up as a diff in review

What your team signs

One file per deployment, written and signed before an agent runs. The agent runs under that signed version only.

manifest/v14.yamldraftsigned
scope
accounts-payable
default
refuse
role
ap-agent
limits
autopay
250.00
approver
ap-lead
rules
bank-detail-change
hold
override
two names
signed by your team, before the agent runs
Simulated
  1. 01

    Scope

    The systems and data the agent may reach. Anything outside that scope is refused, and the refusal is recorded.

  2. 02

    Role and limits

    The role the agent acts in, and what it may spend. The spend limits are written into the manifest, like autopay limit 250.00.

  3. 03

    Approval boundaries

    Where the run pauses, and the one approver each case goes to. An override needs two names.

What each run gives you

Your team can check each one without taking our word.

In practice

Four cases and what Gatehouse did

Composite scenarios, labelled as such. Open one to see what happened.

  • The change goes into the manifest and finance signs it. The next run uses the new limit, because only the signed version is enforced.

  • The agent tries a refund above its limit. Gatehouse holds it before it reaches your systems and asks the named approver. The hold goes into the record with the rule that caused it.

  • The agent holds no credential for outbound mail, so nothing is sent. The attempt is refused and saved to the record.

  • One query returns the full run. The record is sealed, chained by SHA-256 and kept for your retention period.

Simulated, composite scenarios.

See all eight capabilitiesin a 30-minute call.