Skip to content

Permissions, Approvals, and Auditing: The Rules of a Trustworthy AI Agent

26.09.2026
Last updated: September 26, 2026. This article describes the practices and sources available as of this date. The section about 2027 contains planning scenarios, not guaranteed predictions. The legal information is general and does not replace an assessment of your specific circumstances.

An AI agent becomes genuinely useful when it does more than draft a response and can consult applications, modify records, send messages, or start processes. At that point, however, a question arises that many pilot projects postpone: on whose behalf does the agent act, what is it allowed to do, and how can we later demonstrate what happened?

For an SME, the answer does not need to be cumbersome enterprise infrastructure. It requires a proportionate set of controls, applied in the right places. The language model can interpret a request and propose the next step, but it should not be the only component deciding whether that step is authorized. Permissions, approvals, and logging must be enforced through code, identities, and policies outside the model.

This guide explains a practical architecture for AI agents that work with email, CRM systems, documents, invoices, websites, or infrastructure. It does not promise zero risk or treat human approval as a universal solution. The objective is more realistic: limit the impact of an error, stop unauthorized actions before execution, and reconstruct events without turning the audit log into another sensitive database.

Executive summary

A trustworthy agent needs six properties:

  1. Its own identity and user attribution: the system must distinguish the agent, the person who initiated the task, and the service that executes the action.
  2. Least privilege: the agent receives only the tools, operations, data, and environments required for the current task.
  3. Authorization for every material effect: the check occurs when the agent attempts to use a tool, not only at authentication or the start of the conversation.
  4. Risk-proportionate approvals: routine reads may be automated, while publishing, payment, deletion, or data transmission requires explicit confirmation or dual control.
  5. End-to-end auditability: every action must be linked to the initial request, identities, the applied policy, approvals, and the actual result.
  6. Revocation and shutdown: access must expire, be quickly revocable, and include a way to stop executions already in progress.

These principles are not specific to a particular model or provider. They adapt established access-control and zero-trust architecture practices to the characteristics of AI agents: dynamic plans, tool calls, untrusted external content, delegation, and the ability to produce effects across multiple systems.

Why an agent should not be treated as a simple chatbot

A chatbot generally produces text that a person reads before using it. An agent may go through a longer loop:

  1. receive an objective;
  2. consult data or documents;
  3. decide which tool to use;
  4. execute an action;
  5. observe the result;
  6. continue until it considers the objective complete.

The risk does not come only from an incorrect response. It can also come from a call that is executed correctly but is inappropriate: an email sent to the wrong recipient, a discount applied to an ineligible customer, a deleted record, a confidential file uploaded to an external service, or a command run in production.

Research confirms that this is not merely a theoretical problem. ToolEmu constructed scenarios involving high-stakes tools and identified failures with potential financial or confidentiality consequences. AgentDojo evaluates agents that use tools over untrusted external data and shows that prompt injection attacks can divert agent actions. These findings do not provide a universal risk rate for every implementation, but they demonstrate why a carefully written prompt cannot replace technical controls.

The design rule is simple:

The model proposes. The policy authorizes. The tool executes. The log provides evidence.

Five concepts that are often confused

Authentication

Authentication answers the question, "Who is this?" An agentic workflow may involve several identities at the same time:

  • the user who made the request;
  • the agent or its execution instance;
  • the application orchestrating the process;
  • the technical account used to access an API;
  • the person approving a sensitive action.

If all of them appear in the log under the same generic account, accountability becomes impossible to establish.

Authorization

Authorization answers the question, "What may this identity do to this resource, in this context?" It is not enough for the agent to have access to the CRM. The policy must be able to distinguish between reading a contact, changing it, exporting a list, and deleting the record.

Delegation

Delegation means that a person or service grants the agent limited authority for a task. Delegated authority should not exceed the person's authority, nor should it be passed automatically to a subagent without explicit limits.

Approval

Approval is a one-time decision about a specific action. It does not replace authorization. An interface that asks a user to approve a payment must not allow the payment if that user did not have the right to make it in the first place.

Audit

