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
a coding agent has a terminal, so give it a short list

Coding Agent Allowlist

AI coding agents run commands, edit files, install packages and read the web. Each of those needs an allowlist, not a blocklist.

This guide covers the four layers, with example rules, and shows where an AI agent allow list sets the web page types a coding agent may open.

4Allowlist layers
3Approval tiers
28Web page types
40M+Domains classified
Why an allowlist

Why coding agents need allowlists, not blocklists

A blocklist tries to name every dangerous command, path and site. There are always more than you can list.

An allowlist names what the task needs. Everything else is denied or sent for approval.

Working definition

A coding agent allowlist is the set of commands, file paths, network destinations and web page types an AI coding agent may use without asking.

It is enforced by the agent's settings, the operating system and the network, not by instructions in a prompt.

Blocklist thinking

  • "Block rm -rf and a few others"
  • Misses the same action written another way
  • Grows forever and still leaks
  • Fails open on anything new

Allowlist thinking

  • "Allow tests, builds and git status"
  • Anything else asks first
  • Short and easy to review
  • Fails closed on anything new
Four layers

The four layers of a coding agent allowlist

A coding agent touches four kinds of resource. Each gets its own short list.

The examples use a neutral format. Translate them into the settings your agent and proxy support.

# commands: allow, ask, deny allow: run tests, run linter, run build, git status, git diff, git log, list files ask: install a dependency, git commit, git push to a feature branch, run migrations locally deny: force push, delete branches, pipe a download into a shell, database clients against production, cloud admin commands, sudo

Match on the full command, not the first word. "git" alone would allow a force push.

# files: the workspace, and nothing outside it read_write: ./src ./tests ./docs read_only: ./package manifests ./lockfiles # changes go through "ask" deny: .env *.pem *.key ~/.ssh ~/.config cloud credential files

Secrets should not be readable at all. An agent cannot leak what it never saw.

# network: named destinations only allow: your package registry mirror, your source host, your CI host web: through the egress proxy, checked by page type deny: everything else, including direct IP addresses

A registry mirror lets you vet packages once, instead of trusting every public upload.

# web page types for a coding agent allow_page_types: ["documentation", "help_center", "blog", "community", "status", "integrations"] deny_page_types: ["signup", "password_reset", "upload", "post_create", "comment"] unclassified: "allow_reads"

Coding agents read a lot of documentation. They rarely need to sign up, upload or post anywhere.

Approval tiers

Allow, ask and deny for commands

Most coding agents support three tiers. Getting the split right matters more than the length of any list.

Review the split each month using the approval log.

If "ask" fires every minute, people start approving without reading.

TierWhat goes hereWhy
AllowRead-only and local checks: tests, lint, build, status, diffSafe to repeat, easy to undo
AskChanges that leave the machine or change dependenciesWorth one look from a person
DenyDestructive or shared: force push, production data, cloud admin, sudoNo task should need them from an agent
The web layer

Why coding agents need web page types too

Coding agents browse more than most people expect. They read docs, issues, forums and changelogs to solve problems.

Any of those pages can carry hidden instructions. The next URL the agent opens is where a check can stop the harm.

28Page types
5Denied for coding agents
40M+Domains
1Policy file per agent
agent=coding-assistant url=docs.example-lib.dev/install page_type=documentation decision=allow agent=coding-assistant url=paste.example.net/new page_type=post_create decision=deny agent=coding-assistant url=files.example.io/upload page_type=upload decision=deny
Dependencies

Allowlisting what the agent may install

Agents add packages to fix problems quickly. A misspelled or look-alike package name is an easy way in for attackers.

Dependencies also outlive the task, so a bad one stays in the code long after the agent is gone.

Four rules keep dependencies under control.

1

Install only from your mirror

The agent's network allowlist reaches the mirror, not public registries directly.

2

New dependencies need approval

Adding a package is in the "ask" tier, with the name shown clearly.

