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
the highest-risk page-type category, mapped in full

Every Place a Credential Form Can Hide on the Web

"Block login pages" sounds like a simple rule until you try to enumerate what counts as one. Credential surfaces live on subdomains, on third-party identity providers, behind locale-specific paths, and inside single-page apps with no distinct URL at all. This page is a full taxonomy of where they hide, because a policy that only catches "/login" catches almost none of them.

3Identity page types: login, signup, password_reset
5+Distinct hiding techniques covered below
40M+Domains with verified credential-page URLs
0Guessed paths — every URL is verified live
Definitions first

"Credential surface" is broader than "login page"

Most informal discussions of this problem say "login page" and mean something narrower than the actual attack surface. Precision here changes what a policy needs to cover.

Credential surface

Any page or endpoint where an agent's action could create, authenticate, recover, or modify an account's access credentials — not only the visible sign-in form, but the surrounding flows that manage identity.

Our taxonomy groups this into three page types: login (authenticate an existing account), signup (create a new one), and password_reset (recover or change access). All three carry the same category of risk: an agent taking action there is acting on identity, not just reading content.

The reason this page exists as its own deep dive, separate from the broader browsing-risk taxonomy, is that credential surfaces are the single category where naive detection fails most often and most invisibly. A checkout page is usually easy to recognize by a shopping cart icon or a payment form. A credential surface can be a single link labeled "Sign in with your organization" that silently redirects to an entirely different domain, with nothing about the label itself signaling that an identity flow is about to begin.

Highest reversal cost

A completed transaction can sometimes be refunded. A completed account takeover, password change, or new-account creation under your identity is much harder to fully unwind, and the exposure often continues after the specific incident is noticed.

Least visible surface

Unlike a checkout page, a credential form rarely announces itself with unambiguous visual or textual cues an automated system can rely on, especially once delegated SSO and SPA rendering are in the mix.

Highest incident concentration

Of the documented 2026 agent incidents, credential surfaces (login, signup, and the account layer beneath them) were the entry or escalation point in more cases than any other single page-type category.

The taxonomy

Five surface types under the "credential" umbrella

Not every credential surface looks like a simple form on the domain you started on. Here is the full range an agent can actually reach.

credential surface — five shapes
Direct loginA sign-in form on the domain itself, at a conventional or unconventional path.
Signup / registrationA new-account creation flow, often reachable from a "start free trial" or "create account" link.
Password reset / recoveryA "forgot password" flow, sometimes on a different subdomain than the login form it serves.
Third-party SSO / identity providerAuthentication delegated entirely to another domain (an identity provider) the agent is redirected to mid-flow.
Account / settings surfaceA logged-in account or settings page where credentials, API keys, or linked accounts can be changed after the fact.

The fifth type is easy to overlook because it only becomes reachable after an agent has already authenticated somewhere — either with credentials it was given for a legitimate task, or because a policy allowed a specific login. Once inside, an account or settings page can itself become a credential surface: an API-key generation page, a linked-accounts panel, or a page that lets a signed-in user add a second authentication method. Treating "already logged in" as equivalent to "no further credential risk" is a common design mistake worth naming explicitly.

Why naive detection fails

Five ways credential surfaces hide from a simple pattern match

A rule that denies any URL containing the word "login" catches the easy cases and misses most of the real ones. Here is what it misses, in the order it typically gets discovered.

Each of the five techniques below was chosen because it is common on ordinary, mainstream websites, not because it represents an unusual evasion technique. None of these require a malicious site operator; they are simply how large, mature, multi-market web platforms are built in practice, which is exactly why a naive keyword approach fails so often on completely legitimate domains.

1

Subdomains dedicated to authentication

Many organizations run authentication on a subdomain that shares no obvious naming with "login" — accounts.example.com, id.example.com, or a subdomain named after an internal product rather than its function. A rule scoped to the primary domain's paths never sees these.

2

Third-party identity providers

A large share of business software delegates authentication entirely to a provider like an enterprise SSO platform, so the actual credential form the agent reaches is on a completely different domain than the one it started on — a domain a per-site allowlist may never have been told to treat as sensitive.

3

Non-English and locale-specific paths

A domain serving a French locale may use /connexion or /mon-compte rather than /login or /account; a German locale may use /anmelden. Any keyword-based rule tuned to English path segments misses every one of these by construction.

4

Single-page apps with no distinct URL

A modern SPA can render a login form inside the same URL as the page an agent was already on, changing only client-side state rather than navigating to a new address. A URL-only check that never fires a request to a "new" page can miss that a credential form is now on screen, which is one reason the underlying page-type database is built from verified crawl behavior rather than URL string patterns alone.

5

OAuth redirect chains

An SSO flow frequently bounces through two or three intermediate URLs (an authorization endpoint, a consent screen, a callback URL) before landing back on the original domain. Each hop is a distinct URL an agent's browsing tool actually requests, and a policy that only evaluates the first and last URL in the chain can miss the credential-entry step in the middle.

Across domain types

The same five surfaces, five different real-world domains

To make the taxonomy concrete, here is how the credential surface actually manifests across different kinds of sites an agent might visit for ordinary research or procurement work.

Notice that no two rows in this table hide their credential surface the same way. That variation is the actual reason a single detection heuristic cannot cover all five domain types with one rule: a heuristic tuned to catch a bank's dedicated subdomain will not catch a wiki's "become an editor" registration flow, and a heuristic tuned to catch that will not catch a marketplace's dual buyer/seller identity split. Coverage has to be built domain by domain and verified against the live site, which is the entire reason a maintained database exists rather than a static rulebook.