Auditability is the ability to reconstruct who made the request, what the system decided, which policy was applied, what was executed, and the result. Audit is not the same as real-time monitoring, nor does it mean storing every conversation in full.

Technology snapshot as of September 26, 2026

The core principles are mature, but identity and delegation for agents remain an evolving area. In February 2026, NIST published a concept paper on software and AI agent identity and authorization. Its status is that of a concept paper, not a final standard. It nevertheless shows that the industry is seeking to apply established identity and access management practices to agents instead of inventing a separate security model for every platform.

NIST Zero Trust Architecture states a relevant principle: access is decided for each request, with least privilege and no implicit trust based solely on network location. NIST SP 800-53 Rev. 5 provides established control families for access, least privilege, identification, audit, and log protection. These publications are not recipes written exclusively for agents, but they provide a solid foundation.

For agents, the OWASP Top 10 for Agentic Applications 2026 and the Agentic AI Threats and Mitigations guide address risks including goal hijacking, tool misuse, identity and privileges, poisoned memory, and cascading failures. Published on September 1, 2026, the OWASP Agent Control Standard proposes control points and declarative policies applied during execution, but it is a new open standard, not automatic proof that an implementation is secure. The current OpenAI documentation on guardrails and approvals recommends placing checks at the boundary of the tool that produces the effect. Google Cloud describes dedicated identities, least privilege, deny policies, and human-approval modes for MCP tools.

The practical conclusion in 2026 is that no single product automatically turns an agent into a trustworthy system. Control comes from combining identity, policy, isolation, approvals, logging, and testing.

The permission model: more precise than "read" and "write"

A useful permission for agents must be described across several dimensions:

| Dimension | Control question | Example |
|---|---|---|
| Tool | Which integration may it use? | CRM, email, invoicing |
| Operation | Which function may it call? | read, create, modify, delete |
| Resource | Which objects may it act on? | only leads belonging to the Bucharest team |
| Fields | Which data may it see or change? | no national ID numbers or banking data |
| Environment | Where may it act? | test, not production |
| Time | How long is access valid? | 20 minutes for the current execution |
| Volume | How many operations may it perform? | no more than 25 messages per run |
| Value | Up to what threshold? | quote below RON 5,000, no payment |
| Destination | To whom may it transmit data? | approved domains only |
| Context | On whose behalf and for what purpose? | for user X, ticket Y |

A generic role such as admin does not express these limits. Nor is a broad scope such as crm.write sufficient for an agent that only needs to update the status of a lead.

A separate identity for every relevant agent

Avoid technical accounts shared by multiple agents. A distinct identity allows:

  • revocation of one agent without interrupting every automation;
  • different policies for sales, support, and finance;
  • exact attribution of actions;
  • detection of an agent behaving unusually;
  • independent credential rotation and expiration.

The agent's identity must not obscure the user. In a delegated workflow, the log should preserve both the agent identity and the user or process on whose behalf it acts.

Short-lived credentials kept outside the prompt

API keys, access tokens, and passwords must not be placed in the prompt, memory, or documents consulted by the model. A gateway, vault, or even a simple internal service can attach the credential only after the policy has accepted the call.

Technical preferences include:

  • short-lived tokens;
  • a validated audience for the destination service;
  • the narrowest practical scopes;
  • automatic rotation;
  • central revocation;
  • no forwarding of a received token to another service.

RFC 9700 brings together current OAuth 2.0 security best practices, while RFC 9396 allows authorization details to be described more precisely than with a simple list of scopes. Not every SME needs to implement these protocols itself, but the selected provider should be able to explain token audience, expiration, revocation, and privilege restrictions.

Authorization at the tool, not in the model instruction

The phrase "do not delete anything without approval" in a prompt is useful guidance, but it is not a security barrier. A prompt injection attack, a planning error, or an ambiguous context can cause the model to ignore it or interpret it incorrectly.

The control must be repeated immediately before the operation:

  1. the agent proposes the tool call and its arguments;
  2. a policy enforcement point checks the identity, resource, operation, and context;
  3. the policy permits, denies, or requests approval;
  4. the required credential is attached only after the decision;
  5. the tool validates the right to the resource again;
  6. the result is logged.

