v0.1 - Draft specification, open for comment.
Verifiable identity for AI agents that access web content.
Part of the OpenAttribution project. See also the Content Telemetry standard for the content usage reporting format.
AIMS is the identity layer in the four-layer content-agent stack. It provides:
- Agent identity: DID-based, using any W3C DID method
- Content licences: Machine-readable proof of what content this agent is licensed to access
- Telemetry compliance: Links the agent's identity to its OpenAttribution telemetry endpoint
pip install openattribution-aimsfrom openattribution.aims import AIMSManifest, Operator, Licence, TelemetryCompliance
manifest = AIMSManifest(
id="did:web:example.com:agents:my-agent",
operator=Operator(name="Example Corp", domain="example.com"),
licences=[
Licence(source="reuters.com", type="rsl", scope="inference"),
Licence(source="wirecutter.com", type="partnership", scope="full"),
],
telemetry=TelemetryCompliance(
endpoint="https://api.openattribution.org/v1/events",
agent_id="did:web:example.com:agents:my-agent",
),
)
# Resolve another agent's manifest
from openattribution.aims import resolve_manifest
other = await resolve_manifest("did:web:other.com:agents:search")
if other:
print(other.licences)Full specification: SPECIFICATION.md
| Layer | Question | Standard |
|---|---|---|
| Declaration | What are the terms? | RSL, robots.txt |
| Access control | Does this agent have permission? | RSL CAP/OLP |
| Identity | Who is this agent? | AIMS |
| Telemetry | What happened after access? | OA Telemetry |
Without identity, telemetry is anonymous. Without telemetry, identity is credentials with no audit trail.
Apache 2.0