AI Agent Allowlist
Home Page-Types Database Agent Guardrails 2026 Incidents API Docs Pricing
Resources
Use Cases Industries & Buyers Learn: Core Concepts Implementation Guides Comparisons Schema & Data Reference FAQ Glossary
Why It Matters
2026 Agent Incidents Category Targeting Database Refreshes Contact Customer Login
Download Free Sample
build vs. buy, worked in numbers

Your hand-maintained allowlist is already going stale. Here is the math.

Most teams start agent access control with a spreadsheet: fifty domains, a few dozen approved paths, updated when someone remembers. That approach has a decay rate. This page works through it against a continuously re-verified 40-million-domain page-type database.

~50Domains in a typical hand-list
40M+Domains in the licensed database
28Verified page types per domain
10B+Links analyzed to build it

A hand-list only covers what someone remembered to add. Several 2026 agent incidents, including the Hugging Face breach, the DseWiki hijack and the JFrog Artifactory covert channel, ran through domains no manually curated list would have flagged in time. See how the database and egress rules would have prevented almost all of them: the 2026 agent incidents, prevented.

The starting point

What a hand-maintained allowlist actually looks like

Almost every team that deploys its first agent starts here, and there is nothing wrong with starting here. The failure mode shows up later, at scale, when nobody notices the list stopped being true.

The pattern is consistent across procurement-research agents, sales-intelligence agents, and internal automation tools alike: someone with security responsibility sits down, thinks through the agent's intended job, and writes down every domain they can think of that the agent legitimately needs. This is a reasonable first pass and it is usually correct on day one. The problem is not the initial list; it is the absence of any mechanism that keeps the list matching reality as the agent's actual behavior, and the internet underneath it, keep changing.

The spreadsheet approach

  • A security engineer lists 30-80 vendor and partner domains the agent is expected to touch.
  • For each domain, someone manually notes a pricing URL, a docs URL, maybe a login URL to explicitly deny.
  • The list lives in a config file, a wiki page, or a spreadsheet tab nobody else opens.
  • New domains get added only when an agent hits a wall and a person files a ticket.
  • Nobody re-checks an existing entry once it is in, because nothing prompts them to.

The licensed database approach

  • 40 million+ domains arrive pre-classified across 28 page types, no manual entry per domain.
  • Coverage extends automatically to every domain an agent might reasonably visit, not just the ones a person anticipated.
  • Refresh cycles re-verify URLs against current link structure, so a redesigned pricing page updates without a ticket.
  • The egress rules library adds roughly 40 pattern-based rules that catch new domains the moment they match a risky shape.
  • Default-deny covers whatever neither the database nor the rules have seen yet.
The drift math

Three ways a fifty-domain list goes stale

None of these require an attacker. They are what normal internet churn does to a static list, on a normal week, without anyone doing anything wrong.

It helps to be precise about what "stale" means here. A hand-list is not a snapshot that ages uniformly, the way a photograph fades. It decays unevenly: a handful of entries stay accurate indefinitely because the vendor's site structure never changes, while others go wrong within days of a redesign. The unevenness is what makes staleness hard to catch by spot-checking — the entries you happen to glance at are disproportionately likely to be the stable ones, because unstable entries are the ones tied to actively changing products.

01

New vendors enter scope faster than tickets get filed

An agent doing vendor research, price monitoring, or lead enrichment encounters domains the list's author never anticipated. Each one is either silently allowed by a permissive fallback, or the agent stalls waiting on a human to add it. Neither is a policy; both are gaps that widen every week the agent runs.

02

Existing entries rot without anyone noticing

A vendor migrates their pricing page behind a new subdomain, adds a login gate to what was a public docs page, or merges their checkout flow into their account area. The hand-list still points at the old URL. Nobody re-verifies it, because re-verifying fifty domains by hand does not scale as a recurring task.

03

Coverage never grows past the original use case

The list was built for one agent doing one job against a known set of partners. The next agent, doing a different job against a different long tail of domains, either inherits an irrelevant list or starts its own from scratch. Coverage never compounds; each new agent restarts the curation debt at zero.

A worked scenario

Twelve weeks in the life of a hand-curated list

A composite, realistic timeline built from the failure patterns above, not a specific customer account.

Side by side

Manual curation vs. the licensed database

The comparison practitioners actually need, not a marketing checklist.

DimensionHand-maintained listAI Agent Allowlist database
Initial coverage30-80 domains, whatever a person could enumerate40 million+ domains, 99.99% of active internet traffic
Page-type granularityUsually just "allowed domain" or a hand-noted URL or two28 verified page types per domain, not guessed paths
New-domain coverageZero until someone files a ticket and adds itAlready covered if the domain is in the 40M repository
Stale-URL detectionNone; entries rot silentlyRefresh cycles re-verify against live link structure
Cross-domain risk patternsNot covered; each domain is a one-off entry~40 egress rules catch risky URL shapes on any domain, listed and named
Ongoing laborRecurring manual review, scales linearly with domain countOptional monthly refresh at 30% of license price per year
Cost structureHidden in engineer time, rarely trackedFixed one-time license: 10M domains $14,999, 15M $24,999, 30M $49,999
Fallback for unknownsAmbiguous; usually defaults to allow by accidentExplicit default-deny for unclassified destinations
When manual curation is still fine

This is not a universal argument against hand-lists

A small, genuinely fixed set of partner domains does not need a 40-million-domain database behind it. The honest test is whether the domain set is closed and stable, or open and growing.

A back-of-envelope model

Estimating your own drift exposure

You do not need precise figures to see whether your deployment is on the wrong side of this trade. A simple model, using your own rough numbers, usually settles the question in a few minutes.

