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
for AI gateway & guardrail-engine vendors

Your gateway reads every prompt. Does it read the URL?

AI gateways have earned their place in the stack by inspecting prompts, tool calls, and model output for injection, leakage, and policy violations. Almost none of them answer a simpler question: when an agent is about to fetch a specific URL, is that URL a login page, a checkout, a comment box, or a safe read? AI Agent Allowlist is the page-type lookup that fills that gap — one call your gateway can make on every outbound navigation, across 40 million+ domains.

Gateways already sit in the request path. Adding this check costs one lookup, not a new interception point.

This is written for teams building or operating an AI gateway, guardrail engine, or agent-traffic proxy that customers route their agent fleets through — not for end users of any one agent product. If that describes your architecture, the rest of this page is a technical and commercial case for adding one lookup to your existing request pipeline.

0Page types resolved per URL
0Domains covered
0Call per navigation check
0Filtering categories per domain

Your customers were exposed to this. Gateways that inspected prompts and tool-call arguments in 2026 still let agents reach wiki-edit endpoints, third-party logins, and cluster-admin surfaces — because none of those inspections looked at what kind of page the URL actually pointed to.

How the Hugging Face breach could have been stopped
The gap

Prompt inspection and URL policy are different problems

A gateway’s prompt and tool-call inspection answers “is this request trying to manipulate the model?” Page-type policy answers a completely different question: “independent of intent, what is this specific destination, and should any agent be allowed there?” A perfectly well-intentioned agent with a clean prompt history can still be one ambiguous task away from a login form. Catching that requires knowing what the URL is, not what the prompt says.

What gateways already do well

Prompt injection detection, tool-call argument validation, output filtering for secrets and PII, rate limiting, and model routing. This is real, necessary coverage — and it stops at the boundary of the request’s content, not its destination.

What falls through today

An agent with a syntactically clean tool call — fetch(url) — passes every existing gateway check even when the URL is a login page or a checkout flow, because none of those checks classify the destination itself.

What one lookup adds

Resolve the URL against the page-type map before the fetch executes. The gateway gets a page_type, an IAB category, and a filtering category back — enough to allow, deny, or flag, in the same policy language it already uses for everything else.

A concrete case

What this looks like in a real gateway deployment

Take a gateway product sold to enterprises running customer-support and sales-research agents through it. The gateway already terminates every outbound HTTP call the agents make, so it is the natural place to add this check — not a new proxy, not a new SDK, just an additional lookup inside middleware that already runs on every request.

A support agent is told to check a vendor’s status page and summarize an outage. Its browsing tool resolves a URL that turns out to be the vendor’s status page — page type status, allow. On the same task, a differently phrased instruction leads the agent toward what looks like a contact form but resolves to the vendor’s account-login page instead — page type login, deny, logged with a reason. Neither request looked suspicious to a prompt-injection filter; both requests were syntactically ordinary tool calls. The only signal that distinguished them was what page type the URL actually resolved to — which is precisely the signal a gateway does not have today without this layer.

The same pattern applies to sales-intelligence agents pulled toward a target company’s leadership and case-study pages (allow) versus its subscribe or account-signup forms (deny), and to procurement-research agents reading a vendor’s pricing and documentation (allow) while being kept off its cart and checkout flow (deny, unless the vendor is on an approved-purchasing list your customer configures). In every case, the distinguishing signal is the page type of the exact URL, not the phrasing of the prompt that led there.

Beyond page types

The other two layers gateways get with the same license

Page-type classification covers the 40M+ domains in the database. Two companion layers, included with every database license, extend coverage to surfaces that can appear on any domain at all — which matters for a gateway seeing traffic to sites nobody pre-classified.

Egress rules library

Roughly 40 URL-pattern rules matching risky request shapes — wiki edit endpoints, WebDAV writes, plugin installs, signup-shaped forms — evaluated against the exact URL and method, on any domain, including ones your page-type coverage does not reach. Published in full at the rules file.

High-value host list

Roughly 60 curated dangerous-infrastructure hosts — cloud metadata endpoints, package registries, tunnel and webhook sinks — each with a default result a gateway can apply before any classification lookup even runs. Listed at the host list.

