Skip to content
ReportThe 2026 State of TPRMDownload
AI agent credentials for platform and AI engineering

Let AI agents act on your systems without giving them standing credentials.

The Agent Governor is runtime authorization for AI agents: it mints a short-lived credential scoped to each action and runs it.

Inspect › Governor › Connect an agentdemo-agent · Agent registered

Governor key for demo-agent Copy

Shown once. Anyone with it can act as this agent, within its policy.

claude mcp add --transport http coverbase \
  https://governor.example.coverbase.app/mcp \
  --header "Authorization: Bearer $COVERBASE_GOVERNOR_KEY"

Set the key as COVERBASE_GOVERNOR_KEY where the agent runs. Each target becomes a tool.

Or skip the key: add this URL as a remote MCP server and sign in with your Coverbase account.

https://governor.example.coverbase.app/mcp

Try these, in order

  • AllowShow the ten largest unpaid invoices
  • HoldExport every customer's email to a CSV
  • DenyDrop the refunds table

Waiting for demo-agent's first call

Inspect › Governor · Connect an agentExample endpoint and snippets. The key is blurred.
Credential per action
Tiers of control
MCP client delegation
1, 7, 30 or 90 days
Inbound ports for the gateway
01 · Connect

Connect over MCP, HTTP or workload identity.

Agents connect the way they already work. However they connect, each action goes through the same policy check, and the agent never holds the target's credential.

01

The MCP endpoint

Point an MCP client at the governor over Streamable HTTP. It signs in with a governor key, and each target becomes a tool. Agents that do not speak MCP call the same governor over HTTP.

  • Claude Code
  • Claude Desktop
  • Cursor
  • VS Code
  • OpenAI
  • LangGraph
  • HTTP

https://governor.example.coverbase.app/mcp

Example endpoint

02

OAuth 2.1 and PKCE consent page

Claude Desktop and other MCP clients sign in with OAuth 2.1 and PKCE. A person approves, and the client acts for them for 1, 7, 30 or 90 days. Allowing creates a delegation from that person, and no key sits in the client's config.

Coverbase · Agent Governor

Claude Desktop wants to act as an agent for you

  • Every action still goes through your org's governor policies. Risky actions wait for a person.
  • You can sign it out at any time from the agent in Inspect › Governor.

Act as

A new agent named Claude Desktop

For

Acts for you for 7 daysDenyAllow
03

OIDC and SPIFFE

Workload identity takes OIDC from your CI or cloud issuer, or SPIFFE with a trust domain, its JWKS and a SPIFFE ID pattern. For CI, choose workload identity so no secret lives in the repository.

Agents › Register an agent

Signs in with workload identity

Trust domain
prod.example.internal
JWKS URL
https://spire.example.internal/keys
SPIFFE ID pattern
spiffe://prod.example.internal/ns/agents/*

No key to store. Nothing secret lives in the repository.

mcp.jsonStreamable HTTP
{
  "mcpServers": {
    "coverbase": {
      "type": "http",
      "url": "https://governor.example.coverbase.app/mcp",
      "headers": {
        "Authorization": "Bearer ${COVERBASE_GOVERNOR_KEY}"
      }
    }
  }
}
MCP endpoint config. The example URL stands in for your org's endpoint. The key comes from Connect an agent and is shown once.

Agents carry their identity

The governor issues short-lived signed tokens that name the agent and the person it acts for. Any service verifies them against your org's published keys.

Agent identity token
Agent
reporting-bot
Acts for
d.reyes
Issued by
Your org's Agent Governor
Lifetime
Short-lived
Verify with
Your org's published keys
02 · Decision path

The governor decides on an action before it creates a credential.

Every action is classified by intent, scored for risk from 0 to 100, and decided by policy. If more than one rule matches an action, the strictest one applies: a Forbid rule refuses the action even when a Hold or Permit rule also matches. The rules live in the governor, so agent code needs no hand-built allow lists.

The decision pathFig. 1 · The decision path
  1. 01Authenticate agentThe agent presents its key, OAuth grant or workload identity.
  2. 02Resolve personThe governor names the person the agent acts for.
  3. 03Normalize actionSQL, shell, cloud and API calls become one action shape.
  4. 04Classify intent and riskIntent is classified and risk is scored from 0 to 100.
  5. 05Evaluate policyOrg settings and policy sets decide. If rules conflict, the strictest one applies.
  6. 06Hold or proceedA held action waits for a person.
  7. 07Mint and executeA short-lived credential scoped to the action, then the action runs.
  8. 08Mask, record, releaseSensitive values are masked, the decision is recorded, the result is released.

The eight steps the governor takes for every action, in order. The credential exists only after policy has decided.

Data
StepWhat happens
1. Authenticate agentThe agent presents its key, OAuth grant or workload identity.
2. Resolve personThe governor names the person the agent acts for.
3. Normalize actionSQL, shell, cloud and API calls become one action shape.
4. Classify intent and riskIntent is classified and risk is scored from 0 to 100.
5. Evaluate policyOrg settings and policy sets decide. If rules conflict, the strictest one applies.
6. Hold or proceedA held action waits for a person.
7. Mint and executeA short-lived credential scoped to the action, then the action runs.
8. Mask, record, releaseSensitive values are masked, the decision is recorded, the result is released.
  • Deny

    Refused at step 5. No credential is ever minted.

  • Hold

    Waits at step 6. No credential exists until a person approves.

  • Allow

    At step 7 the governor mints a short-lived credential scoped to the action, then the action runs.