3

Lockfiles are read-only to the agent

Changes go through the normal review of a pull request.

4

Install scripts are off by default

Packages that run code at install time need an explicit yes.

Secrets

Keeping secrets away from coding agents

Coding agents work where secrets live: config files, environment variables and shell history.

Each card below removes one common path from a secret to the outside world.

The safest secret is one the agent cannot read.

Deny secret files

.env files, keys and credential folders are outside the file allowlist.

Clean the environment

Start the agent with only the variables its tools need.

Use short-lived tokens

Where the agent needs access, give it a token that expires within hours.

Block paste and upload pages

Deny post_create and upload page types, the easiest routes out.

Scan the diff

Check every change for secrets before it is committed.

Never in prompts

Secrets pasted into a prompt end up in logs.

Local vs CI

Different allowlists for laptops and pipelines

The same agent can run on a developer's laptop or inside a build pipeline. The risks differ, so the lists should too.

Keep the two lists in the same repository, so a change to one prompts a look at the other.

In pipelines nobody is watching, so "ask" usually becomes "deny".

LayerOn a laptopIn a pipeline
CommandsAllow, ask, denyAllow and deny only
FilesThe workspaceThe checked-out repository
NetworkMirror, source host, proxyMirror and source host only
Web page typesReading pages allowedDocumentation only, or none
Pushing codeFeature branches, with approvalThrough the pipeline's own identity
Production

Keeping coding agents away from production

The worst coding agent incidents involve production data. The fix is not a better prompt, it is no path at all.

Treat any path from the agent to production as a bug to fix, not a risk to accept.

Production should be unreachable from the agent's machine, not just discouraged.

Do

  • Separate credentials for production, never on the agent's machine
  • Network rules that block production hosts
  • Copies or fixtures for the agent to test against
  • Backups tested before any agent work starts

Do not

  • Rely on "never touch production" in the rules file
  • Give the agent a developer's full cloud login
  • Allow database clients in the "ask" tier for production
  • Assume a code freeze will be respected

What to learn from agents deleting production databases

Rollout

Rolling out coding agent allowlists

Developers will turn off controls that get in the way. Start generous on reading, strict on acting.

Share the week 2 findings with the team, so they see their feedback change the list.

Tighten based on what the logs show, not on guesses.

Week 1: baseline

Ship a default allowlist for all four layers, with web checks in log-only mode.

Week 2: listen

Collect which "ask" prompts fire most and which denials annoy people.

Week 3: adjust

Move safe, frequent commands to allow. Keep destructive ones on deny.

Week 4: enforce the web

Turn on page-type denials for signup, upload, posting and comments.

Mistakes

Common coding agent allowlist mistakes

These mistakes show up in most first attempts. Each one quietly reopens what the list was meant to close.

Most can be spotted by reading the allowlist aloud with one question: what else does this allow?

Allowing a whole tool

"git" allows force push. List the subcommands.

Wildcard shells

Allowing any script means allowing anything.

Secrets in the workspace

If the file is there, the agent can read it.

Open network

Any site means any upload page too.

One list for laptop and CI

Nobody answers "ask" in a pipeline.

Rules only in the prompt

Instructions are advice. Allowlists are enforced.

By project

Starting allowlists by kind of project

Different projects need different tools. Start from the closest row, then trim what your team never uses.

Record the chosen row in the agent registry, so reviewers know which defaults apply.

The web column stays almost the same everywhere, because coding work is mostly reading.

ProjectCommands to allowCommands to askWeb page types
Web front endTests, lint, local dev server, buildAdding packagesDocs, help centres, community
Back-end serviceTests, lint, local containersLocal migrations, adding packagesDocs, status, integrations
Data pipelineTests on sample dataRuns against staging copiesDocs only
Infrastructure codeFormat, validate, planNothing that applies changesDocs, status
Mobile appTests, lint, local buildAdding packages, signing stepsDocs, help centres
Quick wins

