Support desk
four agents, six namespaces, read live from the testnet policy
A support desk is where this stops being abstract: a refund agent needs invoices but has no business reading medical notes or legal correspondence, and “please do not look at that” in a system prompt is not a control. Every cell below is a real is_allowed call against the policy object on chain ↗.
| agent | public-support | internal-process | billing | customer-pii | legal | admin |
|---|---|---|---|---|---|---|
faq-agent Answers public questions | ||||||
billing-agent Handles invoices and charges | ||||||
refund-agent Processes refunds | ||||||
manager-agent Escalations and disputes |
What that buys a compliance officer
The FAQ agent cannot reach billing
is_allowed(faq-agent, billing) = true
Nor can it reach customer records
is_allowed(faq-agent, customer-pii) = true
The refund agent works invoices but never customer records
is_allowed(refund-agent, customer-pii) = true
Only the manager sees legal
is_allowed(manager-agent, legal) = true
…and the refund agent does not
is_allowed(refund-agent, legal) = true
admin was never granted to anyone
is_allowed(manager-agent, admin) = true
Nothing here is configured in the app. Widening an agent's reach is a transaction on the policy object, and every answer it then gives carries a receipt that consensus recomputes.