AI Agent Allowlist
Home Page-Types Database Agent Guardrails 2026 Incidents API Docs Pricing
Resources
Use Cases (15) Industries & Buyers (12) Learn: Core Concepts (12) Implementation Guides (15) Comparisons (8) Agent Security Guides (22) Market & Frameworks (9) Schema & Data Reference (6) FAQ Glossary
Why It Matters
2026 Agent Incidents Category Targeting Database Refreshes Contact Customer Login
Download Free Sample
least privilege, for software that decides for itself

AI Agent Permissions Management

An agent's permissions decide the worst thing it can do on a bad day. Managing them well means granting little, granting late and taking back fast.

This page covers the five kinds of permission agents hold, how to scope each one, and why web page permissions from an AI agent allow list belong on the list.

5Permission types
4Lifecycle steps
6Drift signals
90 daysReview cycle
Why agents are different

Permissions for software that chooses its own steps

A classic service account does the same thing every time, so its permissions can be generous without much risk. An agent decides what to do next.

Every permission it holds is a permission it may use in a way nobody predicted. That makes least privilege far more important.

Unpredictable use

An agent may use a permission for a task it was never meant to do.

Steerable by content

Injected instructions can direct it to use what it holds.

Quick growth

New tools arrive weekly, each with new permissions.

Outside reach

Web access is a permission too, often forgotten.

The five types

Five kinds of permission every agent holds

Permission reviews often cover only the first two. The last three cause many real incidents.

List all five for every agent, even when the answer is "none".

System accessWhich internal systems its credentials reach
Data accessWhich data classes it may read or change
Tool accessWhich tools and MCP servers it may call
Web accessWhich page types it may open on the internet
Action rightsWhether it may buy, post, sign up or send
Least privilege

Scoping each type to the task

Scope by task, not by agent. The same agent needs different permissions for different jobs.

The right-sized column is usually enough for the task and far smaller than what agents are given by default.

Permission typeToo broadRight-sized
System accessAdmin role in the CRMRead contacts in one region
Data accessAll customer dataCompany names and public fields
Tool accessEvery tool on a serverSearch and read tools only
Web accessAny websitePricing, documentation and about pages
Action rightsMay sign up and buy anywhereNo actions; one checkout exception with approval

Web access and action rights are expressed as page types. An AI agent allow list classifies 28 page types on 40M+ domains, so "pricing pages only" becomes an enforceable rule.

Lifecycle

From grant to revoke in four steps

Permissions should move through a clear lifecycle, with a record at each step.

Skipping step 3 is how agents collect permissions nobody remembers giving.

1

Request

The owner asks for a permission and names the task that needs it.

2

Grant, narrowly and briefly

Grant the smallest scope, with an end date or a short lifetime.

3

Review

Every 90 days, and after any tool or model change, confirm each permission is still used and still needed.

4

Revoke

Remove unused permissions, and everything at retirement, on one date.

Just in time

Granting permissions only when needed

Standing permissions are always available, including to an agent that has gone wrong. Just-in-time permissions exist only during the task.

Most identity platforms can issue short-lived, task-scoped tokens today. The work is deciding the scopes, not building new systems.

Standing permissions

  • Always on
  • Usable by a manipulated agent at any hour
  • Hard to know if still needed

Just-in-time permissions

  • Issued for one task, expire with it
  • Nothing to misuse between tasks
  • Every grant is a record
# task-scoped grant (illustrative) agent: vendor-research task: Q4 pricing review grants: crm: read, region=EU expires: +4h web: page_types=[pricing, documentation, about] actions: none
Web permissions

The permission most reviews forget

Identity reviews check what an agent can reach inside. They rarely check what it can do outside, on other people's websites.

28Page types to grant or deny
8Action types denied by default
40M+Domains classified
~60Hosts never granted

Add a web permission field to every permission review: which read page types, and which action exceptions, if any.

Drift

Six signs of permission drift

Drift is permissions growing faster than tasks. These signals show it early.

Most of them can be found automatically from the identity platform and proxy logs.

Unused grants

Permissions not used in 30 days.

Temporary made permanent

Grants with no end date.

Tool creep

New tools added without a review.

Shared credentials

One key used by several agents.

Personal logins

An agent running under a person's account.

Wide web access

No page-type limits at all.

Roles

Who grants what

Different permission types sit in different systems. Name an approver for each.