This double check prevents a situation in which the orchestrator accepts an action but the API executes it through an unrestricted technical account.

Separating reading from writing and planning from execution

An agent that analyzes invoices does not automatically need the right to pay them. An agent that drafts an article should not be able to publish it automatically. The separation can be implemented through different tools, different identities, or different workflow stages.

For sensitive tasks, a two-stage model is useful:

  • planning: the agent reads, analyzes, and produces a structured proposal;
  • execution: a deterministic service validates the proposal and applies only approved operations.

The model does not receive direct database access when a narrow function such as update_order_status(id, permitted_status) is sufficient.

Approvals: where they help and where they become security theater

Not every call requires human intervention. If a person has to confirm every read, the system becomes slow and people learn to click "Approve" without checking. This is approval fatigue.

A practical classification can begin with five questions:

  1. Is the action reversible?
  2. Does it affect money, production, reputation, or a person's rights?
  3. Does it send data outside the organization?
  4. Is the volume or value unusual?
  5. Has the agent successfully executed this combination of operation and context before?

Indicative control matrix

| Level | Examples | Recommended control |
|---|---|---|
| Low | search nonsensitive internal documents, read a product catalog | automatic execution, volume limits, logging |
| Moderate | create a draft, update a reversible field, send an internal response | automatic policy, schema validation, human sampling |
| High | external transmission, publishing, price change, access to personal data | explicit approval before the effect, current authentication |
| Critical | payment, bulk deletion, privileged production access, bank-account change | dual control, additional authentication, strict limits, or prohibition |

This is a starting matrix, not a legal classification. Thresholds must be adapted to the company, the process, and the actual consequences.

What the approver must see

A good approval does not ask someone to confirm a vague intention such as "the agent wants to continue." The interface must show:

  • the exact action;
  • the target system and resource;
  • the fields that will change, before and after;
  • the recipient and the data leaving the organization;
  • the amount, currency, and beneficiary when money is involved;
  • the operational reason and initial request;
  • the risks or rules that triggered the approval;
  • the period for which the approval is valid.

The approval must be bound cryptographically, or through a unique identifier, to the specific action. If the agent changes the recipient, amount, or attachment after approval, the old approval is no longer valid.

When dual control is necessary

The four-eyes principle is appropriate for high-impact actions: payments above a threshold, changes to a supplier's account, bulk data exports, privileged production changes, or irreversible deletions. The second person must hold the appropriate role and must not be the same identity that initiated the request.

Expiration, denial, and unavailability

An approval request must expire. If the policy or approval service is unavailable, sensitive actions should fail safely rather than execute by default. A denial must be returned to the agent as a clear final state, preventing it from repeatedly rephrasing the same action until it passes the control.

What the audit log must contain

A useful log answers questions rather than merely accumulating text. For every run and material call, it is advisable to record:

  • a unique run identifier and a correlation ID across systems;
  • the initiating user, agent, orchestrator, and executing service;
  • the stated purpose and a reference to the ticket, order, or process;
  • the model and the version of the agent configuration;
  • the tool, operation, and target resource;
  • relevant arguments, redacted or pseudonymized where necessary;
  • the source of external data used in the decision, through an identifier, version, or hash;
  • the policy version and the rule that permitted, denied, or escalated the call;
  • the approver, time, decision, and exact object approved;
  • the tool result, status code, and effect produced;
  • retries, cancellations, and compensating operations;
  • duration, consumption, and cost when relevant to abuse detection.

For distributed workflows, OpenTelemetry provides tracing conventions that can connect agent invocation, model calls, and tool executions. These technical traces must be supplemented with policy decisions and business approvals. A performance trace alone is not automatically an audit log.

We do not need to store the model's "thoughts"

Auditability does not require retaining a complete internal chain of reasoning. It may be unavailable, unstable, or contain data that should not be retained. It is more useful to store:

  • the strictly necessary operational inputs;
  • the structured plan or proposal presented to the policy system;
  • the decision reason codes;
  • tool calls and their results;
  • evidence and versions of relevant sources.

This allows the observable process to be explained without treating model-generated text as legal justification or absolute truth.