Default-deny for the rest

Anything not matched by a page type, an egress rule, or the host list falls to whatever default your gateway configures — deny is the recommended posture for agent traffic, since an unclassified destination is itself a signal worth treating with caution.

Together the four layers are the same framework this site describes on agent guardrails: page types for the 40M+ domains you have classified, egress rules and the host list for everything else, and default-deny as the backstop. A gateway implementing all four has a materially stronger answer to a customer’s security questionnaire than one implementing prompt inspection alone.

Side by side

Prompt-layer controls versus URL-layer controls

Neither layer replaces the other. A gateway that runs both closes a boundary that either one alone leaves open.

ControlWhat it inspectsCatches a hostile prompt?Catches a login/checkout URL?
Prompt injection detectionContent of the incoming prompt and page textYesNo
Tool-call schema validationShape and type of the tool argumentsPartiallyNo
Output / secret filteringWhat the model returns to the userNoNo
Domain-level allow/deny listsWhether the domain itself is on a listNoOnly if the whole domain is blocked
Page-type URL policy (this database)What page type the exact URL resolves toNot its jobYes, before the request fires

The useful reframe for gateway product teams: prompt-layer controls protect the model from the page; URL-layer controls protect the world from the agent. Both belong in the same product, and most gateways today ship only the first.

There is a second, quieter reason gateways under-invest in URL-layer controls: it looks, at a glance, like something a domain blocklist should already handle. It does not. Domain-level lists force an all-or-nothing choice per site — block amazon.com entirely, or allow it entirely and hope the agent never finds the checkout. Page-type policy is the missing granularity: allow the domain, deny the specific page type, on the same request path a gateway already owns.

Why this matters at gateway scale

One policy, every customer, every model behind the gateway

Gateways sit in front of many agents, many teams, and often many different model providers. A page-type check added at the gateway layer becomes a single control that governs all of them at once — rather than a policy each team has to reimplement inside its own agent.

40M+Domains resolved centrally
28Page types, one schema for every team
1Enforcement point instead of N agent codebases
700+/59IAB / filtering categories for context
Reference implementation

A gateway-side policy hook

The pattern below is intentionally generic — it is the shape of the check regardless of which gateway product or proxy framework it runs inside.

# gateway middleware, pseudocode
on outbound_request(agent_id, url, method):
  rec = page_type_lookup(url) # local index or /api/check
  if rec.page_type in ["login", "signup", "password_reset", "checkout", "cart",
                    "post_create", "comment"]:
    return deny(reason=rec.page_type, logged=true)
  if rec.filtering_category in HIGH_RISK_CATEGORIES:
    return deny(reason="filtering_category", logged=true)
  if not rec.found:
    return deny(reason="unclassified_default_deny", logged=true)
  return allow(logged=true)

Note the deny-with-reason shape in the pseudocode above: the response carries not just a verdict but the page type that triggered it. That reason string is what your agent’s own reasoning loop can act on — try a different, allowed page instead of retrying the same denied URL — and what your audit log stores for later review, so a denial is never just a silent drop.

The GET request pattern is deliberate: GET https://www.aiagentallowlist.com/api/check?url=https://stripe.com/login returns "result":"deny","id":"login" in one round trip — no SDK, no session state, easy to bolt onto an existing middleware chain regardless of language. Full request and response shapes are in the API docs.

Checklist

What a gateway needs to add this layer

A navigation or fetch interception point that already sees every outbound URL (most gateways have this already)
A policy decision to make on deny, flag, and allow per page type, defaulting to deny for identity and commerce types
A lookup client — one HTTPS call to /api/check, or a local index if you license the full database
Logging on every decision: URL, page type, rule fired, outcome — this becomes the audit trail your customers ask for
A default-deny stance for domains outside your licensed coverage or unclassified by the API
A rollout plan starting in shadow/log-only mode before hard enforcement, to catch false positives against real traffic first

None of this requires touching your prompt-injection or tool-validation code paths. It is an additional, independent check that runs in parallel and only needs to agree with your existing controls at the point of final decision: deny wins.

