Documentation

ActionAuth is a runtime authorization gateway that deterministically allows or denies AI agent actions based on policy, outside the LLM.

Everything you need to integrate Agent Access Control into your infrastructure.

What is Agent Access Control?

Agent Access Control is a deterministic authorization layer for AI agents. Policy evaluation happens outside the LLM. Every decision is explicit: allow or deny.

The gateway sits between an agent and its tools. Before any side effect occurs, the policy is evaluated. If denied, execution stops. If allowed, the action proceeds.

  • No LLM calls — Pure logic, no hallucinations
  • Append-only audit trail — Every decision is logged
  • Default deny — Secure by default
  • Priority-based policies — First match wins

Core Concepts

Agents

Execution contexts for AI systems. Each agent is associated with an API key and policies that govern its access.

Tools & Actions

APIs or systems your agents call. Each tool has specific actions (e.g., read_customer, update_order). Actions are the unit of authorization.

Policies

Rules that explicitly allow or deny agent actions. Evaluated by priority order. First match wins.

Gateway API

The single endpoint for all agent requests. Validates API key, evaluates policies before execution, and logs decisions.

Endpoint

POST https://agentaccesscontrol.com/api/gateway/execute

Headers

Authorization: Bearer aac_your_api_key_here
Content-Type: application/json

Request Body

{
  "tool": "customer_database",
  "action": "read_customer",
  "input": {
    "customer_id": "123"
  }
}

Success Response (Allow)

{
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "decision": "allow",
  "policy_id": "abc123",
  "output": {
    "status": "simulated",
    "echo": { "customer_id": "123" }
  }
}

Deny Response

{
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "decision": "deny",
  "policy_id": "xyz789",
  "error": {
    "code": "DENIED",
    "message": "Denied by policy: Deny Write Access"
  }
}

5-Minute Quickstart

  1. 1.Sign up and create your organization
  2. 2.Define your first agent (e.g., "Support Bot")
  3. 3.Add a tool with actions (e.g., "Customer DB" with read/write actions)
  4. 4.Create policies (allow read, deny write)
  5. 5.Generate API key and test with cURL. First deny is expected and correct.

Security Model

This system performs authorization only. It does not authenticate users, manage identities, or issue tokens.

  • API keys are SHA-256 hashed and never stored in plaintext
  • Row Level Security (RLS) enforces org-based isolation in Postgres
  • Audit logs are append-only and written before responses
  • Default deny policy — explicit allow required
  • No LLM calls means no prompt injection vectors