Developers
Live in an afternoon
ArtifactAuth is a REST/JSON API. Authenticate with your API key and name the end-user you're acting for with the x-aaa-principal-id header on each request. We gate every read against that user's clearance, resolved live against your own policy engine. Here's the whole loop, end to end.
How it works
Four steps, end to end
Examples
record() a segment, then search() across them
API surface
Small on purpose
MCP tools
Let tools carry their own authorization
An agent's tools are where protected artifacts enter the conversation, so that's where the authorization should be reported. A brokered MCP tool annotates its output with the requirement its source system enforced; a conforming harness lifts that annotation into an access receipt automatically. You never hand-build the receipts array — the tool that did the fetch is the one thing that actually knows what the fetch was worth.
Bring your own authorization
Connect your policy engine
The first thing you wire up is the Policy Decision Point, a single endpoint that resolves a principal's capabilities. Adapter templates ship for Okta/Entra groups, LDAP/AD, SCIM, OPA, Cedar, and AWS IAM. This pull model is the default and works for enumerable RBAC and non-enumerable ABAC alike.
Push authorities
Take your PDP off the read path
When a principal's grants are enumerable (Okta/Entra groups, SCIM, an RBAC table), you don't need a live call per read. Switch the authority to push mode in the console and have your identity-sync job PUT the materialized grant set whenever it changes. Reads then evaluate that snapshot locally: no per-request round-trip, so your PDP's uptime and tail latency stay off the hot path. Pull stays the default and the only option for attribute-based (ABAC) policies.