Access Control for Agents
A complete audit log is not sufficient for compliance if its entries cannot identify the human responsible for each read.
A Shortcut That Looks Safe
When a team builds an internal AI agent that reads documents on behalf of employees, one of the first decisions is how the agent should authenticate to the systems it touches. A common shortcut is to give the agent a single service account that every user shares. It is simple to set up, it needs no per-person configuration, and it appears to give the organization a complete log of what the agent accessed. This article examines why that shortcut can fail a compliance review, and what a stronger design looks like.
The shortcut is not wrong in every setting. The problem appears when the material being read is material non-public information, often called MNPI. For that category, a log that exists and is complete can still fail the requirement that the organization actually has to meet.
Logged Is Not the Same as Attributed
The belief to challenge is this: if every agent action is logged under one shared account, the organization has an adequate audit trail. The logs exist, they are complete in the sense that each action is recorded, and they can be searched. For many purposes that is a reasonable starting point.
For reads of material non-public information, however, the question an auditor asks is not whether a read was logged. The question is whether the read can be tied to the human who was responsible for it. Two properties are being separated here. Completeness means every action has an entry. Attribution means every entry can be connected to a person. A shared account can deliver the first and still fail the second.
What the Requirement Actually Demands
Compliance requirement for MNPI: every read event must tie back to the human responsible for it. An audit log that cannot identify the responsible human for each read is not sufficient for compliance.
Notice what the requirement does and does not demand. It does not say the system must avoid reading sensitive material, and it does not say the agent must be forbidden from summarizing notes. It says that when a read occurs, the record must make it possible to name the responsible person. Design decisions are judged against that test, not against whether the system is busy or whether its logs are full.
Following a Read Back to a Person
The source describes a chain that an auditor needs to be unbroken. The read is performed by the agent, but the identity carried through the agent should be the analyst's own, so that the final audit entry points at a person. Read the diagram from left to right, one message at a time, and notice which link carries the identity.
- 1The analyst asks the agent for a summary of a document that contains MNPI.
- 2The agent performs the read, but it does so under an identity tied to that specific analyst.
- 3The document store records the read, and the audit entry names the identity that performed it.
- 4An auditor follows the identity in the entry to the analyst, who is the responsible party for the read.
Every link in that chain must exist. If the audit entry names the agent but the agent identity cannot be tied to a person, the chain has a gap, and the read cannot be attributed to the analyst who requested it. The requirement is met only when the path from entry to person is complete.
Where a Shared Account Cuts the Chain
Once the requirement is stated this way, the shared account fails for a structural reason rather than a technical one. The agent is performing the read, but the agent is not the responsible party. The analyst who asked for the summary is the responsible party. If the only identity visible in the record is the shared account, the chain between the analyst and the read has been cut.
The diagram shows where the chain breaks. The analyst appears only at the start of the flow, as the person who asked, and nothing in the audit entry leads back to that person. Under a shared account, the identity field in the final entry names the account, and because many people use that account, the entry cannot single out which one was responsible for a given read. The log is complete, but it is not attributable.
Per-Analyst Identity in Practice
The analyst exists in both designs and asks for the same summaries. What changes is which identity the system records when the read occurs. The per-analyst design moves attribution from an account that many people share to an identity that belongs to exactly one person, and that single change is what restores the link the requirement depends on.
Attributing one read under a per-analyst identity
An analyst named Dana asks the agent to summarize a research note that contains MNPI. Which identity must appear in the audit entry, and what must be true about that identity's permissions?
- 1Identify the responsible party
Dana asked for the summary, so Dana is the responsible human for this read.
- 2Choose the identity the read runs under
The agent reads under a per-analyst identity that belongs to Dana, not under a shared account.
- 3Check the scope of the identity
The identity is scoped to Dana's coverage universe and carries the same access controls as Dana's own login, so it cannot reach anything Dana could not already reach.
- 4Confirm the audit entry
The entry names Dana's agent identity, so an auditor can follow the entry to Dana as the person responsible for the read.
The read is attributable to Dana, and the agent has not gained access beyond what Dana was already entitled to read.
Mistakes When Designing Agent Identity
Common mistake Assuming a complete log is an adequate audit trail
Why it failsCompleteness only means each action is recorded. For MNPI reads the test is whether each read can be tied to a responsible person.
Do this insteadCheck that every entry can be followed to a human, not just that an entry exists.
Common mistake Giving the agent broader access so that its identity can serve many users
Why it failsA shared identity with wide reach both breaks attribution and lets the agent read material its users are not entitled to read.
Do this insteadScope each agent identity to one person's coverage universe and match that person's access controls.
Common mistake Treating the agent as the responsible party
Why it failsThe agent performs the read, but the analyst who requested it is the responsible party.
Do this insteadMake the audit entry lead from the agent's identity to the requesting person.
Matching Identity to Access Controls
The source fix works because the agent identity is not a broader identity. It is scoped to the analyst's coverage universe, meaning the set of securities and research the analyst is responsible for, and it carries the same access controls as the analyst's own login. This restores attribution without expanding what the agent can reach.
Timing Compliance Input in Design Reviews
The source scenario also shows a process lesson. The customer's CISO rejected the shared-account architecture in a single thirty-minute conversation. The team then spent two weeks reworking identity and shipped the deployment on schedule. The schedule held because the forward deployed engineer pulled the CISO into the design review in week one, instead of waiting for the validation review in week eight.
Had the objection surfaced at week eight, the same two weeks of identity work would have landed on a nearly finished system, and the rework would have threatened the delivery date. Raising the compliance concern at the design stage turned a late, expensive change into an early, cheap one.
The source also reports that the two weeks of identity work paid for themselves later. When the compliance team had to evidence the audit trail for an SEC inquiry, the agent had been in production for ten months, and the attributable audit trail was already in place.
Checking an Audit Trail for Attribution
An agent reads an MNPI document for analyst Priya. Every audit entry for the agent names the shared account svc-research-agent, and the log is complete. Describe what the entry is missing, and explain what identity design would let an auditor connect this read to Priya.
Hints
- Ask whether an auditor could go from the audit entry to the person who requested the read.
- Think about which identity the agent should carry, and what access controls that identity should have.
Key Takeaways
- A complete audit log is not sufficient for MNPI reads when its entries cannot identify the human responsible for each read.
- The requirement is that every read event ties back to a responsible person, and a shared service account breaks that link even though it records activity.
- A per-analyst agent identity scoped to the analyst's coverage universe, with the same access controls as the analyst's login, restores attribution without expanding what the agent can reach.
- Bringing compliance stakeholders into the design review early, in week one rather than week eight, keeps identity and audit changes inexpensive.