Your controls continue to hold when agents arrive.
Maker and checker, authorisation matrices and four-eyes approvals all assume that every actor is a named person. ZenCTRM keeps those controls working when the actor is an AI agent.
What happens when the agent gets it wrong?
An agent acting outside its remit. A change nobody sanctioned. An approval nobody gave. At machine speed and machine volume.
The answer cannot be a policy document. It has to be enforced by the architecture. That is how ZenCTRM is built.
1. Every agent acts for a named person.
An agent has its own identity. It never uses a person's password or a shared service account. Through MCP it presents the person's own sign-in together with its own identity, so the API sees both.
The intersection rule
An agent holds only the permissions that both it and the person hold. It can never exceed either.
Both names on every action
The record says who the action was for and who did it.
Refusals in words
A refused action returns a sentence, so the agent can explain it.
- Action
- Quantity amended, 50 to 75 MW
- For
- A. Trader
- By
- AI assistant, acting for A. Trader
- Allowed
- Amend trades: held by both
- When
- 1 Oct 2026, 14:32:07 UTC
- Next step
- Awaiting approval by Middle Office
2. Segregation of duties, for people and agents alike.
The rules do not depend on whether the actor is a person or a process. The same permissions govern both.
Four-eyes approvals
Any step in a process can need its own permission. The one who books can be required to differ from the one who approves.
Author and approver
Code and configuration go live in two steps, draft then activate, on separate permissions. You can require that nobody approves their own work.
Agents draft, people decide
An agent can prepare a change and check that it works. Switching it on is a person's decision.
Support without shortcuts
Impersonation for support is a deliberate, recorded session. It is not available in production.
3. Auditable, not merely logged.
A log says something happened. ZenCTRM keeps every version, so you can show what a trade said at any moment, what changed, when, and which person or agent changed it.
- Change
- Captured
- By
- A. Trader
- Change
- Price amended
- By
- A. Trader
- Change
- Quantity amended
- By
- AI assistant, for A. Trader
Versions, not overwrites
Trades, prices, documents and configuration keep every earlier version. A cancellation is a recorded step, not a deletion.
Configuration has a history too
"What was this set to last Tuesday?" has an answer.
No silent overwrites
Two administrators editing one record cannot overwrite each other without knowing.
Least privilege in the database
The running application cannot change its own structure, rewrite history or delete evidence.
Records are immutable at the application layer: the application only appends. Access to the infrastructure below it is controlled separately, by your own administrators and policies.
An agent cannot quietly tidy up after itself, because there is nowhere to tidy to.
Bring your control framework. We will show where agents fit.
We walk through your authorisation matrix and show the same controls applied to an AI agent, live.