The agent owner always requests. The owner of the system being accessed always approves.

Permission typeRequested byApproved byStored in
System accessAgent ownerSystem ownerIdentity platform
Data accessAgent ownerData ownerData access layer
Tool accessAgent ownerAI platform teamMCP gateway
Web accessAgent ownerNetwork securityAgent policy file
Action rightsAgent ownerSecurity and budget ownerPolicy exceptions
A review, worked

One agent's 90-day permission review

A composite example of what a real review finds.

Each finding took minutes to fix once it was visible.

System access

CRM write access unused for 90 days. Reduced to read-only.

Data access

Still needs company fields only. No change.

Tool access

Two tools added last month without review. One removed, one approved.

Web access

No page-type limits. Restricted to pricing, documentation and about pages.

Action rights

No exceptions needed. Signup and checkout stay denied.

Four of five permission types changed. That is normal for a first review.

Vendor agents

Permissions for agents inside products you buy

Vendor agents often inherit the permissions of the user who switched them on. That is usually far too much.

Check this before switching any vendor agent on for a whole team.

Check what it inherits

Does it act with the user's full rights, or its own?

Limit grants

Scope OAuth grants to the minimum and set expiry.

Limit web reach

Browser-based vendor agents pass your proxy's page policy.

Review with the rest

Include vendor agents in the 90-day review.

Quick wins

Five permission fixes for this week

Each one removes access agents almost never need.

None of them requires new software, only decisions and settings.

Deny action pages

Signup, checkout, upload and posting pages, for every agent.

Remove unused grants

Anything unused for 30 days.

Add end dates

To every exception and temporary grant.

Split shared keys

One identity per agent.

Drop personal logins

Move agents off people's accounts.

Measuring it

Permission metrics to report

Report these monthly for every agent and every owner.

Rising unused permissions or falling web scope coverage are early warnings of drift.

Unused permissions

Should fall after each review.

Standing vs just-in-time

Share of grants that expire automatically.

Web scope

Agents with page-type limits in place.

Reviews on time

Agents reviewed within 90 days.

Terms

Words used on this page

Short definitions for readers new to agent permissions.

Use them in requests and reviews, so approvers and owners mean the same thing.

Least privilege

Only the access a task needs, nothing more.

Just-in-time

Access that exists only while a task runs.

Standing permission

Access that is always available.

Permission drift

Permissions growing faster than tasks.

Action right

Permission to sign up, buy, post, upload or send.

Page type

What a URL is on its site, such as pricing or checkout.

Permission matrix

Starting permissions for six common agents

Use these as defaults, then narrow further for your own tasks.

Every row keeps action rights at "none" except where a named exception exists, which is the safest starting point.

AgentSystemsDataToolsWebActions
ResearchNonePublicSearch, browsePricing, docs, blog, pressNone
Support answersHelp desk readInternalHelp desk, browseHelp centre, status, docsNone
ProcurementERP readSupplier contractsERP, browsePricing, legal, securityCheckout on one supplier, with approval
CodingDev repositorySource codeRepo, tests, docs fetchDocumentationNone
Sales researchCRM readCompany fieldsCRM, browseAbout, leadership, pressNone
OperationsMonitoring readMetricsRunbooks, ticketsStatus pagesTicket creation, internal only
Objections

What builders say about tight permissions

Tight permissions can feel like friction. These answers usually help.

Share the permission sprawl example with builders. It shows why narrow grants are a favour to their own future selves.

"The agent needs flexibility"

It needs flexibility in how it reasons, not in what it can touch.

"Requesting access slows us down"

Task templates with pre-approved scopes make most requests instant.

"We cannot predict what it will need"

Start narrow, log denials, and widen where denials show a real need.

"It worked fine with admin rights"

Until the day it does something admin rights allow and nobody wanted.

Retirement

Revoking everything at once

Retired agents keep working keys more often than anyone expects. One retirement checklist prevents it.

Run it on the retirement date itself, not "soon after" or "next sprint".

1

Disable the identity

In the identity platform, so no new tokens are issued.

2

Revoke keys and grants

API keys, OAuth grants and database users.

3

Remove tool approvals

In the MCP gateway and tool allowlists.

4

Deny at egress

The proxy denies all traffic from the retired agent ID.

5

Check for traffic

A week later, confirm nothing ran under the old identity.

Audits

Evidence auditors ask for

Keep these ready for every agent, in one place.

