Agentic AI Governance — Control Plane for AI Agents

Agentic AI Governance — Control Plane for AI Agents

Challenge

Autonomous AI agents are executing tool calls — database queries, API requests, file operations — with minimal human oversight. Enterprises deploying agents face regulatory requirements (EU AI Act Art. 12-14, Singapore MGF) for human oversight, audit trails, and authorization controls. Existing agent frameworks (LangChain, AutoGPT, CrewAI) have no built-in governance layer.

Build a control-plane overlay that intercepts, authorizes, logs, and audits every tool call made by an AI agent — without modifying the agent or tool code.

Solution Architecture

Overview

┌─────────────────────────────────────────────────────────────────┐
│                      AI Agent Runtime                            │
│              LangChain · AutoGPT · CrewAI · Custom              │
└───────────────────────────┬─────────────────────────────────────┘
                            │ tool call
                            ▼
┌─────────────────────────────────────────────────────────────────┐
│              Governance Intercept Layer                          │
│         SDK Middleware (in-process) OR Sidecar Proxy            │
└───────────────────────────┬─────────────────────────────────────┘
                            │
         ┌──────────────────┼──────────────────┐
         ▼                  ▼                  ▼
┌──────────────┐   ┌──────────────┐   ┌──────────────┐
│ Policy Engine│   │   Approval   │   │   Audit Log  │
│  AgentPolicy │   │   Service    │   │    (Loki)    │
│     CRD      │   │  Human-in-   │   │              │
│              │   │   the-loop   │   │              │
└──────────────┘   └──────────────┘   └──────────────┘
                            │
                            ▼
                 ┌──────────────────┐
                 │  OSCAL Exporter  │
                 │ Assessment Results│
                 └──────────────────┘

Governance Flow

1. Agent requests tool call (e.g., "execute SQL query")
2. Intercept layer captures: agent_id, tool_name, parameters, context
3. Policy Engine evaluates AgentPolicy rules:
   - Is this tool allowed for this agent?
   - Does parameter match allowlist (e.g., SELECT only, no DROP)?
   - Is human approval required for this action?
4. If approval required → route to Approval Service → Slack/Teams/email
5. Log decision + outcome to Loki (hot) + S3 WORM (cold)
6. Return allow/deny to agent runtime

Key Features

1. AgentPolicy CRD

apiVersion: governance.ai/v1
kind: AgentPolicy
metadata:
  name: analyst-agent
spec:
  agentSelector:
    matchLabels:
      team: analytics
  rules:
    - tool: sql_query
      action: allow
      conditions:
        - "query MATCHES '^SELECT'"
        - "tables IN ['reports', 'metrics']"
    - tool: sql_query
      action: require_approval
      conditions:
        - "query MATCHES 'DELETE|DROP|TRUNCATE'"
    - tool: file_write
      action: deny

2. Human-in-the-Loop Approval

  • Slack/Teams integration for approval routing
  • Configurable timeout (auto-deny after N minutes)
  • Approval audit trail with approver identity

3. Comprehensive Audit

{
  "timestamp": "2026-05-07T14:32:01Z",
  "agent_id": "analyst-agent-01",
  "tool": "sql_query",
  "parameters": {"query": "SELECT * FROM reports"},
  "policy_evaluated": "analyst-agent",
  "decision": "allow",
  "latency_ms": 12,
  "trace_id": "abc123"
}

4. OSCAL Export

  • Assessment Results for auditors
  • Control mapping to EU AI Act, Singapore MGF, OWASP LLM
  • Cryptographically signed with Sigstore cosign

Regulatory Alignment

RegulationArticleRequirementFeature
EU AI ActArt. 12Record-keepingImmutable audit log (S3 WORM)
EU AI ActArt. 13TransparencyTool call visibility dashboard
EU AI ActArt. 14Human oversightApproval service + HITL routing
Singapore MGFPrinciple 2Human agencyAgentPolicy + approval workflow
OWASP LLMLLM01Prompt injectionInput sanitization in intercept
OWASP LLMLLM06Sensitive infoParameter allowlisting
OWASP LLMLLM08Excessive agencyTool-level deny policies

Tech Stack

ComponentTechnologyPurpose
Policy EngineGo + kubebuilderAgentPolicy CRD controller
Approval ServicePython + FastAPIHuman-in-the-loop routing
OSCAL ExporterPython + FastAPIAssessment Results generation
MCP AdapterPython + FastAPIMCP server-side sidecar
HTTP ProxyPython + FastAPIHTTP forward proxy intercept
Event Store (hot)Loki 2.9.xReal-time log aggregation
Event Archive (cold)S3/MinIO WORM7-year immutable retention
DashboardGrafana 11.xTool call visibility
SecretsHashiCorp VaultShort-lived AppRole tokens

Integration Modes

SDK Middleware (In-Process)

from governance import GovernanceMiddleware

agent = Agent(tools=[sql_tool, file_tool])
agent = GovernanceMiddleware.wrap(agent, policy="analyst-agent")

Sidecar Proxy (Out-of-Process)

# Kubernetes pod annotation
metadata:
  annotations:
    governance.ai/inject: "true"
    governance.ai/policy: "analyst-agent"

Results & Metrics

Compliance Coverage

  • EU AI Act Art. 12, 13, 14 — full coverage
  • Singapore MGF (Jan 2026) — ready
  • OWASP LLM Top 10 v1.1 — LLM01, LLM06, LLM08, LLM10

Revenue Target

  • $150K Year 1 (SaaS + enterprise licenses)
  • Per-agent or per-organization pricing