Agent-specific identity and access management for AI agents.
What does it do?
When AI agents operate in your enterprise, the authorization question changes from "Can this user do X?" to:
"Can this agent, acting on behalf of this user, do X, right now, on this resource?"
agent-auth answers that question. It is a lightweight, YAML-driven authorization engine purpose-built for AI agent systems. No cloud dependency. No vendor lock-in. Just a Python library and a CLI.
Features
- Roles with inheritance — define hierarchical permission sets via
extends - Agent profiles — assign roles, allow/deny specific actions, scope to resource patterns
- Three-tier approval — autonomous / soft / strong
- Sessions — time-limited, scope-bound authorization contexts (UUID4 IDs)
- Delegation — temporary permission grants from users to agents
- Agent-to-agent (A2A) — control which agents can invoke which
- Audit logging — every decision recorded in JSONL
- Safe expression language — custom DSL for policy conditions (no
eval()) - CLI — validate, check, manage sessions and delegations from the terminal
Quick Start
Install
pip install theaios-agent-auth
Define your policy (agent_auth.yaml)
version: "1.0"
roles:
viewer:
actions: [read]
editor:
extends: viewer
actions: [write]
profiles:
assistant:
role: editor
scopes: []
approval_policies:
- name: destructive
condition: 'action == "delete"'
tier: strong
Use in Python
from theaios.agent_auth.config import load_config
from theaios.agent_auth.engine import AuthEngine
from theaios.agent_auth.types import AuthRequest
config = load_config("agent_auth.yaml")
engine = AuthEngine(config)
decision = engine.authorize(AuthRequest(
agent="assistant",
user="alice",
action="read",
))
print(decision.allowed) # True
print(decision.is_autonomous) # True
print(decision.is_denied) # False
Use the CLI
# Validate your config
agent-auth -c agent_auth.yaml validate
# Check a permission
agent-auth -c agent_auth.yaml check --agent assistant --user alice --action read
# Create a session
agent-auth -c agent_auth.yaml sessions --create --agent assistant --user alice --scope "project:*"
# Delegate permissions
agent-auth -c agent_auth.yaml delegate --from-user alice --to-agent assistant --actions deploy --duration 3600
Why this library?
| Approach | Limitation |
|---|---|
| Okta / Azure AD | Built for human users, not AI agents. No concept of approval tiers, agent scopes, or A2A authorization. |
| OPA / Cedar | General-purpose policy engines. Powerful but require significant effort to model agent-specific patterns (sessions, delegation, A2A). |
| Custom code | Every team reinvents the same patterns. No standard, no audit trail, no CLI tooling. |
agent-auth |
Purpose-built for AI agents. YAML config, three-tier approval, sessions, delegation, A2A, audit — all out of the box. Safe expression language — no eval(). |
Documentation
Full documentation: cohorte-ai.github.io/agent-auth
| Topic | Link |
|---|---|
| Concepts | concepts |
| Config syntax | config-syntax |
| CLI reference | cli |
| API reference | api-reference |
| Integration | integration |
Ecosystem
agent-auth is part of the theaios platform — modular tech bricks for enterprise AI systems:
| Package | Purpose |
|---|---|
| theaios-guardrails | Input/output guardrails (TrustGate) |
| theaios-context-router | Intelligent context routing |
| theaios-agent-monitor | Runtime observability |
| theaios-agent-auth | Identity and access management |
License
Apache 2.0 — see LICENSE.
Metadata
Release files for theaios-agent-auth 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| theaios_agent_auth-0.1.1.tar.gz | 76.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| theaios_agent_auth-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 117.7 kB
Release files / theaios_agent_auth-0.1.1.tar.gz
| Download URL | theaios_agent_auth-0.1.1.tar.gz |
|---|---|
| Size | 76.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
24b58747393652f0881fd4f1710105aca4aaa990b288d3bc65beb8fb5d44e5e8
|
|
BLAKE2b-256 checksum How to use checksums |
25598d835b09827a45c08650156d98e015e0145aa09905ca68df56768ec4f35a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / theaios_agent_auth-0.1.1-py3-none-any.whl
| Download URL | theaios_agent_auth-0.1.1-py3-none-any.whl |
|---|---|
| Size | 40.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d9d02ae94ce7fab167704699b240ac9d829ecc9aeefe3dbcb73e9b776cfdfc0d
|
|
BLAKE2b-256 checksum How to use checksums |
48da96d37b23806283be1924006a9b0138247fd779506a09cea579d725afc010
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|