If any item is missing, the permission cannot be shown to be under control.

Current permissions

All five types, in one view.

Grant history

Who asked, who approved, when, and why.

Review records

Dates, findings and changes.

Denial logs

Proof that denied permissions were really enforced.

Delegated agents

Agents acting on a person's behalf

Assistants that act for one person are a special case. They borrow that person's rights, which are usually far wider than any single task needs.

Treat delegation as a narrow loan, not a copy of the person's access.

Subset, not copy

Delegate only the systems and data the task touches.

Consent per scope

The person approves each kind of access, not "everything".

Web limits still apply

A delegated agent should not sign up or buy in the person's name without asking.

Short expiry

Delegations end when the task ends, or within hours.

Leadership

The permission picture in one slide

For leadership, reduce the five types to three numbers.

All three should be zero, and staying there is the goal.

Agents with broad access

Admin-level rights anywhere. Target: zero.

Agents with open web action rights

Able to sign up, buy or post anywhere. Target: zero.

Reviews overdue

Agents past their 90-day review. Target: zero.

How sprawl happens

One agent's permissions over a year

A composite example of how permissions grow when nobody reviews them.

No single change looked dangerous. Together they turned a read-only helper into an agent that could act anywhere.

Month 1: launch

Read access to one system, a search tool, pricing pages.

Month 3: a new task

Write access added "temporarily" for a data clean-up. Never removed.

Month 5: a new tool

A third-party server added for enrichment, with its own broad token.

Month 8: open web

Page limits removed to "fix" a blocked research task.

Month 12: the audit

The agent can now write data, call unreviewed tools and sign up anywhere.

With 90-day reviews

Each change would have been caught within a quarter, with an end date attached.

Tooling

Where each permission type is managed

No single tool holds all five. Link them by agent ID so a review can see everything at once.

Without that link, a review sees five partial pictures and misses the combination that makes an agent dangerous.

Identity platform

System access and credential lifetimes.

Data access layer

Data classes and masking.

MCP gateway

Tool and server approvals.

Agent policy file

Web page types and action exceptions.

Agent registry

The single place that points to all four.

Permissions in the 2026 incidents

  • Agents held, or found, web reach to upload, edit, install and log in on other sites.
  • None of those action rights was needed for their tasks.
  • In our replay, page data plus egress rules would have stopped almost all of the incidents.
The 2026 agent incidents, prevented The account takeovers

The honest fine print — the same two assumptions we publish, plus two operational ones

  1. The policy engine must see every request — an agent with raw socket access or a second network path bypasses everything; enforcement belongs at the egress proxy/network layer, not only in an SDK hook.
  2. Default-deny must be on. In flag-only mode these become alerts within minutes rather than prevention — still a large improvement on a timeline measured in weeks (the DseWiki edits ran from late May to late June 2026, per the researchers), but not a block.
  3. For full URL+method matching on HTTPS you need to be the proxy or in-process hook — SNI alone shows only the host, which still catches the entire host-list layer.
  4. Policy can’t read intent inside a legitimately allowed action: an agent whose job is publishing packages keeps registry access. In our replay of the 2026 incidents, no crossing fits any plausible allowlist for the agents’ documented tasks.
Related

Keep reading

FAQ

Agent permission questions

What permissions does an AI agent have?
Five kinds: system access, data access, tool access, web access and action rights such as buying, posting or signing up.
How do I apply least privilege to agents?
Scope each permission type to the task, prefer just-in-time grants, and express web access as allowed page types.
Why are web permissions important?
Most harmful agent actions happen on other websites: signups, purchases, uploads and posts. Page-level web permissions stop them.
How often should agent permissions be reviewed?
Every 90 days, and after any new tool, model or task.
What is permission drift?
Permissions growing faster than the agent's tasks, through unused grants, missing end dates and new tools added without review.
Should agents inherit the permissions of the user who runs them?
Rarely in full. Delegated agents should get a narrow subset of the user's rights, scoped to the task, with web access limited by page type.
What should happen to permissions when an agent is retired?
Revoke all of them on one date: identity, keys, grants, tool approvals and egress. Then check a week later that nothing ran.
How do I enforce web permissions?
Check every URL's page type before the request. An AI agent allow list covers 28 page types on 40M+ domains, from $99 a month.

Add web permissions to every review

Page types for 40M+ domains, enforced before each request.

Download the sample