Most gateway integrations take one to two sprints from a standing start: a day or two to wire the API call into the existing interception point, a sprint of shadow-mode logging against real customer traffic to see what the deny set would actually catch, and a final sprint to move the identity and commerce page types from logged to enforced. Teams that license the full database instead of the API add a data-loading step, but skip the network hop entirely once it is in place.

Licensing for gateway vendors

API for fast integration, database for scale

Gateway vendors typically start on the lookup API to prove the integration, then move to an on-prem database license once request volume makes a per-call cost material or a local index materially reduces latency at the enforcement point.

Self-serve API plans run from $99/mo for 90,000 lookups up to $1,997/mo for 2,000,000 lookups, roughly $1.00–$1.10 per 1,000 checks; custom volumes beyond 10M lookups a month are quoted directly. Full database licenses are one-time and perpetual: 10M domains for $14,999, 15M for $24,999, 30M for $49,999, with an optional refresh at 30% of license price per year; 40M+ and OEM redistribution for gateways that want to ship this as a built-in feature are quoted on request. Full detail is on the pricing page.

Fair use on the API tiers is straightforward: it is priced and built for live, per-navigation lookups, not for enumerating the corpus in bulk. A gateway checking each agent request as it happens fits the intended use directly; a nightly job trying to download the entire domain list through the API does not, and that pattern is what the full database license exists for instead.

Related reading

Next steps for gateway teams

If your gateway sits in front of an in-house agent platform rather than reselling access to third-party agents, the OEM framing for agent platform vendors may fit your packaging better. Security teams standing up their own enterprise browser or SASE/SSE layer on top of gateway output should read enterprise browser AI agent control and SSE agent traffic policy. For the underlying mechanism, start with agent guardrails and the page-types database. Gateways that also want a category feed for human-facing AI tool traffic can pair this with Web Filtering Database’s 100M+ domain filtering categories.

FAQ

Questions from gateway product teams

A domain category tells you what kind of site a domain is — a bank, a retailer, a news outlet. It does not tell you which specific URL on that domain is the login page versus the pricing page. A category feed can say “stripe.com is Software & Technology”; only a page-type map can say “stripe.com/login is a login page” and stripe.com/pricing is not. Gateways need both signals; most currently have only the first.
It runs independently and in parallel. Prompt-injection detection decides whether the incoming content is trying to manipulate the model; page-type policy decides whether the destination URL is one any agent should be allowed to reach, regardless of intent. A request can pass injection detection cleanly and still be a login page — that is exactly the case this layer is for. At the final decision point, a deny from either layer should win.
One HTTPS round trip per navigation on the API path, or a local index hit with a licensed database — comparable to any other in-process lookup. Gateway vendors processing high request volumes typically license the database specifically to remove the network hop once the integration is validated on the API.
Yes, under an OEM license. The data ships under your brand as a feature of your gateway product; redistribution terms, volume, and update cadence are negotiated per vendor. Contact us with your deployment shape.
You set the default; we recommend deny or flag-for-review for anything unclassified, consistent with a default-deny posture. Because coverage tiers are ranked by real-world popularity, this affects a small share of typical agent traffic, and it is exactly the long-tail traffic where the 2026 incidents ran their covert channels.
Download the free 100-domain sample to validate the schema against your middleware, or start on the $99/mo API tier for live integration testing against the full 40M+ repository before committing to a larger plan.

Two questions come up often enough outside the FAQ format to note here. First, the classification is method-agnostic on the page-type side — a URL is a login page whether requested by GET or POST — while the companion egress rules library is explicitly method-aware for the write surfaces where that distinction matters, such as a wiki edit endpoint that only becomes a write on certain verbs. Second, the lookup itself is tenant-agnostic: it returns the same page-type classification for a given URL no matter who asks, and per-tenant policy differences belong in your own policy layer on top of it, scoped the same way you already scope any other per-customer rule.

Add the layer your prompt inspection can’t provide

One lookup, 28 page types, 40M+ domains. Start with the API docs, or license the database for OEM redistribution.

View API Docs