Every agent, on the record.
See and control what every AI agent at your company does, whoever built it.
Record
All agentsAll vendorsLast 1 hsample datanorthwind/ops.evt_81F2One layer between your agents and the tools they touch.
Agents come from many vendors. Ankana gives them one way to get access, ask permission, and leave a record.
See every action, from every agent.
One timeline across GitHub and every connector you enable. Who did what, to which resource, under which policy.
- Newest first, searchable by agent, vendor or ID
- Append-only, exportable
- Same view for agents you built and agents you bought
Record
All agentsAll vendorsLast 1 hsample dataStop one agent without stopping the company.
Each agent holds only the scopes it needs, for minutes. Pause it and its tokens are revoked on the spot.
- Least-privilege scopes per agent
- Credentials expire by default
- Kill switch per agent, logged
What one agent learns, the company keeps.
The record becomes shared memory, with a source for every fact, so the next agent starts informed.
- Every fact cites where it came from
- Policies and learned facts, side by side
- Permission-aware by agent
Writes under Guarded wait for a person to approve.
northwind/ops is the default ops repo for held writes.
ankana.ping is allowed under Guarded.
github.create_issue is held under Guarded.
Three steps. No rewrite.
Route agents through Ankana
Point agents at Ankana via MCP or the SDK. Vendor keys move into the Ankana vault.
$ npx ankana init ✓ Workspace northwind connected ✓ 4 agents found via MCP + SDK ✓ Credentials moved to Ankana vault → Every action is now on the record
Write rules as code
Decide what needs a human, where to ask, and what happens if nobody answers.
Start with Guarded: reads run, writes wait for approval. Change it any time.
- GuardedGuarded allows reads and holds writes for approval.
- StrictStrict blocks every call except the ankana.ping test until you allow more.
- OpenOpen allows every call. Use it only for testing.
match: github.create_issue when: amount > 500 require: approval route: slack:#ops timeout: 15m # no answer → deny record: always
Run on the record
Approvals land in Slack. Everything else is allowed, blocked or paused — and recorded.
$ ankana tail --agent cursor 09:40:44 github.get_repo allowed 09:41:12 github.create_issue held · approval → routed to #ops (policy refunds-500) 09:41:16 approved in #ops 4 s 09:41:16 github.create_issue executed
Works across the stack you already run.
Vendor-neutral by design.
Agents
Tools they touch
Built for the people who say no.
How Ankana is designed to keep agents in bounds.
Short-lived, scoped access
Agents never hold long-lived keys. Each action gets the narrowest credential, for minutes.
Human approval where it matters
Risky actions pause and route to Slack. Decisions are logged with who, when and why.
Per-agent kill switch
Pause one agent instantly. Its tokens are revoked; everything else keeps running.
Append-only record
Every action, across every vendor, in one tamper-evident timeline you can export.
Your data, your boundary
Agent credentials live in the Ankana vault, never in prompts or agent code.
Put your agents on the record.
Connect your first agent in a few minutes. The free tier needs no sales call.