Quick start
AIM gives every AI agent a unique Ed25519 identity, capability scoped authorization, and a continuous trust score, with every action recorded in an audit log. Pick the path that matches how you run agents. All three share the same audit-event schema.
Cloud
Managed backend. Fastest path with the Python SDK.
Local, no server
Embed @opena2a/aim-core in a Node.js app on one machine.
Self-hosted
Run the AIM server on your own infrastructure.
Cloud quickstart
Install the Python SDK and authenticate. aim-sdk login runs an OAuth flow against aim.opena2a.org. Pass --url to point at a self-hosted server instead.
pip install aim-sdk
aim-sdk login # OAuth to aim.opena2a.org, or --url for self-hostedThen protect any function with a capability grant. secure() generates an Ed25519 keypair, registers the agent, and stores credentials under ~/.aim/.
from aim_sdk import secure
agent = secure("my-first-agent")
@agent.perform_action(capability="db:read")
def get_customer(customer_id):
return db.query("SELECT * FROM customers WHERE id = ?", customer_id)@perform_action signs every invocation, runs it through 5-step Fine-Grained Authorization, and records the outcome in the audit log. Risk level is auto-detected from the capability string, so db:read is treated as lower risk than payment:charge.
The same one-line shape works in Java and TypeScript. The Python SDK tutorial walks through this end to end.
Local, no server
To run on one machine with no server, embed identity directly in a Node.js application with @opena2a/aim-core, the local-only TypeScript SDK. Identity lives at ~/.opena2a/aim-core/, the audit log is a local JSONL file, and policies are YAML.
npm install @opena2a/aim-coreLocal mode covers identity, capability policy, audit, and the 8 factor posture score. Deny-before-execute authorization, server-side Fine-Grained Authorization, and the 9 factor behavioral score require the server. See the aim-core guide.
Auditing or hardening an existing codebase rather than integrating an SDK? The optional opena2a CLI adds SecOps commands such as opena2a identity audit for a cross-tool audit log. It is not required to use the SDK.
Self-hosted
Run the full AIM server, dashboard, and PostgreSQL on your own infrastructure. The quickstart script brings up the server, dashboard, PostgreSQL, and Redis, then prints login credentials at the end of the run.
curl -sSLO https://raw.githubusercontent.com/opena2a-org/agent-identity-management/main/scripts/quickstart.sh
shasum -a 256 quickstart.sh # verify against the SHA in the latest release notes
bash quickstart.shThe dashboard is served at localhost:3000 and the API at localhost:8080. For production deployment on Azure, GCP, or AWS, and a from-source setup, see the installation guide.
What happens on each action
In server mode, every privileged action runs through five checks before it executes. A denied action never reaches your code, so a prompt injection that asks the agent to act outside its declared grant is stopped at the tool-call boundary.
- Capability: is this action inside the agent grant?
- Attribute: do the request attributes match policy?
- Context: is the call consistent with the agent context?
- Chain: is the delegation chain intact?
- Intent: on high-risk actions, the NanoMind classifier checks intent locally.
Next steps
The @perform_action decorator
Risk auto-detection, JIT access, async, and error handling.
Capability enforcement
How declared grants block actions a prompt injection tries to take.
Trust scoring
The 8 factor local posture score and the 9 factor server behavioral score.
Installation
Docker Compose, Kubernetes, and from-source self-hosting.