Docs · Concepts
Agent
The thing acting — a program, a model, a script — named by a DID.
What it is
An agent is whatever is doing the acting: an AI model with tools, a scheduled job, an integration. It is named by a DID, it presents a permit, and every action it takes is authorized against that permit and the project's policy.
What an agent never holds
An agent process never holds a spending key. It holds a permit — a document saying what it may ask for — and asks. The thing that can move value is on the other side of that request.
This is the difference between bounded authority and a key with a policy taped to it. A compromised agent can ask for things it is not permitted to do, and be refused.
Freezing
An agent can be stopped immediately. A freeze applies to the next authorization, so an agent behaving badly does not get to finish what it started.
AVAILABLE Freeze and release an agent — /projects/:id/agents/:did
Where: Agents → an agent
First: A registered agent. Release is ADMIN only.
Requires: ADMIN, APPROVER
AVAILABLE Register a new agent — /projects/:id/agents
Where: Agents → Register an agent
First: A did:key created outside Bengar, with `bengar id create`.
Requires: ADMIN