Skip to main content

ACP — AI Control Plane: deterministic governance and execution control for enterprise AI agents.

Project description

ACP — AI Control Plane

Deterministic governance and execution control plane for enterprise AI agents and autonomous systems.

Note: “ACP” means many things in other industries (medical, political, nonprofit, and more). In this project it always means ACP — AI Control Plane, not a generic acronym.

Add governance, approvals, policy enforcement, and execution visibility to AI agents in minutes.

Works with CrewAI, LangGraph, Strands, Google ADK, MCP tools, and custom Python workflows.

Requires: Docker Desktop (Compose v2).


Quick start

pip install acp-ai
acp init          # optional: starter policies in ~/.acp/policies
acp up --build    # first run: build + start stack
acp dashboard     # open governance UI
Step Command
Install pip install acp-ai
Start stack acp up (use acp up --build once)
Open UI acp dashboardhttp://localhost:3090/dashboard/
Stop acp down

Why ACP — AI Control Plane?

Most agents call tools, APIs, and other agents directly. Teams then scatter rules across Python, workflows, and frameworks:

if supplier_risk_score > threshold:
    require_human_approval()

That becomes inconsistent, hard to audit, easy to bypass, and duplicated everywhere.

ACP — AI Control Plane centralizes governance outside agent code:

Capability What you get
Centralized governance One place for rules, not copy-paste per team
Policy enforcement OPA/Rego evaluates every governed call
Approvals Escalate high-risk actions to humans
A2A governance Governed agent-to-agent calls
A2T governance Governed agent-to-tool calls
Audit & visibility Decisions, traces, registry in one dashboard

Architecture

ACP — AI Control Plane architecture

Agent / Workflow  →  ACP SDK  →  Interceptor / Gateway  →  OPA (Rego)  →  Allow / Deny / Escalate  →  Execution

Dashboard

The ACP — AI Control Plane dashboard is a core differentiator: live allow/deny/escalate decisions, approvals, agent registry, and policy catalog. Open http://localhost:3090/dashboard/ after acp up.

Overview & activity

Overview — governance posture and live activity

Live activity — real-time enforcement stream

Decisions & approvals

Governance decisions — allow / deny / escalate analytics

Approvals — human-in-the-loop escalation queue

Registry & policies

Agent registry — identity catalog for policy enforcement

Policies — Rego catalog from the interceptor

Policy detail — mortgage underwriting rules

Forensics

Traces — governance trace investigation


Deployment modes

Mode How Best for
Local acp up via pip + Docker Demos, dev, quickstart
SDK @governed_tool in your agent code CrewAI, LangGraph, Strands, custom Python
Gateway Single origin on :3090 (dashboard + API proxy) Local unified URL; pattern for prod ingress
Cloud / self-hosted Docker Compose, Kubernetes, ECS/EKS on AWS/Azure/GCP Team or enterprise rollout

Local endpoints

URL Purpose
http://localhost:3090/dashboard/ Governance dashboard
http://localhost:8080 Interceptor API (/tool-call, /api/v1/*)

Self-hosted (example)

https://acp.your-company.example

Example: governed tool

import os
from acp import governed_tool

os.environ.setdefault("ACP_INTERCEPTOR_URL", "http://localhost:8080")

@governed_tool(agent_id="supply-chain", tool="supplier_approval")
def supplier_approval(supplier_name: str, risk_score: int):
    return {"supplier": supplier_name, "risk_score": risk_score, "status": "pending_review"}

The AI Control Plane intercepts the call, evaluates policy, then allows, denies, or escalates.


Example: policy (Rego)

package acp.policy

allow {
    input.identity.role == "supply-chain-manager"
    input.action.tool == "supplier_approval"
    input.risk_score < 70
}

Edit policies in ~/.acp/policies/ after acp init.


Example: governance flow

Supply Chain Agent
    → ACP — AI Control Plane validates identity (JWT)
    → OPA evaluates policy
    → Decision: ESCALATE
    → Human approves in dashboard
    → Execution resumes

What the AI Control Plane provides

  • Policy enforcement — OPA/Rego (Cedar on roadmap)
  • Identity — JWT from Okta, Auth0, Keycloak, or your IdP
  • Approvals — human-in-the-loop for risky actions
  • Observability — dashboard for decisions, traces, agents, tools
  • Agent registry — lightweight catalog of agents and capabilities
  • Framework-friendly — keep CrewAI / LangGraph / Strands for reasoning; govern execution here

Philosophy

Orchestration frameworks handle reasoning, planning, and workflows.

ACP — AI Control Plane handles governance, trust, approvals, policy, and auditability.

Reasoning stays autonomous. Execution stays governed.


Roadmap

  • Gateway / proxy execution mode (production hardening)
  • MCP-native governance
  • Policy studio and replay
  • Enterprise topology views
  • Multi-cloud deployment templates

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

acp_ai-0.2.3.tar.gz (75.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

acp_ai-0.2.3-py3-none-any.whl (104.1 kB view details)

Uploaded Python 3

File details

Details for the file acp_ai-0.2.3.tar.gz.

File metadata

  • Download URL: acp_ai-0.2.3.tar.gz
  • Upload date:
  • Size: 75.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.6

File hashes

Hashes for acp_ai-0.2.3.tar.gz
Algorithm Hash digest
SHA256 197696e6b4e311119e69e77815630b3b393decd1c8f9dda1eaae97420ab48ab7
MD5 2783417c8ff918d57f22c7bef4baa570
BLAKE2b-256 0e1512ab104e2c7fcc7ae9cacd9f26c33dd0d2fbbdceee32aa39a66f19a3b183

See more details on using hashes here.

File details

Details for the file acp_ai-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: acp_ai-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 104.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.6

File hashes

Hashes for acp_ai-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cf3303331a7b1a81273aedd164e35cf0499327da2fddb3866b15a787f913a444
MD5 94ba06bc5cb1aaff9148453e167a9ebf
BLAKE2b-256 23b0a3df8ad509d84162cbc853f4ca94a7f5bfafca1a467223e1231001f3c678

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page