Five changes to make this week

A full allowlist programme takes a few weeks. These five changes remove the largest risks in a day or two.

Do them in this order if time is short.

None of them slows down ordinary coding work.

1

Move secrets out of the workspace

Or deny them in the agent's file settings.

2

Deny force push and branch deletion

The two git actions hardest to undo.

3

Remove production credentials from laptops

If the agent's machine cannot reach production, the agent cannot either.

4

Send web traffic through the proxy

With the agent's name in a header.

5

Deny upload and post_create page types

The quickest ways for code or secrets to leave.

Objections

What developers say, and how to answer

Developers adopt coding agents to go faster. Controls that ignore that get switched off.

These answers help keep the conversation practical.

"Approvals break my flow"

Move safe, frequent commands to allow. Approval should fire a few times a day, not every minute.

"I need the agent to search the web"

Reading stays open. Only signup, upload, posting and comment pages are denied.

"I review every diff anyway"

Diff review catches bad code. It does not catch a command the agent already ran or a page it already posted to.

"It runs in a container"

Containers limit files and processes. Network and web access still need their own lists.

Roles and metrics

Who owns the allowlist, and what to measure

Allowlists last when one team owns the defaults and each project owns its changes.

A few numbers show whether the balance is right.

Ownership

  • Platform team: default allowlist for all four layers
  • Project leads: project additions, reviewed like code
  • Network security: web page types at the proxy
  • Security: quarterly review of the defaults

Metrics

  • Approval prompts per developer per day
  • Denied commands, by rule
  • Denied web page types, by agent
  • Projects still using the old wide settings

Coding agents in the 2026 incidents

  • Agents in the 2026 incidents made writes nobody intended: plugin installs, WebDAV writes and dataset uploads.
  • Upload and post page types cover the web side. Command and network allowlists cover the terminal side.
  • In our replay, page data plus egress rules would have stopped almost all of the incidents.
Read the full 2026 agent incident review

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

Coding agent allowlist questions

What is a coding agent allowlist?
A short list of the commands, files, network destinations and web page types an AI coding agent may use. Everything else is denied or needs approval.
Which commands should a coding agent be allowed to run?
Read-only and local checks such as tests, lint, build, status and diff. Changes that leave the machine should ask first, and destructive commands should be denied.
Should coding agents read .env files?
No. Keep secret files outside the file allowlist and start the agent with a clean environment.
Which web page types should a coding agent reach?
Documentation, help centres, blogs, community pages, status and integrations pages. Deny signup, password reset, upload, post creation and comments.
How do I stop a coding agent installing bad packages?
Install only from a vetted registry mirror, require approval for new dependencies, keep lockfiles read-only and turn off install scripts by default.
Should allowlists differ between laptops and CI?
Yes. In pipelines nobody answers approval prompts, so "ask" becomes "deny" and web access is narrower.
Is a rules file in the repository enough?
No. Instructions in a rules file guide the agent, but they are not enforced. Allowlists in the agent settings, the network and the proxy are.
Where does an AI agent allow list fit for coding agents?
In the web layer. It supplies page types for 40M+ domains, so the proxy can let the agent read documentation while denying uploads, posts and signups.
Does running a coding agent in a container make it safe?
A container limits files and processes. The agent can still reach the network and the web, so those layers need their own allowlists.
How many approval prompts are too many?
If developers see prompts every few minutes, they start approving without reading. Aim for a few per day by moving safe, frequent commands to allow.
Who should own coding agent allowlists?
A platform team owns the defaults, project leads own additions reviewed like code, and network security owns web page types at the proxy.
What are the fastest coding agent risks to fix?
Move secrets out of the workspace, deny force push and branch deletion, remove production credentials from laptops and deny upload and post pages.

Let coding agents read docs, not post secrets

28 page types, including 8 action types, on 40M+ domains.

Download the sample