Start with three inputs you can estimate for any agent deployment: the number of distinct domains the agent visits in a typical week that were not on the original hand-list (call this the discovery rate), the number of entries on the current list that reference a URL last verified more than a quarter ago (the staleness count), and the number of person-hours it actually takes someone to research, verify and add one new domain entry correctly, including the follow-up when the first attempt gets a page type wrong (the unit cost). Multiply the discovery rate by the unit cost and you have a running weekly labor bill that never shows up on an invoice, because it is absorbed as "someone's Tuesday afternoon." Add the staleness count, because every stale entry is either silently wrong or requires the same unit cost to re-verify.

Illustrative example, using round assumptions rather than a claimed measurement: a team estimates 6 new out-of-scope domains a week, 15 minutes of verification-and-entry time per domain once someone actually gets to it, and roughly 10 stale entries accumulating per quarter that eventually need the same treatment. That is 90 minutes a week of pure list-maintenance labor before anyone accounts for the entries that get missed entirely because nobody had 90 minutes that week. Multiply by the number of agents in the fleet, each with its own list or its own carve-outs from a shared one, and the labor line item compounds faster than most teams expect when they first sketch the model.

Compare that running cost against a fixed one-time license. At the 10M-domain tier ($14,999 one-time), a team spending even a modest number of hours a month on manual list maintenance crosses the license price within a year or two purely in labor terms, before counting the incidents a coverage gap could cause. The database does not eliminate maintenance entirely — the optional refresh at 30% of license price per year exists precisely because domains change — but it converts an open-ended, linearly scaling labor cost into a fixed, budgeted one that does not grow every time an agent visits a domain nobody anticipated.

Where this fits

The database is one of four enforcement layers

Replacing a hand-list with the database does not remove the need for the other three layers; it is what makes the other three effective at scale.

Layer 1

A curated list of roughly 60 high-value hosts — cloud consoles, registries, tunnel sinks — denied on any domain regardless of page-type classification. See the high-value host list.

Layer 2

The 40M-domain page-type database itself, replacing the hand-list with continuously verified coverage. See the full page-types database.

Layer 3

Roughly 40 egress rules matching risky URL patterns on any domain, including ones the database has not classified yet. See the egress rules library.

Layer 4

Default-deny for anything the first three layers did not resolve. No hand-list, however careful, offers a real fallback for the unknown.

A forward proxy sitting in front of your agent traffic can enforce these layers, but it needs page-type data to check against; see how the two pieces divide the work on proxy filtering vs. the agent allowlist. For a general framing of default-deny design, see agent guardrails. If the domains your agents need to reach are humans' AI-tool destinations rather than agent-navigation targets, the sibling product AI Tools Blocklist covers that separate use case with its own 20,000+ AI-tool domain dataset.

Why teams delay the switch anyway

The organizational reasons a stale list survives longer than it should

None of this is about competence. Teams that build careful hand-lists are usually the same teams that eventually replace them; the delay is structural, not a failure of judgment.

The first reason is that a hand-list's failures are invisible by default. A domain that should have been denied and was not does not announce itself; it just works, quietly, until an incident review or an audit asks why an agent was ever able to reach it. Compare that to a broken build or a failed deploy, which announces itself immediately and gets fixed the same day. Security debt of this shape survives precisely because nothing forces attention to it.

The second reason is sunk cost dressed up as familiarity. A team that has spent months tuning a 60-domain list knows its quirks, knows which entries are aliases for the same vendor, knows which ones were added defensively after a near-miss. Replacing it feels like discarding institutional knowledge, even when that knowledge is exactly the kind that does not scale past the person who holds it. The database does not discard that knowledge so much as make it unnecessary to hold in one person's head.

The third reason is that the switch is usually proposed at the wrong time: after an incident, when the team is in triage mode and adding a new dependency feels risky, rather than during a quiet period when evaluating a sample dataset and a pricing tier is a calm, low-stakes decision. Evaluating the free 100-domain sample CSV against your own agent's actual traffic log, before anything goes wrong, is the version of this decision that takes an afternoon instead of a postmortem.

FAQ

Manual curation vs. a licensed database

Can I start with a hand-list and migrate to the database later?

Yes, and many teams do exactly this. The migration point to watch for is when the domain set your agents touch stops being predictable in advance. A free 100-domain sample CSV is available to test schema fit before licensing.

Does the database replace the need for egress rules entirely?

No. The database resolves page types on domains it has classified; the egress rules library catches risky URL shapes, like wiki-edit endpoints or deploy hooks, on domains the database has not seen yet. They are complementary layers, not substitutes.

How often does a hand-maintained list actually need review?

There is no fixed answer, which is itself the problem: review cadence for a hand-list is usually reactive, triggered by an incident or a broken agent run, rather than scheduled. The database's refresh cycle is scheduled and does not depend on someone remembering.

What does "drift" mean precisely in this context?

Drift is the growing gap between what a list says about a domain and what is actually true on that domain today, caused by site redesigns, new subdomains, and domains entering scope that were never in the original list.

Is a 40-million-domain database overkill for a small agent deployment?

Licensing is one-time and tiered starting at 10M domains for $14,999, so a smaller deployment is not forced into the largest tier. See coverage tiers for how to size the tier to actual workload diversity, not domain count alone.

Where do I see the exact fields the database provides per domain?

The full field-by-field reference, including page types, IAB categories, filtering category, and popularity ranks, is on the page-type schema reference.

Stop maintaining the spreadsheet.

Download the free 100-domain sample or review license pricing for the full 40M-domain database.

Download sample CSV See pricing