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
stack placement, not a replacement pitch

Your forward proxy filters domains. It does not know page types.

A proxy sitting in front of agent traffic can allow, deny or log by domain and by content category. It has no native way to tell a pricing page from a checkout page on the same allowed domain. This page walks through where the proxy layer ends and where page-type data has to take over.

28Page types per domain the proxy can't see alone
40M+Domains with page-type URLs
~40Egress rules for any domain, proxy-enforceable
1HTTP call to check a URL before the click

A domain-level proxy allow rule for huggingface.co would not have stopped the 2026 Hugging Face breach — the domain itself was legitimate; the surface used inside it was the problem. See how the incident-by-incident prevention analysis maps every 2026 agent escape to the rule that stops it.

The stack, top to bottom

Where a forward proxy sits relative to page-type data

These are not competing products. A proxy is a network-layer enforcement point; page-type data is what it needs to enforce anything more specific than "allowed domain."

Forward proxy / AI gateway

Intercepts every outbound request from the agent, terminates TLS if configured to, and is the only component that can actually stop a request before it leaves the network. Enforces whatever policy it is given.

Enforcement point

Domain and content-category filtering

What most proxies ship with natively: allow or deny a domain outright, or by a coarse content category such as "finance" or "social media." This is the layer most SSE and CASB products already do well.

Existing capability

Page-type policy data

The missing layer: for a domain the proxy has already allowed, which specific URL shapes on it are pricing, docs, login, checkout, upload. This is what the AI Agent Allowlist database and egress rules supply into the proxy's decision.

What's missing

In practice this means the proxy remains the enforcement point — the thing that actually blocks the request — while the page-type database becomes one more data source it checks, alongside its existing domain and category feeds. Nothing about deploying page-type data requires replacing the proxy. The full field set behind that third layer, all 28 page types plus IAB and filtering categories, is catalogued on the page-types database page.

The gap, concretely

Same allowed domain, four very different pages

A proxy that has allowed stripe.com because the agent legitimately needs Stripe's documentation has, by the same rule, allowed every other page on stripe.com — unless something downstream of the domain check adds page-type granularity.

Domain rule: ALLOW stripe.com (proxy category: payments / SaaS)
stripe.com/docs/apiAllowed — documentation
stripe.com/pricingAllowed — pricing
stripe.com/loginDenied — login (credential surface)
stripe.com/dashboard/checkoutDenied — checkout (transaction surface)

A pure domain-and-category proxy rule cannot produce these four different outcomes from one allow decision on stripe.com. It either allows the whole domain, denies the whole domain, or requires someone to hand-write a URL-path rule per domain per page — which is exactly the manual-curation problem addressed on manual curation vs. the licensed database, just relocated into the proxy's rule engine instead of a spreadsheet.

This is not a hypothetical edge case. Any domain that serves both a marketing/documentation surface and an authenticated application surface under the same registrable domain has exactly this shape: a SaaS vendor with docs.example.com content reachable at example.com/docs and an account area at example.com/app; an e-commerce site with a product catalog and a checkout flow on the same hostname; a partner site with a public press room and a partner-portal login one click away. Domain-level allow decisions are binary; the pages behind them are not.

Where this applies across deployment shapes

The gap looks the same whether the enforcement point is a proxy, a gateway, or an SDK hook

"Forward proxy" is used loosely in this comparison to mean whatever component actually sits on the agent's outbound path. In practice that component takes several forms, and the page-type gap shows up identically in each.

This matters for buyers because the question "do we need page-type data" is often asked as if it were tied to a specific product category, when it is really tied to a specific gap that exists regardless of which enforcement product a team has already bought. A security team that has already invested in an SSE platform is not being asked to rip that out; a platform team that built its own lightweight gateway is not being asked to adopt a heavier one. In every case, the ask is the same narrow one: give the existing enforcement point a page-type answer to check, on top of whatever it already checks.

A

Classic forward proxy / SSE tenant

The traditional case: agent traffic routes through a corporate proxy or an SSE vendor's cloud tenant, which already enforces domain and category rules for human browsing and is being extended to cover agent traffic too.

B

Purpose-built AI gateway

A newer category of product sitting in front of LLM and agent calls specifically, often inspecting prompts and tool calls. Most AI gateways today reason about which tools an agent may invoke, not which URLs a browsing tool may navigate to once invoked — the same page-type gap applies one layer down.