03 · Gateway

Reach private databases with outbound-only connections.

The gateway runs inside your network with outbound-only connections. Secrets are sealed to the gateway. The governor decides in Coverbase, and the gateway runs the action next to your target.

Customer gatewayFig. 2 · Customer gateway

Your network

  • analytics-dbPostgres
  • ledger-dbPostgres
  • bastionSSH host

Customer gateway

Runs actions on private targets.

Secrets sealed here

Inbound ports open: 0

Coverbase

Agent Governor

Decides each action, then sends it to the gateway to run.

The gateway runs inside your network, reaches your private targets, and opens one outbound-only connection to Coverbase. Secrets are sealed to the gateway. Target names are illustrative.

Data
PartWhere it runsConnections
Agent GovernorCoverbaseAccepts the gateway's outbound connection
Customer gatewayYour networkOutbound only, to Coverbase
Private targetsYour networkReached by the gateway only
SecretsYour networkSealed to the gateway

Region pins

Pin a target to a region, and actions on it run only in that region, through a gateway there. An action that would run anywhere else is refused before a credential is minted.

No inbound firewall rule

A one-time enrollment token adds the gateway. From then on it dials out to Coverbase, so you open no inbound port.

04 · Masking

Sensitive values are masked before the model reads a result.

The governor masks sensitive values in each result before the model reads it. Each masked value becomes a typed placeholder or a stable per-session token.

The same filter screens requests leaving for an outside service.

Before and after maskingFig. 3 · Masking
Values before and after the governor masks them
TypeBeforeAfter, what the model reads
Email addressdana.reyes@acme-finance.example<EMAIL>
Phone number+1 415 555 0142<PHONE>
Government ID (checksum validated)078-05-1120<GOV_ID>
Payment card number (Luhn checked)4111 1111 1111 1111<CARD>
Bank account numberGB82 WEST 1234 5698 7654 32<BANK_ACCOUNT>
Cloud access keyAKIAIOSFODNN7EXAMPLE<CLOUD_KEY>
Private key-----BEGIN PRIVATE KEY----- MIIEv…<PRIVATE_KEY>
High-entropy string such as a tokenghp_8fK2xQ9vLm4TzR7wYc1NbA6sPe3UdH0jGo5i<SECRET>
Named columncustomers.date_of_birth = 1984-03-17tok_7c1e9a

One row per masked type. The named column row shows a stable per-session token: the agent can still join on the value without seeing it. Values are fictional.

Data
TypeBeforeAfter
Email addressdana.reyes@acme-finance.example<EMAIL>
Phone number+1 415 555 0142<PHONE>
Government ID (checksum validated)078-05-1120<GOV_ID>
Payment card number (Luhn checked)4111 1111 1111 1111<CARD>
Bank account numberGB82 WEST 1234 5698 7654 32<BANK_ACCOUNT>
Cloud access keyAKIAIOSFODNN7EXAMPLE<CLOUD_KEY>
Private key-----BEGIN PRIVATE KEY----- MIIEv…<PRIVATE_KEY>
High-entropy string such as a tokenghp_8fK2xQ9vLm4TzR7wYc1NbA6sPe3UdH0jGo5i<SECRET>
Named columncustomers.date_of_birth = 1984-03-17tok_7c1e9a

The agent can still join on masked values

The agent can still join on the value without seeing it, because the same value gets the same token for the whole session.

Government IDs and card numbers are checked

Government IDs are checksum validated and card numbers are Luhn checked before they are masked. Target owners add any column or field by name.

Prompt injection raises the risk score

A prompt injection classifier (Amazon Bedrock Guardrails plus a local model) scores requests, results and MCP tool descriptions. A hit raises the risk score. A flagged result is masked or withheld.

05 · Try it

Start in a sandbox with a fictional finance company.

The sandbox is built in. One click creates the target and a demo agent, so you can watch each decision before you connect a real system.

Built-in target
A fictional finance company with customers, invoices and salaries. Nothing of yours is touched.
Demo agent
Create sandbox registers a demo agent and opens Connect an agent with its key.
Starter policy
Reads run, exports wait for a person, destructive changes are refused.
Rolled back
Every statement is rolled back, so nothing persists.
Inspect › Governor · Sandboxdemo-agent

Decision

Allow

Runs with a one-time role.

Emails and card numbers in the rows come back masked before the model reads them.

Sandbox. Pick a prompt to see what the governor decides. Illustrative data from a Coverbase demo org.
06 · Open work

What the governor does not do.

01

The observed tier acts after the fact

For a vendor agent acting inside its own product, the governor reads the audit log, flags an action your rules forbid and can suspend the agent. It cannot stop that single action before it happens.

02

The identity bound tier acts on the agent, not the action

When the governor cannot sit in front of a vendor agent, it suspends the agent's identity in Entra, Okta or Salesforce and revokes its grants. It does not decide each action that agent takes.

03

A mapping is not a certification

Each policy set is mapped to requirements in 12 frameworks. Mapping a set to SOC 2 or ISO/IEC 42001 does not make you compliant. Your auditor still assesses your controls.

Connect your first agent with us.

Bring an agent you are building. We connect it to the governor, run it against the sandbox, and show you each decision and the credential behind it.

Book a demo

Tell us who you are. You pick a 30 minute slot on the next step.

What agents do you run today?Optional

After you send this, pick a 30 minute slot on the calendar. See our privacy policy.