What Is an Agentic Control Plane?
An Agentic Control Plane (ACP) — also called an agent control plane — is the identity and governance layer for AI agents and the agents they call. It sits between your AI clients (ChatGPT, Claude Code, Cursor, CrewAI, LangGraph) and your backend services, so every tool call across every delegation chain is identified, authorized, and audited.
Think of it as the IAM layer for agents.
AI doesn’t make calls. It makes chains of calls.
A user asks Claude Code to review a PR. Claude delegates to a security subagent. The subagent runs a SAST scan. At depth three, a tool call hits your repo. Without governance across the chain, identity is dropped at the first hop, scopes widen, and your audit log is a row that says api_key=sk-shared.
That’s what an ACP fixes — governance that survives the graph.
budget $5.00
budget $5.00 (narrowed)
budget $1.00 (narrowed)
ALLOW · 2.3s · $0.14
Each hop inherits a narrower slice of the user’s permission. Every call carries verified root identity all the way to the tool. Audit reconstructs the whole chain.
What an ACP does: six gates, every call
Every call in the delegation chain — no matter how deep — passes through all six governance gates, in order. None skip.
What goes wrong without one
Where it fits in your stack
- Not an LLM gateway. Portkey, LiteLLM, and OpenRouter choose which model answers. An ACP decides whether the user is allowed to ask.
- Not an agent framework. LangChain, CrewAI, AutoGen decide what an agent does. An ACP decides whether it’s allowed.
- Not an API gateway. Kong and Apigee manage HTTP traffic. An ACP propagates verified human identity through the AI layer and produces identity-attributed audit trails.
Use all of them. They solve different problems at different points in the request flow. Full comparison →
How identity actually flows
The user authenticates with your IdP (Auth0, Okta, Entra ID, Firebase — any OIDC provider) and receives an RS256-signed JWT:
{
"sub": "auth0|8f3a2b1c9d4e5f6a",
"aud": "https://api.yourapp.com",
"scope": "tool:crm:read tool:jira:write",
"org_id": "org_acme_corp",
"exp": 1739145600
}
The ACP verifies the signature against your IdP’s JWKS, extracts the user, checks scope, scans for PII, enforces budget, and routes to your backend with identity injected.
Without an ACP, your backend gets:
POST /api/crm/contacts
Authorization: Bearer sk-shared-api-key-for-everyone
No user identity. No scopes. No way to filter per user.
With an ACP, your backend gets:
POST /api/crm/contacts
x-user-uid: auth0|8f3a2b1c9d4e5f6a
x-user-scope: tool:crm:read
x-user-org: org_acme_corp
x-request-id: req_7f8a9b0c
x-chain-depth: 3
x-chain-root: auth0|8f3a2b1c9d4e5f6a
Verified identity. Scoped permissions. Tenant context. Full chain provenance. SELECT * WHERE org_id = $1 works again.
When you need one
- You’re moving an AI pilot to production and shared API keys aren’t going to cut it
- You’re in healthcare, finance, legal, or government — and audit is a legal requirement
- Your agents take real actions: create tickets, modify records, process transactions
- You use multiple AI clients (ChatGPT, Claude Code, Cursor) and need one consistent governance layer across them
- Your LLM spend is surprising you, and per-API-key limits aren’t enough
Get started
Background: where this category started — the three-party problem
Traditional web apps have two parties: a user and a backend. Authentication is solved. Access control follows. AI apps introduced a third party — the LLM runtime. The user authenticates with the LLM, the LLM calls your backend with a shared API key, and the backend has no idea *who* made the request. Identity is severed. Every governance failure in production AI systems traces back to this. We call this the **three-party problem**: user, LLM, backend — and identity has to flow across all three. It's the clearest framing for *why* the governance layer needs to exist. The delegation-chain framing above is the same idea, extended: when an agent calls another agent, identity has to flow across every hop, not just the first one. Three-party trust is the foundation; delegation chains are how it scales. For the longer write-ups, see [agent-to-agent governance](/agent-to-agent) and [agent delegation chains](/what-is-an-agent-delegation-chain).Related concepts
- Agent delegation chains — the authorization primitive behind chain-of-calls governance
- Agentic data plane — the execution layer, distinct from the governance layer
- MCP control plane — the MCP-specific specialization
- Agent identity — how individual agents are identified
- Three-axis governance — tool / agent / user ABAC model
- Reference architecture — the six composable modules in detail
Get started → · Agent-to-agent governance → · Reference architecture → · GitHub →