C

In-process SDK or framework hook

Frameworks such as browser automation libraries or agent SDKs often expose a pre-navigation hook directly in code, with no separate network appliance at all. The same check — is this URL a page type we allow — applies whether it runs in a proxy, a cloud gateway, or a function call inside the agent process.

Regardless of which of these three shapes your deployment uses, the integration pattern below is the same: a single URL-in, decision-out check, made before the request is issued.

What proxies are genuinely good at

Three things a forward proxy does that page-type data does not

This is a division of labor, and the proxy's side of it is not small.

It is worth stating plainly, because vendors on either side of this comparison sometimes overstate their own scope: neither a proxy nor a page-type database is a complete agent-safety solution by itself. A proxy without page-type data allows or denies too coarsely to stop credential and transaction surfaces reliably. A page-type database without a proxy, gateway, or SDK hook to enforce it is just a well-organized spreadsheet that nothing actually checks. The interesting engineering work is entirely in how the two connect, not in replacing one with the other.

01

Actual network enforcement

Page-type data is inert until something checks a URL against it and acts on the answer. The proxy is the component with hands on the connection — it can drop the request, return an error to the agent, or log and pass it through. No dataset enforces itself.

02

Broad content categorization

Coarse category filtering — is this domain gambling, adult content, known malware infrastructure — is a mature capability most proxies and SSE platforms already do well, often against much larger domain-reputation feeds than any single page-type dataset needs to duplicate.

03

Session and identity context

Which user, which agent identity, which device requested the connection is proxy-native context. Page-type data answers "what is at this URL," not "who is asking" — those two questions combine at the proxy's policy engine, not before it.

Side by side

Proxy filtering vs. page-type allowlist data

CapabilityForward proxy / AI gatewayPage-type allowlist data
What it enforcesDomain, IP, content category, sometimes basic URL path patternVerified page type per URL: login, checkout, pricing, docs and 25 more
Enforcement mechanismSits on the wire; can actually block a requestData only; needs a proxy, gateway or policy engine to act on it
Granularity within an allowed domainUsually none, or manually written per-path rulesFull granularity: every classified page type, per domain, out of the box
Coverage breadthDomain reputation feeds, often very large, tuned for security categories40M+ domains, tuned specifically for the 28 page types agents interact with
Handles new/unclassified domainsFalls back to category heuristics or default policyEgress rules library (~40 pattern rules) catches risky shapes on any domain
DeploymentInfrastructure component: proxy, SSE tenant, or AI gatewayLookup API ($99/mo+) or on-prem database license, called from your existing proxy
Wiring it together

A minimal integration pattern

Most forward proxies and AI gateways support an external policy callback or a pre-request hook. The page-type check drops into that hook without altering the proxy's own domain and category rules.

// pseudocode: proxy's pre-request policy hook
function onOutboundRequest(url) {
  // existing proxy logic: domain + category rules, unchanged
  if (!domainAllowed(url.host)) return DENY;

  // new: page-type check for granularity within the allowed domain
  result = fetch("https://www.aiagentallowlist.com/api/check?url=" + url);
  if (result.id === "login" || result.id === "checkout" || result.id === "upload") {
    return DENY; // credential, transaction and write surfaces
  }
  return result.result === "allow" ? ALLOW : DEFAULT_DENY;
}

Full request and response formats, authentication, and rate limits for the lookup API are documented at the API docs. For on-prem deployments that cannot call out, the full database license removes the API round-trip entirely and runs the lookup locally.

The integration is deliberately narrow in scope. It does not ask the proxy to understand page semantics, parse HTML, or maintain its own classification logic; it asks the proxy to make one more outbound decision, using an answer that has already been computed. This keeps the proxy's own rule engine exactly as simple as it was before, with one additional data source consulted for domains it has already allowed at the coarse level. Category-level domain reputation feeds, of the kind a proxy already consumes, are the same shape of product as the sibling Web Filtering Database, which several proxy and SSE vendors already license for that layer.

Common objection

"Can't I just write path rules on my proxy myself?"

Technically yes, for any single domain. The problem is the same one manual curation runs into everywhere else: it does not scale past a handful of domains you already know well.