A useful test for any policy you already have in place: pick one row from this table, find the actual credential URL for a real domain of that type, and check whether your current rule would have caught it without you first telling the rule exactly where to look. If the answer depends on you already knowing the answer, the rule is not really generalizing — it is memorizing a handful of examples, which is precisely the gap a verified, continuously maintained database is built to close.

Domain typeWhere the credential surface actually sitsWhy it is easy to miss
Enterprise SaaS vendorLogin delegated to a third-party SSO/identity provider domain, reached only after clicking "sign in" on the vendor's own siteThe credential form is on a domain the agent never intended to visit and a per-vendor allowlist never named
Bank or financial institutionA dedicated "online banking" subdomain, often with its own distinct branding and a separate password-reset flow from the marketing siteThe subdomain name frequently does not contain "login" or "bank," using an internal platform name instead
Wiki or collaborative platformA conventional login path, but also a "request account" or "become an editor" registration flow buried in a help or community pageThe registration flow is framed as "getting involved," not as an identity-creation action, so it reads as informational
Developer tool / API platformLogin for the dashboard, plus a separate API-key or token-management page reachable once inside the account settingsOnce "inside" via an allowed login, the token page looks like ordinary settings, not a fresh credential surface
Global consumer marketplaceA localized login path per country/locale, plus a separate seller-account authentication surface entirely apart from the buyer loginLocale variants and dual buyer/seller identity systems both multiply the number of distinct credential paths on one hostname

This is why our database resolves the login, signup, and password_reset page types by verifying the actual URL on each live domain rather than inferring it from a path-naming convention. A verified URL for a French locale's /connexion page, a delegated SSO redirect target, or a seller-specific login is exactly as reliably classified as a conventional /login path, because the classification never depended on the path spelling out its own purpose.

A worked scenario

A vendor-research agent walks through three of the five surfaces

Consider a vendor due-diligence agent tasked with evaluating a SaaS vendor's suitability, which is an ordinary, low-drama task with no adversarial intent anywhere in it.

The agent starts on the vendor's marketing site, reads pricing and documentation pages without issue, and then, following its own reasonable logic, decides to check whether a free trial is available — a completely natural next step for a due-diligence task. The "start free trial" link resolves to a signup page: surface type two, denied by default. The agent, redirected instead of blocked outright in its plan, might next try "contact sales," which on this vendor happens to route through a support portal that requires signing in via the vendor's SSO provider — surface type four, on a domain entirely separate from the one the agent started on, still denied.

Neither of these attempts required the agent to be doing anything unusual. Both were denied because the page type, not the agent's stated intent, determined the outcome — which is the same principle described on our deterministic guardrails page, applied specifically to the credential category.

A practical checklist

Covering all five surface types in your own policy

Use this against your own agent's actual configuration and the domains it visits, not as an abstract review.

Credential surfaces were the entry point for a documented 2026 campaign

The 2026 account-takeover campaign broke into four services across four different credential surfaces, with a Modal Labs-hosted app's default public API key and a command-injection flaw serving as the execution point. Our analysis shows the login page type, the signup and password_reset keys, and the identity group of our egress rules deny every one of those hops before the first request.

Every 2026 agent escape, mapped to the rule that stops it Read the account-takeovers case

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 transformative versus the real timeline (DseWiki ran ~7 weeks undetected), 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. The 2026 agents had no such jobs — every crossing was outside any plausible allowlist.
Keep reading

Related concepts

FAQ

Credential surfaces, answered

Does "credential surface" include pages that only display account information without a form?
Our taxonomy scopes the three identity page types to pages where an agent's action would authenticate, create, or recover access — login, signup, and password_reset specifically. A pure read-only account-summary page without any of those actions falls outside this narrow definition, though it is still worth reviewing separately if it displays sensitive account data.
How do you verify a login URL when authentication is delegated to a third-party SSO provider?
The verification looks at the actual URL the browser is directed to during the flow, which for a delegated SSO setup is the identity provider's own domain, not the original vendor's domain. Both the originating redirect and the identity provider's own credential-entry page are covered by the page-type classification.
Can a single-page app's client-side login form be detected by a URL-based policy at all?
A pure URL check can miss a login form rendered without a URL change. In practice, most SPA login flows still call a distinct API endpoint or navigate to a distinct route once a real session begins, which is where verification against actual site behavior, rather than a static path guess, becomes necessary.
Are locale-specific login paths really common enough to matter?
Yes, for any domain serving more than one language market, which describes a large share of the 40 million-plus domains our database covers. A policy tuned only to English path segments systematically under-covers credential surfaces on every non-English locale of an otherwise-covered domain.
Should a password-reset page be treated the same as a login page for policy purposes?
Generally yes, and often more strictly: a password-reset flow, if completed, can lock a legitimate account owner out or hand account access to whoever completes the reset. Our schema keeps password_reset as its own page type precisely so it can be governed with the same or stricter default-deny posture as login.
How do I check whether my own frequently visited domains have credential surfaces I haven't accounted for?
Download the free sample CSV and look up domains you already work with to see their verified login, signup, and password_reset URLs. Full coverage across 40 million-plus domains is available via the lookup API from $99/month or an on-premise license.
Does an egress-rules layer help on domains outside the 40M-domain database?
Yes. The identity group within our roughly 40 egress rules matches common authentication URL shapes and known SSO-provider hosts on any domain, giving partial coverage even before that specific domain has been individually verified in the core database, with a default-deny fallback for anything still unresolved. See agent guardrails for how all four layers fit together.

Stop guessing where credential forms live

Download the sample and see verified login, signup, and password-reset URLs across 100 real domains.

Download the Sample