Skip to main content

Agent-specific identity and access management for AI agents.

License PyPI Docs Follow @CohorteAI


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)

Source distribution for theaios-agent-auth 0.1.1
File Size Uploaded
theaios_agent_auth-0.1.1.tar.gz 76.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for theaios-agent-auth 0.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page