The log must not become a data leak

A log that stores tokens, passwords, full prompts, attachments, or personal data indefinitely can create a greater risk than the one it is intended to reduce. EDPB materials on the privacy risks of LLMs recommend access controls and logging, but also data minimization in logs.

Minimum practices include:

  • do not log secrets or tokens;
  • mask sensitive fields;
  • restrict access to logs;
  • define retention periods by category;
  • protect log integrity and separate system administrators from audit administrators;
  • document who can export or delete records;
  • test whether an incident can be reconstructed before relying on these logs.

A reference architecture suitable for an SME

Not every element needs to be a separate product. What matters is the separation of responsibilities:

  1. The user interface authenticates the person and captures the purpose of the request.
  2. The agent orchestrator plans the steps and proposes tool calls.
  3. The policy gateway checks the identity, action, arguments, environment, volume, and context.
  4. The approval service pauses execution and collects a human decision when required by policy.
  5. The credential broker supplies a limited token only after authorization.
  6. The tool adapter validates the schema and calls the destination API.
  7. The audit and monitoring system correlates the proposal, decision, and result.

The policy must be enforced in a component that the model cannot modify. If the agent can edit the file that defines its limits, the control is merely apparent.

Example of a clearly expressed policy

The following rule is conceptual, not syntax for a particular product:

  • Agent: customer support.
  • Action: update a contact in the CRM.
  • Permit if: the user has a support role, only the phone number or contact preference is changed, and the customer belongs to the user's portfolio.
  • Limits: one record per call, in the production environment.
  • Require approval if: a field classified as sensitive is changed.
  • Deny if: the action requests deletion or external export.

The advantage of explicit policies is that they can be reviewed, tested, and versioned. The natural-language instruction in the prompt remains useful for behavior, but the deterministic policy decides authority.

Three practical examples

1. Email and quoting agent

The agent reads a customer's request, consults the catalog, and prepares a quote. A balanced configuration might automatically allow:

  • reading the current conversation;
  • consulting products and inventory;
  • creating a draft quote;
  • saving the draft in the CRM.

It would request approval for:

  • sending the external email;
  • applying a discount above the threshold;
  • attaching a document containing personal data;
  • adding a new recipient.

It would completely deny export of the customer database and changes to banking details. The log would connect the sent quote to the prices and discount policy in effect at that time.

2. Invoice and payment agent

The agent can extract invoice details, verify the supplier, and prepare the payment. However, the right to read invoices does not imply the right to pay them.

A secure workflow separates:

  • the analysis agent, with read access;
  • the deterministic validator for the IBAN, duplicates, due date, and threshold;
  • the approving person;
  • the payment service, with a short-lived token and amount limit;
  • subsequent reconciliation.

Changing an IBAN and making the first payment to a beneficiary should trigger an additional check rather than be learned automatically from a received email.

3. Website administration agent

The agent researches and drafts an article in the CMS. Reading existing articles and saving a draft are reversible operations. Publishing, modifying an already published article, and deleting an image have external impact.

Permissions can be separated as follows:

  • read published content;
  • create and update only its own draft;
  • do not overwrite if the version has changed between reading and saving;
  • publish only after editorial approval;
  • prohibit the agent from deleting;
  • log the sources, version, approver, and resulting URL.

This model prevents both accidental publishing and the loss of changes made in the meantime by a person.

MCP and tool authorization

The Model Context Protocol standardizes how applications expose tools and resources to agents. The protocol does not remove the obligation to design permissions. An MCP server that exposes a dangerous function with an overly broad token remains dangerous.

Current MCP documentation and SDKs use OAuth and protected-resource metadata. Relevant practices include:

  • validating that the token was issued for that specific server;
  • rejecting token passthrough to downstream services;
  • using limited scopes and increasing them only when the operation requires it;
  • clear consent for clients and servers;
  • HTTPS and strict redirect validation;
  • separate credentials for external services;
  • protection against the "confused deputy" attack, in which a service is induced to use its authority on someone else's behalf.

