{"id":"pages_dev","version":"1.0","url":"https://www.cloudflare.com","host":"pages.dev","movedTo":"cloudflare.com","name":"Pages","category":"other","catalog":{"structured":{"products":0,"withImage":0,"withOffer":0},"catalog":null,"feed":null,"verdict":"none"},"generatedAt":"2026-10-23T19:34:11.951Z","durationMs":74631,"checks":[{"id":"product_catalog","door":"marketing","title":"Product or service catalog with images","status":"fail","points":0,"maxPoints":3,"finding":"No catalog of products or services with images was found: no feed, no catalog file and no structured data.","evidence":[{"label":"Checked","value":"/products.json, /catalog.json, /feed.xml, /product-feed.xml and others"}],"why":"An agent can only recommend or buy what it can read. A catalog with images lets a shopping agent show what the company sells.","fix":"Publish a product or service feed (JSON or XML) with an image and a price or plan for each item, and add structured data to the pages.","test":"web","gain":17.1},{"id":"robots_assistants","door":"discover","title":"Robots policy for user triggered agents","status":"pass","points":4,"maxPoints":4,"finding":"robots.txt does not restrict user triggered agents on the public site.","evidence":[{"label":"ChatGPT User","value":"allowed","url":"https://www.cloudflare.com/robots.txt"},{"label":"Claude User","value":"allowed","url":"https://www.cloudflare.com/robots.txt"},{"label":"Perplexity User","value":"allowed","url":"https://www.cloudflare.com/robots.txt"},{"label":"Gemini Deep Research","value":"allowed","url":"https://www.cloudflare.com/robots.txt"}],"why":"When a customer asks an agent to look something up, it fetches the page as a user triggered agent. A site that blocks those agents cannot be consulted.","fix":"Allow the ChatGPT User, Claude User and Perplexity User agents in robots.txt for public product, pricing and help pages.","test":"web"},{"id":"llms_txt","door":"discover","title":"llms.txt guide for agents","status":"pass","points":3,"maxPoints":3,"finding":"llms.txt is published with 90 links.","evidence":[{"label":"File","value":"https://www.cloudflare.com/llms.txt","url":"https://www.cloudflare.com/llms.txt"}],"why":"An llms.txt file gives an agent a short map of what you offer and where the authoritative pages are.","fix":"Publish /llms.txt with links to product, pricing, support and location pages.","test":"web"},{"id":"structured_data","door":"discover","title":"Structured data on the home page","status":"partial","points":1,"maxPoints":3,"finding":"Only generic structured data is present, with no product, price or question markup.","evidence":[{"label":"Type","value":"Organization"},{"label":"Type","value":"WebSite"},{"label":"Type","value":"WebPage"}],"why":"Schema.org markup lets an agent read products, prices and questions as data instead of guessing from the layout.","fix":"Add JSON LD for your organization type, Product or Service, Offer and FAQPage on the pages customers ask about most.","test":"web","gain":1.1},{"id":"server_rendered","door":"discover","title":"Content available without running scripts","status":"partial","points":1.5,"maxPoints":3,"finding":"About 67 percent of the visible text is in the first HTML response.","evidence":[{"label":"Text in first response","value":"6716 characters"},{"label":"Text after scripts","value":"10024 characters"}],"why":"Many agents read raw HTML and do not run scripts. Text that appears only after scripts run is invisible to them.","fix":"Render product, pricing and help content on the server so the first response contains the text.","test":"web","gain":0.9},{"id":"sitemap_content","door":"discover","title":"Sitemap that includes help and pricing pages","status":"pass","points":2,"maxPoints":2,"finding":"Sitemap lists 407 entries including help, pricing, product pages.","evidence":[{"label":"Sitemap","value":"https://www.cloudflare.com/sitemap.xml","url":"https://www.cloudflare.com/sitemap.xml"}],"why":"A sitemap tells an agent where answers live. That cuts wrong guesses and stale pages.","fix":"Publish a sitemap that includes help center, pricing and product pages.","test":"web"},{"id":"mcp_server","door":"connect","title":"MCP server","status":"pass","points":8,"maxPoints":8,"finding":"A live MCP server answers at https://mcp.cloudflare.com/mcp and requires OAuth with published resource metadata.","evidence":[{"label":"Endpoint","value":"https://mcp.cloudflare.com/mcp","url":"https://mcp.cloudflare.com/mcp"}],"why":"An MCP server is the native way for an agent to use your services with the customer's approval. It replaces screen scraping and password sharing.","fix":"Publish a remote MCP server with OAuth. Start with read only tools such as account status, orders or location search, and publish a server card at /.well-known/mcp/server-card.","test":"web"},{"id":"a2a_agent_card","door":"connect","title":"Agent card for agent to agent calls","status":"pass","points":2,"maxPoints":2,"finding":"An agent card is published for Cloudflare Site Agent.","evidence":[{"label":"Agent card","value":"https://www.cloudflare.com/.well-known/agent.json","url":"https://www.cloudflare.com/.well-known/agent.json"}],"why":"An agent card lets other agents discover what your own agent can do and how to authenticate.","fix":"Publish /.well-known/agent-card.json describing skills and authentication.","test":"web"},{"id":"openapi_docs","door":"connect","title":"Public API documentation","status":"pass","points":3,"maxPoints":3,"finding":"A public OpenAPI document is published for Cloudflare Public Site API.","evidence":[{"label":"Document","value":"https://www.cloudflare.com/openapi.json","url":"https://www.cloudflare.com/openapi.json"}],"why":"A published OpenAPI document lets developers and agents build against stable, described endpoints.","fix":"Publish an OpenAPI document for customer facing APIs on a developer portal.","test":"web"},{"id":"open_banking","door":"connect","title":"Developer and data sharing program","status":"partial","points":2,"maxPoints":4,"finding":"A developer portal or aggregator connection is mentioned, without a described data sharing program.","evidence":[{"label":"Developer portal","value":"https://developers.cloudflare.com/","url":"https://developers.cloudflare.com/"}],"why":"A data sharing program with a developer portal and standard APIs gives agents a consented path to customer data. Open banking is the best known example.","fix":"Document the program, the standard in use (for example FDX in US banking), the supported partners and a sandbox.","test":"web","gain":0.7},{"id":"webmcp_tools","door":"connect","title":"Browser tools exposed to agents","status":"fail","points":0,"maxPoints":3,"finding":"The sign in and home pages register no browser tools for agents.","evidence":[],"why":"WebMCP lets a page register tools that a browser agent can call directly instead of clicking through the interface.","fix":"Register tools for safe tasks such as location search and price lookup with navigator.modelContext.","test":"web","gain":0.9},{"id":"poppy_discovery","door":"connect","title":"Poppy file for personal agents","status":"fail","points":0,"maxPoints":0,"bonus":0,"bonusMax":3,"finding":"No Poppy file was found on this site.","evidence":[{"label":"Address checked","value":"https://www.cloudflare.com/.well-known/poppy.json","url":"https://www.cloudflare.com/.well-known/poppy.json"}],"why":"Poppy is an open draft standard from Sierra and Meta. A company publishes one small file that tells a customer's personal agent how to find it, how the customer signs in and which route to use: the company's own agent, an API or the website. Eight launch partners and dozens of design partners back it.","fix":"Publish a poppy.json file in the well known folder of your website. It names your organization, your sign in server and at least one route. Then make your sign in server list your domain in poppy_domains. The standard is a draft, so treat this as early work.","test":"web"},{"id":"oauth_metadata","door":"identity","title":"OAuth and OpenID metadata","status":"pass","points":5,"maxPoints":5,"finding":"Authorization server metadata is published at mcp.cloudflare.com.","evidence":[{"label":"Issuer","value":"https://mcp.cloudflare.com","url":"https://mcp.cloudflare.com/.well-known/oauth-authorization-server"},{"label":"Grant types","value":"authorization_code, refresh_token"},{"label":"Scopes listed","value":"24"}],"why":"Published authorization server metadata tells a client where to send a customer to approve access.","fix":"Publish /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource for the customer facing APIs.","test":"web"},{"id":"pkce_registration","door":"identity","title":"PKCE and client registration","status":"pass","points":4,"maxPoints":4,"finding":"PKCE with S256 and a registration path for new clients are both published.","evidence":[{"label":"PKCE S256","value":"supported"},{"label":"Dynamic registration","value":"supported"},{"label":"Client ID metadata documents","value":"supported"}],"why":"PKCE protects the approval step. Dynamic registration or client metadata documents let a new agent onboard without a manual review each time.","fix":"Require PKCE with S256 and support client ID metadata documents or dynamic client registration for approved agent clients.","test":"web"},{"id":"passkeys","door":"identity","title":"Passkeys at sign in","status":"fail","points":0,"maxPoints":4,"finding":"No passkey signal was found on the sign in page or in the published pages read. A prompt that starts only after a person types is not visible to the scan.","evidence":[],"why":"A passkey lets a customer approve an agent action with a device gesture. It removes the passwords and one time codes that agents cannot handle.","fix":"Offer passkeys with conditional UI on the sign in page and for step up approvals.","test":"login","gain":2.3},{"id":"high_assurance","door":"identity","title":"High assurance authorization profile","status":"fail","points":0,"maxPoints":3,"finding":"No high assurance authorization features were found.","evidence":[],"why":"Pushed authorization requests, sender constrained tokens and rich authorization requests let a provider approve one specific action instead of a blanket login.","fix":"Support PAR with DPoP or mutual TLS, and rich authorization requests for payments and account changes.","test":"web","gain":1.9},{"id":"delegate_access","door":"identity","title":"Documented delegate and data sharing controls","status":"fail","points":0,"maxPoints":4,"finding":"No public page on delegate access or connected app controls was found.","evidence":[],"why":"Customers need a place to see and revoke what an agent can do. Organizations need a documented route for authorized agents.","fix":"Publish a help page on delegate access and add a connected apps screen where customers revoke access.","test":"web","gain":2.3},{"id":"declared_agent_homepage","door":"web","title":"Home page for a declared agent","status":"pass","points":3,"maxPoints":3,"finding":"The home page loaded normally for a declared agent.","evidence":[{"label":"Status","value":"200"},{"label":"Response time","value":"179 ms"}],"why":"A declared agent that is challenged or blocked at the first step cannot help the customer at all.","fix":"Allow declared agents through bot management on public pages, and verify them with signed requests.","test":"login"},{"id":"signin_reachable","door":"web","title":"Sign in page loads for a declared agent in a browser","status":"pass","points":4,"maxPoints":4,"finding":"The sign in page loaded in a browser for a declared agent.","evidence":[{"label":"Declared agent","value":"loaded in 4647 ms"},{"label":"Standard browser","value":"loaded in 8008 ms"},{"label":"Page","value":"https://dash.cloudflare.com/login","url":"https://dash.cloudflare.com/login"}],"why":"Where a customer must use the website, a browser agent has to reach the sign in page so it can hand control back to the customer.","fix":"Serve the sign in page to verified agent browsers, and use signed agent identity to separate them from attackers.","test":"login"},{"id":"agent_browser_parity","door":"web","title":"Same behavior for a declared agent and a standard browser","status":"pass","points":2,"maxPoints":2,"finding":"A declared agent and a standard browser got the same result.","evidence":[{"label":"Declared","value":"loaded"},{"label":"Browser","value":"loaded"}],"why":"If a declared agent is treated worse than an anonymous browser, honesty is penalized and agents will hide what they are.","fix":"Do not rank declared agents below anonymous browsers in bot management policy.","test":"login"},{"id":"form_semantics","door":"web","title":"Sign in form structure and autofill hints","status":"pass","points":4,"maxPoints":4,"finding":"100 percent of 2 fields have labels and 100 percent set autocomplete hints.","evidence":[{"label":"email field","value":"Email; autocomplete: email"},{"label":"password field","value":"Password; autocomplete: current-password"}],"why":"Labels and autocomplete hints let an agent and a password manager find the right field and hand over to the customer at the right moment.","fix":"Label every field and set autocomplete values for the username, the current password and the one time code.","test":"login"},{"id":"semantic_markup","door":"web","title":"Semantic page structure","status":"partial","points":1,"maxPoints":2,"finding":"The page structure is only partly readable by agents.","evidence":[{"label":"Landmarks","value":"1"},{"label":"Headings","value":"3"},{"label":"Named controls","value":"100 percent"},{"label":"Images with alt text","value":"50 percent"}],"why":"Landmarks, headings and named controls let an agent read the page the way a screen reader does.","fix":"Use landmark elements, headings in order, accessible names on buttons and alt text on images.","test":"login","gain":0.1},{"id":"terms_stance","door":"policy","title":"Terms on automated access","status":"fail","points":0,"maxPoints":4,"finding":"The terms restrict automated access and name no exception for authorized agents.","evidence":[{"label":"Terms excerpt","value":"…or otherwise constitutes technical abuse. 8. Artificial Intelligence RestrictionYou may not use automated bots to access, scan, scrape, data mine, copy, or use the materials or content on this website for developing, training, fine-tuning, or…","url":"https://www.cloudflare.com/policies/terms/"}],"why":"Terms that prohibit all automated access with no exception make every agent a violation, even when the customer authorized it.","fix":"Add an exception for authorized agents acting for the customer through approved interfaces.","test":"web","gain":3.8},{"id":"third_party_rules","door":"policy","title":"Third party access and data sharing rules","status":"fail","points":0,"maxPoints":3,"finding":"No third party access rules were found in the documents read.","evidence":[],"why":"Published rules tell customers and developers what is allowed. That keeps agents on approved paths.","fix":"Publish a third party access policy that names the approved interfaces and the consent model.","test":"web","gain":2.9},{"id":"ai_position","door":"policy","title":"Published position on AI agents","status":"partial","points":1,"maxPoints":3,"finding":"AI is mentioned in published documents, but not agents that act for customers.","evidence":[{"label":"Excerpt","value":"…to distribute malware, facilitate phishing, or otherwise constitutes technical abuse. 8. Artificial Intelligence RestrictionYou may not use automated bots to access, scan, scrape, data mine, copy, or use the materials or…","url":"https://www.cloudflare.com/policies/terms/"}],"why":"A public position tells customers whether an agent acting for them is welcome, and under what conditions.","fix":"Publish a page that states how customer agents are handled and where to connect them.","test":"web","gain":2.2}],"homeAgentFetch":{"status":200,"ms":179,"bytes":601756,"blocked":false,"thin":false},"login":{"url":"https://dash.cloudflare.com/login","source":"link on home page","validated":true,"candidates":[{"url":"https://dash.cloudflare.com/login","source":"link on home page"},{"url":"https://www.cloudflare.com/login","source":"common path"},{"url":"https://www.cloudflare.com/signin","source":"common path"},{"url":"https://www.cloudflare.com/sign-in","source":"common path"},{"url":"https://www.cloudflare.com/online-banking/login","source":"common path"},{"url":"https://www.cloudflare.com/auth/login","source":"common path"}],"menu":{"clicked":false,"label":"Login","navigatedTo":null,"linkCount":0,"hasPasswordField":false},"shots":{"agent":"/data/shots/pages_dev_login_agent.jpg","browser":"/data/shots/pages_dev_login_browser.jpg","home":"/data/shots/pages_dev_home.jpg","menu":null},"agent":{"finalUrl":"https://dash.cloudflare.com/login","status":200,"title":"Cloudflare Dashboard | Manage Your Account","ms":4647,"blocked":false,"blockReason":null,"thin":false,"uaLabel":"declared agent","error":null,"vendors":[{"name":"Cloudflare","evidence":["cookie __cf_bm","cookie cf_clearance","host challenges.cloudflare.com","host brunhild.challenges.cloudflare.com"]}],"textPreview":"English Sign up Sign in to Cloudflare Google Apple GitHub Continue with SSO OR This account uses single sign-on (SSO). Email Password Save email and login method on this device Sign in Don't have an account? Sign up Forgot your email or password? By continuing"},"browser":{"finalUrl":"https://dash.cloudflare.com/login","status":200,"title":"Cloudflare Dashboard | Manage Your Account","ms":8008,"blocked":false,"blockReason":null,"thin":false,"uaLabel":"browser","error":null,"vendors":[{"name":"Cloudflare","evidence":["cookie __cf_bm","cookie cf_clearance","host challenges.cloudflare.com","host brunhild.challenges.cloudflare.com"]}],"textPreview":"English Sign up Sign in to Cloudflare Google Apple GitHub Continue with SSO OR This account uses single sign-on (SSO). Email Password Save email and login method on this device Sign in Don't have an account? Sign up Forgot your email or password? By continuing"},"botDefense":[{"name":"Cloudflare","evidence":["cookie __cf_bm","cookie cf_clearance","host challenges.cloudflare.com","host brunhild.challenges.cloudflare.com"]}],"passkeys":{"found":false,"runtimeObserved":false,"evidence":[]},"fields":[{"type":"email","label":"Email","autocomplete":"email","name":"email"},{"type":"password","label":"Password","autocomplete":"current-password","name":"password"},{"type":"checkbox","label":"Save email and login method on this device","autocomplete":"","name":""}]},"protocols":{"mcp":{"cards":[{"url":"https://www.cloudflare.com/.well-known/mcp/server-card.json","name":"cloudflare","endpoint":"https://docs.mcp.cloudflare.com/mcp","servers":null},{"url":"https://cloudflare.com/.well-known/mcp/server-card.json","name":"cloudflare","endpoint":"https://docs.mcp.cloudflare.com/mcp","servers":null},{"url":"https://developer.cloudflare.com/.well-known/mcp/server-card.json","name":"com.cloudflare/mcp","endpoint":"https://mcp.cloudflare.com/mcp","servers":null},{"url":"https://developers.cloudflare.com/.well-known/mcp/server-card.json","name":"com.cloudflare/mcp","endpoint":"https://mcp.cloudflare.com/mcp","servers":null}],"endpoints":[{"url":"https://mcp.cloudflare.com/mcp","getStatus":401,"contentType":null,"confirmed":true,"authRequired":true,"challenge":{"raw":"Bearer realm=\"OAuth\", resource_metadata=\"https://mcp.cloudflare.com/.well-known/oauth-protected-resource/mcp\", scope=\"user:read account:read\"","resourceMetadata":"https://mcp.cloudflare.com/.well-known/oauth-protected-resource/mcp","scheme":"bearer"},"resourceMetadata":"https://mcp.cloudflare.com/.well-known/oauth-protected-resource/mcp","resource":{"url":"https://mcp.cloudflare.com/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.cloudflare.com/mcp","authorizationServers":["https://mcp.cloudflare.com"],"scopes":["user:read","account:read"],"bearerMethods":["header"]},"tools":null}],"resources":[{"url":"https://mcp.cloudflare.com/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.cloudflare.com/mcp","authorizationServers":["https://mcp.cloudflare.com"],"scopes":["user:read","account:read"],"bearerMethods":["header"]}],"registry":{"checked":true,"matches":[{"name":"com.cloudflare.mcp/mcp","description":"Cloudflare MCP servers","version":"1.0.0","remotes":["https://docs.mcp.cloudflare.com/mcp","https://observability.mcp.cloudflare.com/mcp","https://bindings.mcp.cloudflare.com/mcp","https://builds.mcp.cloudflare.com/mcp","https://radar.mcp.cloudflare.com/mcp","https://containers.mcp.cloudflare.com/mcp","https://browser.mcp.cloudflare.com/mcp","https://logs.mcp.cloudflare.com/mcp","https://ai-gateway.mcp.cloudflare.com/mcp","https://autorag.mcp.cloudflare.com/mcp","https://auditlogs.mcp.cloudflare.com/mcp","https://dns-analytics.mcp.cloudflare.com/mcp","https://dex.mcp.cloudflare.com/mcp","https://casb.mcp.cloudflare.com/mcp","https://graphql.mcp.cloudflare.com/mcp","https://docs.mcp.cloudflare.com/sse","https://observability.mcp.cloudflare.com/sse","https://bindings.mcp.cloudflare.com/sse","https://builds.mcp.cloudflare.com/sse","https://radar.mcp.cloudflare.com/sse","https://containers.mcp.cloudflare.com/sse","https://browser.mcp.cloudflare.com/sse","https://logs.mcp.cloudflare.com/sse","https://ai-gateway.mcp.cloudflare.com/sse","https://autorag.mcp.cloudflare.com/sse","https://auditlogs.mcp.cloudflare.com/sse","https://dns-analytics.mcp.cloudflare.com/sse","https://dex.mcp.cloudflare.com/sse","https://casb.mcp.cloudflare.com/sse","https://graphql.mcp.cloudflare.com/sse"],"verified":true}]},"mentions":[{"url":"https://www.cloudflare.com/solutions/ai-security/","snippet":"network trusted by 80% of top GenAI companies, Cloudflare brings model traffic, MCP servers, AI apps, and data controls into one platform designed to work together from the start — and run everywhere in"},{"url":"https://developers.cloudflare.com/","snippet":"rve /sseProduct-specific Cloudflare MCP servers now serve only /mcp. Update any MCP client still configured with an /sse URL.Read moreOct 22AgentsAgents SDK now supports the latest Pi 1.4 releaseAgents S"},{"url":"https://developers.cloudflare.com/","snippet":"rve /sseProduct-specific Cloudflare MCP servers now serve only /mcp. Update any MCP client still configured with an /sse URL.Read moreOct 22AgentsAgents SDK now supports the latest Pi 1.4 releaseAgents S"},{"url":"https://developers.cloudflare.com","snippet":"rve /sseProduct-specific Cloudflare MCP servers now serve only /mcp. Update any MCP client still configured with an /sse URL.Read moreOct 22AgentsAgents SDK now supports the latest Pi 1.4 releaseAgents S"}],"found":true,"live":true,"protectedByOAuth":true,"registryListed":true,"checkedBases":5},"a2a":{"found":true,"url":"https://www.cloudflare.com/.well-known/agent.json","name":"Cloudflare Site Agent","skills":2,"protocolVersion":null},"aiPlugin":{"found":false},"agentsJson":{"found":true,"url":"https://www.cloudflare.com/.well-known/agents.json"},"openapi":{"found":true,"url":"https://www.cloudflare.com/openapi.json","version":"3.1.0","title":"Cloudflare Public Site API","paths":4},"poppy":{"found":false,"blocked":false,"unreachable":false,"tried":[{"host":"www.cloudflare.com","status":404},{"host":"cloudflare.com","status":404}],"url":"https://www.cloudflare.com/.well-known/poppy.json"},"llms":{"llmsTxt":{"found":true,"status":200,"url":"https://www.cloudflare.com/llms.txt","bytes":17173,"links":90,"preview":"# Cloudflare > Cloudflare is a global cloud connectivity company operating in 335+ cities worldwide. It provides a unified platform spanning developer infrastructure (serverless compute, databases, AI inference, and sto…"},"llmsFull":{"found":true,"status":200,"url":"https://www.cloudflare.com/llms-full.txt","bytes":169547,"links":710,"preview":"# Cloudflare - Full Documentation > This is the expanded llms.txt for Cloudflare, containing full content from all pages for AI/LLM consumption with larger context windows. --- ## Home Page --- title: \"Cloudflare - Glob…"}},"robots":{"found":true,"status":200,"url":"https://www.cloudflare.com/robots.txt","bytes":1099,"sitemaps":["https://www.cloudflare.com/sitemap.xml"],"managedAI":true,"agents":[{"agent":"ChatGPT-User","vendor":"OpenAI","kind":"assistant","allowed":true,"rule":"explicitly allowed","via":"ChatGPT-User"},{"agent":"Claude-User","vendor":"Anthropic","kind":"assistant","allowed":true,"rule":"default group","via":"*"},{"agent":"Perplexity-User","vendor":"Perplexity","kind":"assistant","allowed":true,"rule":"default group","via":"*"},{"agent":"Gemini-Deep-Research","vendor":"Google","kind":"assistant","allowed":true,"rule":"default group","via":"*"},{"agent":"GPTBot","vendor":"OpenAI","kind":"crawler","allowed":true,"rule":"explicitly allowed","via":"GPTBot"},{"agent":"ClaudeBot","vendor":"Anthropic","kind":"crawler","allowed":true,"rule":"default group","via":"*"},{"agent":"OAI-SearchBot","vendor":"OpenAI","kind":"search","allowed":true,"rule":"default group","via":"*"},{"agent":"PerplexityBot","vendor":"Perplexity","kind":"search","allowed":true,"rule":"explicitly allowed","via":"PerplexityBot"},{"agent":"Google-Extended","vendor":"Google","kind":"crawler","allowed":true,"rule":"explicitly allowed","via":"Google-Extended"},{"agent":"Applebot-Extended","vendor":"Apple","kind":"crawler","allowed":true,"rule":"default group","via":"*"},{"agent":"CCBot","vendor":"Common Crawl","kind":"crawler","allowed":true,"rule":"explicitly allowed","via":"CCBot"},{"agent":"Bytespider","vendor":"ByteDance","kind":"crawler","allowed":true,"rule":"default group","via":"*"}],"assistantsBlocked":[],"assistantsAllowed":["ChatGPT-User","Claude-User","Perplexity-User","Gemini-Deep-Research"],"crawlersBlocked":[],"error":null},"sitemap":{"found":true,"url":"https://www.cloudflare.com/sitemap.xml","entries":407,"isIndex":false,"hasHelp":true,"hasRates":true,"hasProducts":true},"webmcp":{"found":false,"tools":[],"declarativeForms":0,"markupHint":false},"structuredData":["Organization","WebSite","WebPage"]},"identity":{"found":true,"servers":[{"issuer":"https://dash.cloudflare.com","url":"https://dash.cloudflare.com/.well-known/openid-configuration","host":"dash.cloudflare.com","s256":true,"pkceMethods":["plain","S256"],"dcr":false,"cimd":false,"par":false,"parRequired":false,"dpop":false,"mtls":false,"rar":false,"privateKeyJwt":true,"grantTypes":["authorization_code","implicit","client_credentials","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"scopes":["offline_access","offline","openid"],"acrValues":[],"deviceFlow":true,"tokenExchange":false,"clientCredentials":true,"fapiLike":false},{"issuer":"https://mcp.cloudflare.com","url":"https://mcp.cloudflare.com/.well-known/oauth-authorization-server","host":"mcp.cloudflare.com","s256":true,"pkceMethods":["S256"],"dcr":true,"cimd":true,"par":false,"parRequired":false,"dpop":false,"mtls":false,"rar":false,"privateKeyJwt":true,"grantTypes":["authorization_code","refresh_token"],"scopes":["offline_access","user:read","account:read","access-acct.read","access-acct.revoke","access-acct.write","access-app.read","access-app.revoke","access-app.write","access-audit-log.read","access-certificate.read","access-certificate.write","access-custom-page.read","access-custom-page.write","access-device-posture.read","access-device-posture.write","access-group.read","access-group.write","access-idp.read","access-idp.write","access-key.read","access-key.write","access-org.read","access-org.revoke"],"acrValues":[],"deviceFlow":false,"tokenExchange":false,"clientCredentials":false,"fapiLike":false}],"checkedHosts":20,"answeredHosts":11,"silentHosts":["brunhild.challenges.cloudflare.com","secure.cloudflare.com","login.cloudflare.com","sso.cloudflare.com","signin.cloudflare.com","online.cloudflare.com","accounts.cloudflare.com","digital.cloudflare.com","connect.cloudflare.com"]},"openBanking":{"pages":[{"url":"https://www.cloudflare.com/plans/","source":"site link","title":"Pricing","terms":[],"aggregators":[],"excerpt":"FreeFor personal or hobby projects that aren't business-critical.$0/monthGet startedProFor professional websites that aren't business-critical.$20/mo billed annually, or $25/mo billed monthlyGet star…"},{"url":"https://developers.cloudflare.com/","source":"site link","title":"Cloudflare Developer Docs | Cloudflare Docs","terms":["sandbox","apiReference"],"aggregators":[],"excerpt":"Skip to contentCloudflare Developer DocsExplore guides and tutorials to start building on Cloudflare's platform Get started Copy promptPrompt copied! Powerful primitives, seamlessly integrated Select…"},{"url":"https://developers.cloudflare.com/","source":"common subdomain","title":"Cloudflare Developer Docs | Cloudflare Docs","terms":["sandbox","apiReference"],"aggregators":[],"excerpt":"Skip to contentCloudflare Developer DocsExplore guides and tutorials to start building on Cloudflare's platform Get started Copy promptPrompt copied! Powerful primitives, seamlessly integrated Select…"},{"url":"https://developers.cloudflare.com","source":"common subdomain","title":"Cloudflare Developer Docs | Cloudflare Docs","terms":["sandbox","apiReference"],"aggregators":[],"excerpt":"Skip to contentCloudflare Developer DocsExplore guides and tutorials to start building on Cloudflare's platform Get started Copy promptPrompt copied! Powerful primitives, seamlessly integrated Select…"}],"portal":{"url":"https://developers.cloudflare.com/","title":"Cloudflare Developer Docs | Cloudflare Docs"},"fdx":false,"rule1033":false,"openBanking":false,"sandbox":true,"oauth":false,"dataAccessAgreement":false,"aggregators":[],"found":true},"policy":{"stance":"prohibits","documentsRead":3,"termsRead":1,"prohibits":[{"type":"prohibitsAutomation","label":"Restricts automated access","excerpt":"…or otherwise constitutes technical abuse. 8. Artificial Intelligence RestrictionYou may not use automated bots to access, scan, scrape, data mine, copy, or use the materials or content on this website for developing, training, fine-tuning, or…","url":"https://www.cloudflare.com/policies/terms/","title":"Terms of use"}],"delegation":[],"thirdParty":[],"dataSharing":[],"ai":[{"type":"ai","label":"Mentions AI or agents","excerpt":"…to distribute malware, facilitate phishing, or otherwise constitutes technical abuse. 8. Artificial Intelligence RestrictionYou may not use automated bots to access, scan, scrape, data mine, copy, or use the materials or…","url":"https://www.cloudflare.com/policies/terms/","title":"Terms of use"},{"type":"ai","label":"Mentions AI or agents","excerpt":"…the privacy of our customers’ data. Our platform is also the best place to deploy artificial intelligence (AI) agents at scale, enabled by our globally distributed, serverless infrastructure. What sets us apart is…","url":"https://www.cloudflare.com/trust-hub/responsible-ai/","title":"Responsible AI"}],"credentialSharing":[],"documents":[{"url":"https://www.cloudflare.com/policies/terms/","title":"Terms of use","status":200,"textLength":14984,"blockedForAgent":false,"flags":["Restricts automated access","Mentions AI or agents"]},{"url":"https://www.cloudflare.com/trust-hub/responsible-ai/","title":"Responsible AI","status":200,"textLength":13235,"blockedForAgent":false,"flags":["Mentions AI or agents"]},{"url":"https://www.cloudflare.com/solutions/ai-security/","title":"AI Security","status":200,"textLength":7325,"blockedForAgent":false,"flags":["Mentions AI or agents"]}]},"delegates":[],"voice":{"phone":{"e164":"+18003014062","pretty":"+1 800 301 4062","score":4,"context":"","source":"https://www.cloudflare.com/resource/contact-enterprise-sales/","tollFree":true,"seen":3,"kind":"unclassified"},"candidates":[{"e164":"+18003014062","pretty":"+1 800 301 4062","score":4,"context":"","source":"https://www.cloudflare.com/resource/contact-enterprise-sales/","tollFree":true,"seen":3,"kind":"unclassified"},{"e164":"+18000770774","pretty":"+1 800 077 0774","score":4,"context":"","source":"https://www.cloudflare.com/resource/contact-enterprise-sales/","tollFree":true,"seen":2,"kind":"unclassified"},{"e164":"+18000120099","pretty":"+1 800 012 0099","score":4,"context":"","source":"https://www.cloudflare.com/resource/contact-enterprise-sales/","tollFree":true,"seen":2,"kind":"unclassified"},{"e164":"+12267052945","pretty":"+1 226 705 2945","score":3,"context":"","source":"https://www.cloudflare.com/resource/contact-enterprise-sales/","tollFree":false,"seen":3,"kind":"unclassified"},{"e164":"+18499368072","pretty":"+1 849 936 8072","score":3,"context":"","source":"https://www.cloudflare.com/resource/contact-enterprise-sales/","tollFree":false,"seen":3,"kind":"unclassified"},{"e164":"+15078392268","pretty":"+1 507 839 2268","score":3,"context":"","source":"https://www.cloudflare.com/resource/contact-enterprise-sales/","tollFree":false,"seen":2,"kind":"unclassified"},{"e164":"+15117019264","pretty":"+1 511 701 9264","score":3,"context":"","source":"https://www.cloudflare.com/resource/contact-enterprise-sales/","tollFree":false,"seen":2,"kind":"unclassified"},{"e164":"+14000280226","pretty":"+1 400 028 0226","score":3,"context":"","source":"https://www.cloudflare.com/resource/contact-enterprise-sales/","tollFree":false,"seen":2,"kind":"unclassified"}],"status":"not_run","calls":[],"aggregate":null,"startedAt":null,"finishedAt":null,"progress":null,"note":null},"timeline":[{"step":"identify","label":"Identify the organization and load the home page","ms":13896,"ok":true},{"step":"robots","label":"Read robots rules for agents, llms.txt and sitemaps","ms":1051,"ok":true},{"step":"cards","label":"Look for agent cards, Poppy files, OpenAPI documents and browser tools","ms":998,"ok":true},{"step":"links","label":"Map sign in, terms, help and developer pages","ms":0,"ok":true},{"step":"login_agent","label":"Load the sign in page as a declared agent","ms":10463,"ok":true},{"step":"login_browser","label":"Load the sign in page as a standard browser","ms":17640,"ok":true},{"step":"openbanking","label":"Check developer portals and data sharing programs","ms":3144,"ok":true},{"step":"policy","label":"Read terms for automated access and delegation","ms":13922,"ok":true},{"step":"mcp","label":"Probe for MCP servers and check the official registry","ms":6196,"ok":true},{"step":"identity","label":"Discover OAuth and OpenID metadata","ms":4450,"ok":true},{"step":"phones","label":"Find published customer service phone numbers","ms":888,"ok":true}],"previous":null,"brand":{"src":"/data/logos/pages_dev.png?v=a12e89b6","kind":"icon","invert":false,"tile":false,"w":160,"h":81,"source":"simple icons","from":"data:image/svg+xml;utf8,%3Csvg%20width%3D%22512%22%20height%3D%22512%22%20fill%3D%22%23F38020%22%20role%3D%22img%22%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16.5088%2016.8447c.1475-.5068.0908-.9707-.1553-1.3154-.2246-.3164-.6045-.499-1.0615-.5205l-8.6592-.1123a.1559.1559%200%200%201-.1333-.0713c-.0283-.042-.0351-.0986-.021-.1553.0278-.084.1123-.1484.2036-.1562l8.7359-.1123c1.0351-.0489%202.1601-.8868%202.5537-1.9136l.499-1.3013c.0215-.0561.0293-.1128.0147-.168-.5625-2.5463-2.835-4.4453-5.5499-4.4453-2.5039%200-4.6284%201.6177-5.3876%203.8614-.4927-.3658-1.1187-.5625-1.794-.499-1.2026.119-2.1665%201.083-2.2861%202.2856-.0283.31-.0069.6128.0635.894C1.5683%2013.171%200%2014.7754%200%2016.752c0%20.1748.0142.3515.0352.5273.0141.083.0844.1475.1689.1475h15.9814c.0909%200%20.1758-.0645.2032-.1553l.12-.4268zm2.7568-5.5634c-.0771%200-.1611%200-.2383.0112-.0566%200-.1054.0415-.127.0976l-.3378%201.1744c-.1475.5068-.0918.9707.1543%201.3164.2256.3164.6055.498%201.0625.5195l1.8437.1133c.0557%200%20.1055.0263.1329.0703.0283.043.0351.1074.0214.1562-.0283.084-.1132.1485-.204.1553l-1.921.1123c-1.041.0488-2.1582.8867-2.5527%201.914l-.1406.3585c-.0283.0713.0215.1416.0986.1416h6.5977c.0771%200%20.1474-.0489.169-.126.1122-.4082.1757-.837.1757-1.2803%200-2.6025-2.125-4.727-4.7344-4.727%22%2F%3E%3C%2Fsvg%3E","crisp":true,"v":2},"summary":{"score":77,"composite":68.8,"gates":[],"measuredWeight":92,"provisional":true,"calibration":3,"level":{"id":3,"name":"Connectable","summary":"An agent can connect through an MCP server or a public API program.","nextLevel":{"id":4,"name":"Trusted","need":"Let customers authorize agents: OAuth with PKCE, a registration path and documented delegate controls."}},"doors":[{"id":"discover","name":"Discoverability","weight":22,"measured":true,"score":95,"raw":77,"points":20.8},{"id":"connect","name":"Protocol access","weight":14,"measured":true,"score":94,"raw":75,"points":13.1},{"id":"identity","name":"Identity and delegation","weight":12,"measured":true,"score":70,"raw":45,"points":8.4},{"id":"web","name":"Web experience","weight":20,"measured":true,"score":100,"raw":93,"points":19.9},{"id":"voice","name":"Voice and IVR","weight":8,"measured":false,"score":null,"points":0,"completed":0,"total":6},{"id":"policy","name":"Policy and governance","weight":6,"measured":true,"score":19,"raw":10,"points":1.1},{"id":"marketing","name":"Marketing readiness","weight":18,"measured":true,"score":0,"raw":0,"points":0}],"strengths":["MCP server","OAuth and OpenID metadata","Robots policy for user triggered agents"],"gaps":[{"id":"product_catalog","title":"Product or service catalog with images","lost":17.1},{"id":"terms_stance","title":"Terms on automated access","lost":3.8},{"id":"third_party_rules","title":"Third party access and data sharing rules","lost":2.9},{"id":"passkeys","title":"Passkeys at sign in","lost":2.3}],"gainAll":23,"headline":"Pages reaches level 3, Connectable. Web experience is the strongest area at 100 out of 100. Marketing readiness is the weakest at 0."},"assistantDay":[{"id":"balance","job":"Check my account","outcome":"works","steps":[{"status":"ok","text":"MCP server: the agent connects and the customer approves access with OAuth."},{"status":"partial","text":"Website: the agent reaches the sign in page, and the terms restrict automated access.","detail":"The terms restrict automated access and name no exception for authorized agents."},{"status":"untested","text":"Phone line: not tested yet."}]},{"id":"rates","job":"Find an answer","outcome":"works","steps":[{"status":"ok","text":"Website: public pages are readable by agents without signing in."},{"status":"untested","text":"Phone line: not tested yet."}]},{"id":"human","job":"Get me to a person","outcome":"untested","steps":[{"status":"untested","text":"Phone line: not tested yet."}]}],"history":[{"at":"2026-10-23T19:34:11.951Z","score":77,"level":3,"levelName":"Connectable","cal":3,"doors":{"discover":95,"connect":94,"identity":70,"web":100,"policy":19,"marketing":0},"pts":{"product_catalog":0,"robots_assistants":4,"llms_txt":3,"structured_data":1,"server_rendered":1.5,"sitemap_content":2,"mcp_server":8,"a2a_agent_card":2,"openapi_docs":3,"open_banking":2,"webmcp_tools":0,"poppy_discovery":0,"oauth_metadata":5,"pkce_registration":4,"passkeys":0,"high_assurance":0,"delegate_access":0,"declared_agent_homepage":3,"signin_reachable":4,"agent_browser_parity":2,"form_semantics":4,"semantic_markup":1,"terms_stance":0,"third_party_rules":0,"ai_position":1}}],"market":{"source":"ChatGPT","model":"gpt-4.1-mini","askedAt":"2026-11-08T04:07:19.621Z","answer":"Pages (pages.dev) offers a platform to create, host, and share fast, secure, and customizable websites easily, ideal for developers and creators.","products":["Static site hosting","Custom domain support","SSL certificates","Continuous deployment","Developer-friendly tools","Website templates"],"lines":[{"name":"Static site hosting","named":true},{"name":"Custom domain support","named":true},{"name":"SSL certificates","named":true},{"name":"Continuous deployment","named":true},{"name":"Developer-friendly tools","named":true},{"name":"Website templates","named":true},{"name":"Zero Trust security","named":false},{"name":"Global CDN and network","named":false},{"name":"Cloud compute and storage","named":false}],"estimate":{"value":5000000,"unit":"usd","metric":"new business a year","basis":"Pages.dev is a developer platform likely part of Cloudflare's ecosystem; given Cloudflare's scale and Pages being a newer product, estimated annual revenue from Pages is around $5M based on typical SaaS pricing and adoption rates for develo"}},"businessPending":true}