Writing a rule that recognizes stripe.com/login, stripe.com/dashboard/checkout and stripe.com/docs is a reasonable afternoon of work for one vendor your team already researches closely. Writing the equivalent rule for every domain an agent might visit during open-ended research, price monitoring, or vendor discovery is a different problem entirely — it is the manual-curation drift problem, just expressed as proxy configuration instead of a spreadsheet. Path shapes also are not consistent across vendors: one company's checkout lives at /checkout, another's at /cart/pay, another's inside a single-page app where the path never changes and the page type is only distinguishable by what the page actually renders.

This is precisely the gap a pre-verified, 40-million-domain page-type database closes: the classification work of figuring out that a given URL is a login versus a checkout versus a documentation page has already been done, for domains an agent has never visited before, so the proxy's rule engine has an answer to check against instead of a blank space it must fill in by hand for every new vendor.

There is also a verification problem hiding inside "just write path rules yourself." A rule that matches /login by string pattern will miss a login page served at /auth/signin, on an idp.vendor.com subdomain, or behind a locale prefix like /en-us/account/login — all of which are covered in more depth on how login pages are actually detected and verified. Guessing path conventions works until it does not, and a proxy administrator has no efficient way to know, for any given vendor, which convention that vendor happens to use without visiting the site and checking by hand — the exact manual-verification step a pre-built database exists to remove.

A combined policy, written out

What a proxy rule set looks like once page types are added

The point of this comparison is additive, not either/or. Here is roughly how the two layers read together in a policy document, rather than as separate systems a reviewer has to reconcile.

policy:
  # existing proxy layer — domain and category rules, unchanged
  domain_rules:
    - category: gambling, adult, malware  action: deny
    - category: saas, vendor-approved  action: allow-continue

  # new layer — page-type check, only reached for domains that passed above
  page_type_rules:
    - type: login, signup, password_reset, checkout, cart, upload  action: deny
    - type: pricing, documentation, help_center, blog, about  action: allow
    - type: unclassified  action: default-deny

Read top to bottom, the domain layer decides whether the agent gets anywhere near a vendor at all; the page-type layer, evaluated only once the domain has cleared, decides which pages on that vendor's site the agent may actually reach. A reviewer auditing this policy can trace exactly which layer produced any given decision, which matters when the decision needs to be explained after the fact. A full annotated policy schema, beyond this simplified excerpt, is on the egress rules library.

Notice also what this structure does for incident review. When an agent's request is denied, the log line can say which layer produced the denial — a domain-category match or a page-type match — rather than a single opaque "blocked" outcome. That distinction matters when a security team is later asked to explain, for compliance or for a post-incident review, exactly why a given request never reached its destination; see agent navigation audit logs for what to capture at each layer.

FAQ

Proxy filtering and the AI agent allowlist

Does the page-type database replace my forward proxy or AI gateway?

No. The proxy or gateway remains the enforcement point on the network path. The page-type database is a data source the proxy's policy engine checks, adding page-level granularity to the domain and category rules the proxy already enforces.

My SSE platform already does category-based filtering. Why isn't that enough?

Category filtering answers "what kind of site is this" (finance, SaaS, social media), which is a different question from "what specific page, on a site already allowed by category, is this." A domain in an approved category can still contain a login, checkout or upload page an agent should never reach unsupervised.

What happens for a domain the page-type database has not classified?

The egress rules library, roughly 40 method-aware pattern rules, catches risky URL shapes such as wiki-edit endpoints, WebDAV paths and signup forms on any domain, classified or not. Whatever neither layer resolves falls to default-deny.

Does this require changing our existing proxy vendor?

No. Integration is a single HTTP call from the proxy's existing policy hook to the lookup API, or a local lookup against the on-prem database license. It is additive to whatever domain and category rules are already configured.

Is the lookup API fast enough for a per-request check in a proxy path?

The API is designed for exactly this: a single HTTP request per navigation decision, made before the agent's request leaves. For high-volume deployments, the on-prem database license removes the network round-trip by running the lookup locally.

Who typically owns this integration — the network team or the AI platform team?

It varies by organization, and that ambiguity is itself worth resolving early. Because the check plugs into an existing proxy or gateway's policy hook, whichever team already owns that hook is best placed to own the page-type integration too, with the AI platform team supplying the list of page types that should be denied by default for a given agent's job.

Add the missing layer to your existing proxy.

Download the free sample or review the lookup API and on-prem license tiers.

Download sample CSV See pricing