The MCP specification and guidance should be checked at implementation time because the protocol continues to evolve. For an SME, the essential criterion is not merely MCP compatibility, but the provider's ability to restrict each tool and produce useful audit trails.

Testing before autonomy

An agent should not be promoted to production merely because it completes a few demonstrations correctly. Testing must cover both success and denial.

Functional and policy tests

Explicitly verify:

  • permitted operations under normal conditions;
  • operations denied for the wrong role;
  • resources belonging to another department or customer;
  • exceeding a volume or value threshold;
  • token expiration and access revocation;
  • modification of the action after approval;
  • unavailability of the approval service;
  • resuming a run after interruption;
  • accidental duplication of the same operation.

Adversarial tests

Insert instructions into test documents, emails, and pages that try to persuade the agent to ignore its objective, disclose data, or use another tool. The goal is not only to see whether the model refuses. The essential check is whether the authorization system blocks the effect even when the model proposes an incorrect call.

Run these tests after changing the model, prompt, tools, policies, or connectors. An old evaluation does not guarantee the behavior of a new configuration.

Shadow mode and gradual autonomy

Before real execution, the agent can work in shadow mode: it proposes actions, and the system compares them with human decisions without producing effects. The next stage automatically allows low-risk operations while retaining approval for the others. Autonomy increases only on the basis of observed data, not an impression that the demonstration "looks intelligent."

Metrics that measure control, not only productivity

In addition to time saved and completion rate, track:

  • the percentage of calls denied by policy;
  • the percentage of actions requiring approval;
  • approval and rejection rates by category;
  • approval waiting time;
  • the number of actions changed after presentation to the approver;
  • attempts to access resources outside the permitted scope;
  • log coverage for actions that produce effects;
  • the number of overly broad or unused credentials;
  • the time required to revoke access and stop the agent;
  • incidents, near misses, and compensated operations;
  • the difference between shadow-mode proposals and human decisions.

A very high approval rate does not necessarily prove safety. It may indicate unnecessary approvals or fatigue. A very high rejection rate may indicate a poorly configured agent or a policy incompatible with the process.

Legal and compliance considerations

Permissions and audit are technical controls. On their own, they do not establish the lawfulness of processing or the classification of an AI system.

If the agent processes personal data, GDPR principles continue to apply: purpose limitation, data minimization, security, retention periods, and the controller's ability to demonstrate compliance. The log must be designed in accordance with these principles. Retaining everything "for audit" without a defined purpose or time limit is not a prudent solution.

The European Artificial Intelligence Act includes requirements for automatic logging and human oversight for certain high-risk systems. These obligations do not turn every internal agent into a high-risk system. Classification depends on the use, the organization's role, and the context. In addition, the application timeline for some high-risk-system rules was amended and clarified in 2026. The European Commission maintains an updated page on enforcement of the AI Act.

Decisions that affect employees, credit, access to essential services, or other rights require a specific legal assessment. This article provides a technical framework, not legal advice.

Common mistakes

"The agent uses the administrator account, but the prompt tells it to be careful"

The prompt does not reduce the account's privileges. If the agent is compromised or makes a mistake, the maximum impact remains that of the administrator.

"The user accepted access during installation"

Initial consent to an integration is not approval for every future action. Sensitive operations must be evaluated in their specific context.

"Every action requires approval, so we are safe"

Too many approvals create routine behavior. Moreover, a person can be misled by an incomplete description. The interface must show the exact effect, and the policy must block unauthorized operations regardless of superficial approval.

"We have the provider's logs"

One provider's logs may show the model call, but not the full sequence among the user, orchestrator, policy, approval, and final API. Check whether correlation identifiers and export capabilities are available.

"We retain every prompt for investigations"

This can copy personal information, secrets, and entire documents into the log. Define the necessary fields, mask content, and retain references or hashes where full text is not justified.

"The subagent automatically inherits all rights"

Delegation chains can amplify privileges and lose the connection to the original user. Each subagent must receive a permission set that is no broader, and generally more restrictive, tailored to its subtask.

"If the operation fails, the agent can try again"

A retry without an idempotency key and a state check can duplicate payments, orders, or messages. Tools that produce effects must distinguish a safe retry from a new operation.

