tools
AI Agent Permission Matrix: Who May Read, Propose and Execute
This AI agent permission matrix is an open CSV showing what 33 reference agents on a customer data platform (CDP) may read, propose and execute, who approves, who owns each one and what it must never do. Use it as a starting draft for your own access matrix. It is a vendor-neutral method, not a list of product features.
By Art Kukharenko · Published · Updated
All toolsWho this is for: security engineers, data protection officers and marketing-operations leads. Download agent-permission-matrix.csv. The matrix summarises the AI agent rails method; each row has a fuller card in the rail card template set. More assets: tools hub.
What does the permission matrix show?
The permission matrix shows that execute rights are rare in this reference design, and that most agents need no customer records at all. The counts below come from the CSV. They describe our design, not what the market does.
Scroll horizontally to see all columns.
| Measure | Rows of 33 |
|---|---|
| Hold no execute tool | 24 |
| May execute, bounded by approval, a written rule, routing only or non-production use | 9 |
| Read aggregates or metadata only | 21 |
| Read masked, pseudonymised, by-reference or narrowly scoped data | 10 |
| Read identifiable records within a tight scope | 2 |
The two rows with identifiable records are the DSAR Assembler, limited to one verified subject, and the CRM Hygiene Fixer, limited to scoped CRM fields.
How was the matrix built?
The matrix is a reference design written from one source file, the agent roster, so it is not a survey of deployed systems. We built it in four steps.
- Define the jobs. We listed 30 function jobs across eight functions, plus three cross-cutting agents.
- Apply the design rules. Rules enforce and models explain. Enforcement sits outside the prompt. The approver is never the requester. Each session passes the Agents Rule of Two, under which it should hold at most two of untrusted input, sensitive data and the ability to change state or communicate externally 1.
- Assign a level to each job, using the rail levels. Levels belong to a job, not to an agent or a company.
- Generate the CSV from the roster. The
reads_customer_recordscolumn is our plain-language summary of each agent's data scope. The roster and the JSON dataset hold the full wording.
Limits appear in words, because each team sets its own values. We review the matrix twice a year and whenever the roster changes.
Column definitions
The CSV has 12 columns and one row per agent, and every value is plain text.
Scroll horizontally to see all columns.
| Column | Meaning |
|---|---|
agent | The job name of the agent, used across the AI agent rails section |
function | The team that owns the job, or "Cross-cutting" for the three agents that span teams |
typical_level | The rail level for the job, from L0 Off to L4 Act within bounds |
risk | Our judgement of harm from an error on this job: low, medium or high |
reads_customer_records | Whether the session sees customer records, and in what form |
may_read | What the agent may read, in words |
may_propose | What it may draft; nothing changes until a person acts |
may_execute | The action it may run, if any |
approver_or_gate | Who decides, or the written rule that stands in for a decision |
owner | The accountable role |
never | What the rail excludes, even if someone asks |
profile_url | The relative URL of the agent's profile page |
How do you read the matrix?
Read each row of the matrix as one sentence: this agent, at this level, may read this, propose this and execute this, past this gate, under this owner. A few values need explaining.
None.undermay_executemeans the rail holds no execute tool. "None; a separate service delivers the report." means delivery runs in another service, not as a tool the model holds.- "L2 to L3" is a range across parts of one job: triage at L2, a format-only fix at L3.
- "L1, L4 pause" means the agent reads and explains at L1, and takes one bounded action at L4.
- "L4 on routing only" applies to the Orchestrator, which starts runs and broadcasts a pause but never reads a customer record.
- The Trainer is the one row at L2 alone with an execute value, because it runs tests in non-production only.
Three rows rule out ranking or reporting on named staff: the Lead Routing Proposer, the Trainer and the VP Marketing agent. EU AI Act Annex III point 4(b) lists monitoring workers' performance and allocating tasks by individual behaviour as high-risk uses 2. Take advice before adapting those rows.
How does the matrix map to a RACI chart?
The permission matrix maps to a RACI chart with one firm rule: an agent can be responsible for a task, but only a person can be accountable for it.
Scroll horizontally to see all columns.
| RACI role | Matrix column | Note |
|---|---|---|
| Responsible | agent, within may_propose and may_execute | The agent does the work inside its scope |
| Accountable | owner | Always a named role, never a team or an agent |
| Consulted | approver_or_gate | This is a decision right, so treat it as stronger than consultation |
| Informed | Not in the CSV | Add a column for who receives alerts and readouts |
Preview of the data
This preview shows 10 of the 33 rows and six of the 12 columns, with values exactly as they appear in the CSV.
Scroll horizontally to see all columns.
| agent | typical_level | risk | reads_customer_records | may_execute | approver_or_gate |
|---|---|---|---|---|---|
| Segment Drafter | L2 | medium | Pseudonymised IDs only | None. | Marketing-operations reviewer, never the requester; approval binds to the definition hash. |
| Reporting Summariser | L1 | low | No, aggregates or metadata only | None; a separate service delivers the report. | The owner reviews each report at first, then samples. |
| Anomaly Watcher | L1, L4 pause | medium | No, aggregates or metadata only | Pause one send under a written rule. | The pause rule is approved in advance; only a person resumes a send. |
| Audience Sync Steward | L3 | high | No, aggregates or metadata only | Start one approved sync through the execution service. | Named approver for every sync; a second approver above a size threshold. |
| Consent Conflict Reviewer | L2, L4 for hold only | high | Pseudonymised samples where a case needs them | Raise a hold on a launch. | A compliance reviewer clears holds and accepts fixes. |
| Data Quality Triager | L2 to L3 | medium | Masked samples | Apply an approved format-only fix. | Data steward approves each fix batch. |
| DSAR Assembler | L2 | high | Yes, one verified subject in scope | None. | A privacy analyst signs off every pack and decides exemptions. |
| Sync Medic | L3 to L4 | medium | No, aggregates or metadata only | Retry the same approved sync version with idempotency and a fresh consent check. | No new approval for a bounded retry of the same approved hash; the platform on-call approves any other change. |
| Orchestrator | L4 on routing only | medium | No, aggregates or metadata only | Start a run; notify; expire a request; broadcast a pause. | None on routing; changes to the routing table go through change control. |
| VP Marketing agent | L1 to L2 | medium | No, aggregates or metadata only | None; a separate service delivers the readout. | The VP reads it; nothing leaves without a person. |
How to cite the matrix
Citing the permission matrix takes one line, and reuse follows the site's dataset reuse terms.
How to adapt the matrix
Adapting the matrix means replacing our words with the names of your own systems and people, one row at a time.
- Delete the jobs you do not run. Add a row only after writing its rail card.
- Replace the verbs with real tools. Rewrite
may_read,may_proposeandmay_executeas tool names from your own allow-list. Our words are not API calls. - Use your own roles. Put your titles in
ownerandapprover_or_gate, then check that no approver can also be the requester. - Add the columns you need. Useful ones are data class, masking level, consent filter, limit values and the session's Rule of Two properties.
- Recheck each level. Start below
typical_levelif the evidence is missing. The JSON dataset lists amax_levelfor each agent. - Name the enforcing system. For each cell, say which data view, allow-list, approval service or execution service holds the limit. A row that no system enforces is a wish.
- Version it, and compare it with the ledger. The matrix states what should happen, and the ledger shows what did.
The 7 things AI agents should never do make a good test for your never column, and the boundary architecture patterns help with placement.
Browse use casesFunction playbooksAgent roster
Complete agent permission matrix
Select a column heading to sort the 33 reference agents. Download the CSV.
| Access Review Assistant | Compliance, privacy and security | L2 | medium | No, aggregates or metadata only | Identity records; scope grants; usage logs. | Revocation and review list. | None. | The security owner decides every change. | Security lead | Grant or revoke access; approve its own scope. | Access Review Assistant profile |
| Account Signal Digest | Sales and revenue operations | L1 | low | No, aggregates or metadata only | Account aggregates; firmographics; open opportunities list. | None. | None. | The account owner decides any action. | Head of revenue operations | Contact a prospect; score people on protected attributes; expose individual activity without a lawful purpose. | Account Signal Digest profile |
| Anomaly Watcher | Marketing operations | L1, L4 pause | medium | No, aggregates or metadata only | Metrics; calendar; change log; data freshness. | Alert explanation with hypotheses. | Pause one send under a written rule. | The pause rule is approved in advance; only a person resumes a send. | Head of marketing operations | Detect anomalies by model judgement alone; cancel a send; resume a send; touch transactional mail. | Anomaly Watcher profile |
| Audience Sync Steward | Marketing operations | L3 | high | No, aggregates or metadata only | Approval record; destination allow-list; sync status. | Sync plan with destination and count. | Start one approved sync through the execution service. | Named approver for every sync; a second approver above a size threshold. | Head of marketing operations | Change an audience; add a destination; sync without a fresh consent check. | Audience Sync Steward profile |
| Case Classifier | Customer support | L2 | medium | Case text only | Case text; category definitions. | Category, priority and queue with confidence. | None. | A service agent or team lead accepts or changes the proposal; low confidence goes to a person. | Head of customer support | Reply to a customer; close a case; read customer profiles. | Case Classifier profile |
| Claims Checker | Lifecycle and CRM marketing | L2 | medium | No, aggregates or metadata only | Draft copy; claims register; disclosure rules. | Annotated findings with suggested wording. | None. | Compliance reviewer signs off regulated claims; the copy owner resolves the rest. | Head of lifecycle marketing, with compliance | Approve a regulated claim; publish copy; invent a substantiation; personalise from raw personal data. | Claims Checker profile |
| Connector Change Reviewer | Platform operations | L2 | medium | No, aggregates or metadata only | Configuration diffs; connector docs; data classification. | Review comments with risk rating. | None. | A platform engineer merges or rejects. | Platform lead | Apply or merge a change; hold secrets; change security settings. | Connector Change Reviewer profile |
| Consent Conflict Reviewer | Lifecycle and CRM marketing | L2, L4 for hold only | high | Pseudonymised samples where a case needs them | Conflict reports; purpose and channel definitions; rule text. | Plain explanation and proposed fix. | Raise a hold on a launch. | A compliance reviewer clears holds and accepts fixes. | DPO or compliance lead | Decide who may be contacted; change consent or suppression state; release a hold; override a rule-based deny. | Consent Conflict Reviewer profile |
| Context Briefer | Customer support | L1 | medium | Masked summary, one customer | Masked profile view; interaction summary; consent flags. | None. | None. | The service agent decides what to do with it. | Head of customer support | Reply to a customer; reveal masked fields; make promises; use the data for marketing. | Context Briefer profile |
| Cost Watcher | Platform operations | L1 | low | No, aggregates or metadata only | Usage meters; billing exports; rail budgets. | None. | None. | The rail owner and finance partner decide any change. | Platform lead, with finance | Change a budget; scale infrastructure; pause a rail. | Cost Watcher profile |
| CRM Hygiene Fixer | Sales and revenue operations | L3 | medium | Yes, scoped CRM fields | CRM records in scope; duplicate candidates. | Fix batch with before and after values. | Apply one approved batch. | A revenue-operations approver signs each batch. | Head of revenue operations | Edit opportunity values; delete records; change consent fields; contact anyone. | CRM Hygiene Fixer profile |
| Data Quality Triager | Data and analytics | L2 to L3 | medium | Masked samples | Test results; schema; lineage; masked samples. | Ranked triage list and proposed fixes. | Apply an approved format-only fix. | Data steward approves each fix batch. | Head of data or data steward | Change meaning of a field; delete records; edit consent or identity fields. | Data Quality Triager profile |
| Deliverability Watcher | Lifecycle and CRM marketing | L1, L4 pause | medium | No, aggregates or metadata only | Provider dashboards; bounce and complaint rates; authentication results. | Diagnosis with likely causes. | Pause one marketing stream under a written rule. | The pause rule is approved in advance; the deliverability owner resumes. | Deliverability or email operations lead | Resume a stream; change DNS or authentication records; suppress addresses; pause transactional mail. | Deliverability Watcher profile |
| DSAR Assembler | Compliance, privacy and security | L2 | high | Yes, one verified subject in scope | System map; in-scope records; response templates. | Response pack and draft reply. | None. | A privacy analyst signs off every pack and decides exemptions. | DPO | Verify identity; decide exemptions; close a request; delete data; send the reply. | DSAR Assembler profile |
| Escalation Spotter | Customer support | L1 | medium | Case text only | Case text; status; flag definitions. | None; it raises a flag for a person. | None. | A team lead reviews each flag. | Head of customer support, with the DPO | Decide an outcome; contact a customer; record a consent change itself. | Escalation Spotter profile |
| Evidence Packer | Compliance, privacy and security | L1 to L2 | medium | Identifiers by reference only | Ledger views; rail cards; policy versions. | Evidence pack with an index. | None. | The compliance lead reviews and releases every pack. | Compliance lead | Alter a ledger entry; release a pack; state a compliance conclusion. | Evidence Packer profile |
| Experiment Reader | Product and growth | L1 | low | No, aggregates or metadata only | Experiment results; analysis plan; guardrail metrics. | None. | None. | The experiment owner and an analyst decide. | Head of product or growth | End an experiment; change allocation; add metrics after the fact without saying so. | Experiment Reader profile |
| Feature Adoption Explainer | Product and growth | L1 | low | No, aggregates or metadata only | Adoption aggregates; feature definitions. | None. | None. | The product owner decides any action. | Head of product | Target individuals; change a feature flag; state a cause as fact. | Feature Adoption Explainer profile |
| Frequency Advisor | Lifecycle and CRM marketing | L2 | medium | No, aggregates or metadata only | Cohort aggregates; calendar; current caps. | Cap and spacing changes with expected trade-offs. | None. | Lifecycle lead accepts or rejects; caps change through normal configuration. | Head of lifecycle marketing | Change caps itself; target people by vulnerability; override a suppression. | Frequency Advisor profile |
| Identity Reviewer | Data and analytics | L2 | high | Pseudonymised match features | Candidate pairs; match features; merge history. | Merge or split proposal with reason codes. | None. | An identity steward applies or rejects every proposal. | Head of data or identity steward | Merge or split profiles itself; use sensitive attributes; combine consent scopes. | Identity Reviewer profile |
| Journey QA Reviewer | Marketing operations | L2 | medium | No, aggregates or metadata only | Journey configuration; rule-check results; audience counts; live journey list. | Findings report. | None. | A person resolves every finding; unresolved high-severity findings stay blocked by the rule layer. | Head of marketing operations | Change a journey; launch; report a journey as passed; override a failed rule. | Journey QA Reviewer profile |
| Lead Routing Proposer | Sales and revenue operations | L2 | medium | Lead business fields only | Lead fields; territory rules; capacity. | Routing proposal with reason. | None. | The revenue-operations lead accepts exceptions; rule changes go through change control. | Head of revenue operations | Contact a lead; use protected attributes; rank named sales staff by behaviour or traits. | Lead Routing Proposer profile |
| Metric Explainer | Data and analytics | L1 | low | No, aggregates or metadata only | Metric catalogue; lineage; fixed aggregate queries. | None. | None. | None for answers; the metric owner reviews a sample. | Analytics lead | Change a metric definition; state a cause as fact; read individual records. | Metric Explainer profile |
| Onboarding Funnel Watcher | Product and growth | L1 | low | No, aggregates or metadata only | Funnel aggregates; release notes; data freshness. | None. | None. | The product owner decides any change. | Head of product or growth | Change a flow; target individuals; infer sensitive traits. | Onboarding Funnel Watcher profile |
| Orchestrator | Cross-cutting | L4 on routing only | medium | No, aggregates or metadata only | Rail catalogue; queue state. | None. | Start a run; notify; expire a request; broadcast a pause. | None on routing; changes to the routing table go through change control. | Head of marketing operations, with a platform engineer | Read a customer record; approve anything; widen a scope. | Orchestrator profile |
| Policy Drift Checker | Compliance, privacy and security | L1 | low | No, aggregates or metadata only | Rail cards; ledger metadata; policy versions. | None. | None. | None for reports; the rail owner decides any change. | AI governance lead | Change a rail; pause an agent; read customer payloads. | Policy Drift Checker profile |
| Reporting Summariser | Marketing operations | L1 | low | No, aggregates or metadata only | Fixed metric queries; metric catalogue; calendar. | None; the summary is read-only output for review. | None; a separate service delivers the report. | The owner reviews each report at first, then samples. | Analytics or marketing-operations lead | Calculate figures; state a cause as fact; deliver a report itself; read individual records. | Reporting Summariser profile |
| Restore Drill Reporter | Platform operations | L1 | low | No, aggregates or metadata only | Drill logs; targets; calendar. | None. | None. | The platform lead reviews each report. | Platform lead | Trigger a restore; change a backup policy; read restored data. | Restore Drill Reporter profile |
| Schema Drift Sentinel | Data and analytics | L1 | low | No, aggregates or metadata only | Schema snapshots; data contracts; lineage. | None. | None. | None for alerts; the pipeline owner decides any change. | Data platform lead | Alter a schema or pipeline; read row data. | Schema Drift Sentinel profile |
| Segment Drafter | Marketing operations | L2 | medium | Pseudonymised IDs only | Schema; existing segments; count estimates. | Versioned segment draft. | None. | Marketing-operations reviewer, never the requester; approval binds to the definition hash. | Head of marketing operations | Activate a segment; use special-category data or close proxies; read free-text fields. | Segment Drafter profile |
| Sync Medic | Platform operations | L3 to L4 | medium | No, aggregates or metadata only | Sync logs; error codes; approval record; destination status. | Fix proposal for anything other than a retry. | Retry the same approved sync version with idempotency and a fresh consent check. | No new approval for a bounded retry of the same approved hash; the platform on-call approves any other change. | Platform lead | Change a mapping or destination; retry a changed audience; exceed the retry limit. | Sync Medic profile |
| Trainer | Cross-cutting | L2 | medium | Masked samples | Masked samples; ledger views; rail cards. | Test cases; rail changes; training assignments. | Run tests in non-production only. | The rail owner accepts each addition and change; the DPO for data scope. | Head of marketing operations, with security for red-team drills | Edit a production rail; approve its own proposals; rank named staff. | Trainer profile |
| VP Marketing agent | Cross-cutting | L1 to L2 | medium | No, aggregates or metadata only | Aggregate views; ledger views; calendar; deadline tracker. | Priorities; draft sections. | None; a separate service delivers the readout. | The VP reads it; nothing leaves without a person. | VP of marketing | See an individual customer; change anything; report on named staff. | VP Marketing agent profile |
FAQ
What is an AI agent permission matrix?
An AI agent permission matrix is a table listing, for each agent, what it may read, propose and execute, who approves, and who owns it. It gives security and privacy teams one view of agent access. This one covers 33 reference jobs on customer data, and you should adapt it to your own systems before relying on it.
Can I load this matrix into a gateway as an access-control list?
No. The values are words, not tool names or policy rules, so no gateway can enforce them as written. Treat the matrix as the agreed intent. Then write the real allow-lists, data views and approval rules for your systems, and test that those systems refuse anything the matrix does not allow.
Why do so few agents hold execute permissions?
Execute rights carry the most risk, and most useful work needs only reading or drafting. An agent that explains or proposes can be wrong without changing anything, and a person catches the error. Separate services can deliver reports or run approved actions. So we add an execute tool only where a job truly needs one.
Does PrivyCDP include these 33 agents?
No. The matrix is a vendor-neutral method, and PrivyCDP does not ship these agents. The product uses AI to help review groups, workflows, unusual events and reports, with limits on data access and review of results. See the customer data platform page for what it does.
Can I reuse this dataset in my own work?
Yes. The site's dataset reuse terms allow copying, sharing and adapting the compilation, including commercial reuse, as long as you credit iAge / PrivyCDP, link to the dataset page and the terms, and identify your changes. Do not imply endorsement, or present a modified version as an official source 3.
Sources
To turn one row into a working spec, download the rail card template. The AI agent rails hub explains how the rows fit together.
This article is general information, not legal advice.
Further reading
- Agent rails
- AI Agent Permissions Template Download
- CDP tools and templates
- AI actions to avoid
- Private AI agents
Published: · Updated:
Editorial dates describe content changes. Confirm current sources before making legal, security or purchasing decisions.