A practical 30-day implementation plan

Week 1: inventory and classification

  • list the agents, tools, technical accounts, and owners;
  • document the accessible data and environments;
  • classify operations by impact and reversibility;
  • identify shared accounts and administrator privileges;
  • define who can stop each agent.

Week 2: permissions and identity

  • create separate identities for important agents;
  • separate reading, writing, publishing, and deletion;
  • move secrets outside the prompt and memory;
  • introduce short-lived tokens or rotation;
  • restrict resources, environments, volumes, and destinations.

Week 3: approvals and audit

  • define the risk matrix and thresholds;
  • implement the interruption before the effect, not after it;
  • show the approver the specific difference and recipient;
  • add correlation IDs and the policy version;
  • redact sensitive data from logs;
  • test the export and reconstruction of a run.

Week 4: testing and gradual rollout

  • run permitted, denied, and adversarial cases;
  • test revocation, expiration, and unavailability;
  • start in shadow mode or with reversible operations only;
  • analyze approvals for signs of fatigue;
  • establish a monthly review of privileges and incidents;
  • document the criteria for increasing autonomy.

What could change in 2027

The following are plausible scenarios, not certainties.

Better-standardized agent identities

NIST initiatives and the evolution of cloud platforms indicate the possibility of workload identities designed for agents, with better delegation and traceability. We are likely to see tighter integration among agent registries, IAM, gateways, and policy systems.

More granular and temporary authorization

Instead of broad, static scopes, platforms may increasingly use on-demand authorization limited by action, resource, amount, and time window. This would reduce standing credentials, but could increase complexity and dependence on central services.

Approvals assisted by policies and separate models

Moderate-risk operations could be evaluated automatically by a policy engine together with a separate control model. Research from 2026 shows, however, that model-based monitors can themselves be bypassed. Such an evaluator should therefore not replace deterministic barriers for critical operations.

Interoperable audit across multiple agents

As tasks move among agents and organizations, portable evidence of delegation, policies, and results will be needed. Observability conventions help, but there is not yet a universal solution for non-repudiation and complete provenance in agentic workflows.

For an SME, a sound strategy is to use existing standards now, avoid lock-in to a proprietary format, and retain control over essential identities, policies, and logs.

Checklist before granting real access

  • Does the agent have a distinct identity?
  • Can we identify the person or process on whose behalf it works?
  • Are permissions limited by operation, resource, environment, time, and volume?
  • Do secrets remain outside the prompt, memory, and log?
  • Is the policy enforced outside the model, immediately before the tool?
  • Do publishing, payment, deletion, and external transmission have clear thresholds?
  • Does the approver see the exact effect rather than a generic description?
  • Does the approval expire, and is it invalidated if the action changes?
  • Can we revoke access and stop active runs?
  • Are repeated operations idempotent?
  • Does the log connect the request, policy, approval, and result?
  • Are logs minimized, protected, and subject to a retention period?
  • Have we tested attacks through external data and the behavior when an action is denied?
  • Is there an owner, an incident procedure, and a periodic review?

Conclusion

Trust in an AI agent should not be measured by how convincingly it explains what it intends to do. It must be built through verifiable limits.

A trustworthy agent is not one that receives unrestricted access because the model appears capable. It is an agent that can work effectively within a clear perimeter, uses temporary authority, requests the appropriate approval before producing an effect, and leaves enough evidence for verification. If an error or attack occurs, the architecture limits the damage and enables intervention.

For most SMEs, the first step is not buying a complex platform. It is inventorying actions, separating reading from writing, removing administrator accounts from automated workflows, and defining three categories: what the agent may do on its own, what requires approval, and what it is not allowed to do at all.

If you would like us to assess a specific process, the permissions it requires, and the control architecture appropriate for your company, talk to the Imagine Infinity team. We can turn a promising pilot into a measurable, auditable, production-ready system.

Sources and recommended reading

Recommended for you

De unde începem: șapte procese potrivite pentru agenți AI într-un IMM

Prompt Injection and Personal Data: How to Use AI Agents Safely

RAG in 2027: Connecting AI Agents to Company Knowledge