{"id":"docker_com","version":"1.0","url":"https://www.docker.com","host":"docker.com","name":"Docker","category":"software","catalog":{"structured":{"products":0,"withImage":0,"withOffer":0,"withPrice":0,"dated":0},"catalog":null,"feed":{"url":"/post-sitemap1.xml","items":0,"withImage":484,"withPrice":0},"verdict":"feed","prices":null,"promo":null},"revenuePath":{"task":"Book a demo","industry":"software","cta":{"text":"Contact sales","url":"https://www.docker.com/pricing/contact-sales/"},"steps":[{"id":"find","status":"pass","detail":"“Contact sales” is a link on the home page, readable without scripts."},{"id":"open","status":"pass","detail":"The page loads for an agent."},{"id":"fill","status":"partial","detail":"18 fields, 2 without a label an agent can read."},{"id":"finish","status":"fail","detail":"A bot check blocks agents before the result."}]},"market":{"source":"ChatGPT","model":"gpt-4.1-mini","version":2,"search":true,"askedAt":"2026-11-13T00:25:06.400Z","answer":"Docker provides tools and services to build, share, and run applications in containers, enhancing development efficiency and deployment consistency.","products":["Docker Desktop","Docker Hub","Docker Build Cloud","Docker Scout","Docker Hardened Images","Docker Sandboxes","AI Governance","MCP Enterprise Gateway"],"lines":[{"name":"Docker Desktop","named":true},{"name":"Docker Hub","named":true},{"name":"Docker Sandboxes","named":true},{"name":"Docker AI Governance","named":true},{"name":"Docker Hardened Images","named":true},{"name":"Docker Build Cloud","named":false},{"name":"Docker Scout","named":false},{"name":"MCP Enterprise Gateway","named":false}],"estimate":{"value":150000000,"unit":"usd","metric":"new pipeline a year","basis":"Docker is a major player in container software with over 20 million developers and 91% of Fortune 100 using it; estimated annual new sales pipeline is around $150M based on market presence and typical SaaS enterprise contracts."}},"generatedAt":"2026-11-13T00:25:06.607Z","durationMs":64966,"checks":[{"id":"product_catalog","door":"marketing","title":"Product or service catalog with images","status":"pass","points":3,"maxPoints":3,"finding":"A catalog with images is published (/post-sitemap1.xml).","evidence":[{"label":"Items with images","value":"484","url":"/post-sitemap1.xml"}],"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"},{"id":"prices_readable","door":"marketing","title":"Prices and rates an agent can read","status":"fail","points":0,"maxPoints":4,"finding":"No price or rate an agent can read was found on the home page or in structured data.","evidence":[],"why":"An agent compares on price. A price, a plan or a rate it can read and quote puts the company in the comparison; one it has to guess leaves it out.","fix":"Add Offer markup with the price (or the rate, for loans and accounts) to product pages, and show the price or rate in the page text, not only in images or after scripts run.","test":"web","gain":4.2},{"id":"offers_readable","door":"marketing","title":"Current offers and promotions an agent can read","status":"fail","points":0,"maxPoints":3,"finding":"No current offer or promotion an agent can read was found on the home page or in structured data.","evidence":[],"why":"Promotions win customers only when the agent knows about them. An offer with its terms and dates can be quoted to a customer who is choosing right now.","fix":"List current offers on one page linked from the home page, and add Offer markup with the terms and the dates each one is valid.","test":"web","gain":3.3},{"id":"revenue_path","door":"marketing","title":"An agent can start becoming a customer","status":"partial","points":3,"maxPoints":5,"finding":"Book a demo: 18 fields, 2 without a label an agent can read.","evidence":[{"label":"Find the link","value":"Passed. “Contact sales” is a link on the home page, readable without scripts.","url":"https://www.docker.com/pricing/contact-sales/"},{"label":"Open the page","value":"Passed. The page loads for an agent."},{"label":"Fill the form","value":"Partly. 18 fields, 2 without a label an agent can read."},{"label":"Reach the result","value":"Failed. A bot check blocks agents before the result."}],"why":"The task that makes money (a quote, a new account, a demo) is where an agent either brings a customer in or gives up and tries a competitor.","fix":"Make the call to action a plain link on the home page, keep the form behind it on a page an agent can load, label every field, and keep bot checks off the first step.","test":"web","gain":2.3},{"id":"ai_names_products","door":"marketing","title":"ChatGPT names what you sell","status":"partial","points":2,"maxPoints":3,"finding":"ChatGPT names 5 of the 8 product lines on the home page.","evidence":[{"label":"ChatGPT says","value":"Docker provides tools and services to build, share, and run applications in containers, enhancing development efficiency and deployment consistency."},{"label":"Named","value":"Docker Desktop, Docker Hub, Docker Sandboxes, Docker AI Governance, Docker Hardened Images"},{"label":"Left out","value":"Docker Build Cloud, Docker Scout, MCP Enterprise Gateway"}],"why":"Customers ask ChatGPT what a company offers before they visit. A product the answer leaves out is a product the customer never hears about.","fix":"Describe every product line in plain text on its own page, list them in llms.txt and in structured data, and keep names consistent across the site.","test":"web","gain":1.3},{"id":"robots_assistants","door":"discover","title":"Robots policy for user triggered agents","status":"partial","points":2,"maxPoints":4,"finding":"Some user triggered agents are restricted in robots.txt.","evidence":[{"label":"ChatGPT User","value":"partly restricted","url":"https://www.docker.com/robots.txt"},{"label":"Claude User","value":"partly restricted","url":"https://www.docker.com/robots.txt"},{"label":"Perplexity User","value":"partly restricted","url":"https://www.docker.com/robots.txt"},{"label":"Gemini Deep Research","value":"partly restricted","url":"https://www.docker.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","gain":3.1},{"id":"llms_txt","door":"discover","title":"llms.txt guide for agents","status":"fail","points":0,"maxPoints":3,"finding":"No llms.txt file was found at the site root.","evidence":[{"label":"Checked","value":"/llms.txt and /llms-full.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","gain":4.4},{"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":"Corporation"},{"label":"Type","value":"WebSite"},{"label":"Type","value":"WebPage"},{"label":"Type","value":"VideoObject"}],"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":3.1},{"id":"server_rendered","door":"discover","title":"Content available without running scripts","status":"pass","points":3,"maxPoints":3,"finding":"Most of the visible text is in the first HTML response.","evidence":[{"label":"Text in first response","value":"6629 characters"},{"label":"Text after scripts","value":"5063 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"},{"id":"sitemap_content","door":"discover","title":"Sitemap that includes help and pricing pages","status":"partial","points":1,"maxPoints":2,"finding":"Sitemap is published with 15 entries, but help and pricing pages are not visible in it.","evidence":[{"label":"Sitemap","value":"https://www.docker.com/sitemap_index.xml","url":"https://www.docker.com/sitemap_index.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","gain":1.6},{"id":"mcp_server","door":"connect","title":"MCP server","status":"partial","points":2,"maxPoints":8,"finding":"Public documentation mentions MCP, but no server or card was found.","evidence":[{"label":"Mention","value":") usage and telemetry data — sandbox lifecycle events (such as start and stop), MCP Gateway tool calls, and correlations between sandboxes and tool calls; (iv) credentials you choose to store — API keys","url":"https://www.docker.com/legal/privacy/"}],"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","gain":7.3},{"id":"a2a_agent_card","door":"connect","title":"Agent card for agent to agent calls","status":"fail","points":0,"maxPoints":2,"finding":"No agent card was found.","evidence":[],"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","gain":2.7},{"id":"openapi_docs","door":"connect","title":"Public API documentation","status":"fail","points":0,"maxPoints":3,"finding":"No public API documentation was found.","evidence":[],"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","gain":3.9},{"id":"open_banking","door":"connect","title":"Developer and data sharing program","status":"fail","points":0,"maxPoints":4,"finding":"No developer portal or data sharing program was found on public pages.","evidence":[],"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":5.1},{"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":3.9},{"id":"poppy_discovery","door":"connect","title":"Poppy file for personal agents","status":"unknown","points":0,"maxPoints":0,"bonus":0,"bonusMax":3,"finding":"The site refused the scanner at the Poppy address, so the file could not be checked.","evidence":[{"label":"Address checked","value":"https://www.docker.com/.well-known/poppy.json","url":"https://www.docker.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 login.docker.com.","evidence":[{"label":"Issuer","value":"https://login.docker.com/","url":"https://login.docker.com/.well-known/openid-configuration"},{"label":"Grant types","value":"client_credentials, authorization_code, refresh_token, password, implicit"},{"label":"Scopes listed","value":"14"}],"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":"not listed"},{"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":1.4},{"id":"high_assurance","door":"identity","title":"High assurance authorization profile","status":"partial","points":2,"maxPoints":3,"finding":"Some high assurance features are advertised.","evidence":[{"label":"PAR","value":"no"},{"label":"DPoP","value":"yes"},{"label":"Mutual TLS","value":"no"},{"label":"Rich authorization requests","value":"no"}],"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":0.4},{"id":"delegate_access","door":"identity","title":"Documented delegate and data sharing controls","status":"partial","points":2,"maxPoints":4,"finding":"Delegate access is described, with no connected apps or revocation page found.","evidence":[{"label":"Delegate access","value":"…not constitute a waiver of such right or provision. Any waiver must be in writing and signed by an authorized representative of Docker to be effective. No Third-Party Beneficiaries. These Terms are for the sole benefit of Docker and you. There…","url":"https://www.docker.com/legal/docker-terms-use/"}],"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":1},{"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":"67 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 5957 ms"},{"label":"Standard browser","value":"loaded in 5787 ms"},{"label":"Page","value":"https://login.docker.com/u/login/identifier?state=hKFo2SBValZMMW1iQjRJVXhiaktpcEVqbnBJSFRSRW9FNDc1d6Fur3VuaXZlcnNhbC1sb2dpbqN0aWTZIGk5Vnd2X05mQ1hjY0FsS1dRWllmYXAxMlo2XzlxUEpVo2NpZNkgRmkyQ0VleDZtMzhkS1lxdnZaWVljSms5SUN0cGc3ZzQ","url":"https://login.docker.com/u/login/identifier?state=hKFo2SBValZMMW1iQjRJVXhiaktpcEVqbnBJSFRSRW9FNDc1d6Fur3VuaXZlcnNhbC1sb2dpbqN0aWTZIGk5Vnd2X05mQ1hjY0FsS1dRWllmYXAxMlo2XzlxUEpVo2NpZNkgRmkyQ0VleDZtMzhkS1lxdnZaWVljSms5SUN0cGc3ZzQ"}],"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":"fail","points":1,"maxPoints":4,"finding":"25 percent of 4 fields have labels and 25 percent set autocomplete hints.","evidence":[{"label":"text field","value":"Username or email address *; autocomplete: email"},{"label":"textarea field","value":"no label; autocomplete: none"},{"label":"textarea field","value":"no label; autocomplete: none"},{"label":"password field","value":"no label; autocomplete: off"}],"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","gain":1.5},{"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":"4"},{"label":"Headings","value":"25"},{"label":"Named controls","value":"72 percent"},{"label":"Images with alt text","value":"80 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.6},{"id":"terms_stance","door":"policy","title":"Terms on automated access","status":"pass","points":4,"maxPoints":4,"finding":"The terms address delegates and do not restrict automated access.","evidence":[{"label":"Terms excerpt","value":"…a waiver of such right or provision. Any waiver must be in writing and signed by an authorized representative of Docker to be effective. No Third-Party Beneficiaries. These Terms are for the sole benefit of Docker and…","url":"https://www.docker.com/legal/docker-terms-use/"}],"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"},{"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":0.5},{"id":"ai_position","door":"policy","title":"Published position on AI agents","status":"pass","points":3,"maxPoints":3,"finding":"Published documents describe AI agents.","evidence":[{"label":"Excerpt","value":"…store such information consistent with this Privacy Policy. Docker AI Services (Docker Agentic Platform, Cloud Sandboxes, and MCP Gateway). When you use Docker’s self-service AI services, Docker collects…","url":"https://www.docker.com/legal/privacy/"}],"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"}],"homeAgentFetch":{"status":200,"ms":67,"bytes":505474,"blocked":false,"thin":false},"login":{"url":"https://www.docker.com/","source":"sign in panel on the home page","validated":true,"candidates":[{"url":"https://www.docker.com/","source":"sign in panel on the home page","inline":true},{"url":"https://app.docker.com/login","source":"link on home page"},{"url":"https://app.docker.com/sso/login","source":"menu item \"Continue with SSO\""},{"url":"https://www.hcaptcha.com/what-is-hcaptcha-about?ref=login.docker.com&utm_campaign=ffb2228e-db12-46d4-b4f2-1894787e79b4&utm_medium=challenge&hl=en","source":"menu item \"\""},{"url":"https://www.hcaptcha.com/what-is-hcaptcha-about?ref=login.docker.com&utm_campaign=ffb2228e-db12-46d4-b4f2-1894787e79b4&utm_medium=checkbox&hl=en","source":"menu item \"hCaptcha logo, opens new windo\""},{"url":"https://login.docker.com/u/login/identifier?state=hKFo2SB3MjZHZVUzeGlQNHZjU00yRVEwRjhsbEV4V1FMSGFuMaFur3VuaXZlcnNhbC1sb2dpbqN0aWTZIGdVRkNqSW50aW9Ya2FNMmFoQzZLTmJ0ZjNtSGdmMm5Co2NpZNkgRmkyQ0VleDZtMzhkS1lxdnZaWVljSms5SUN0cGc3ZzQ","source":"after clicking the sign in control"}],"menu":{"clicked":true,"label":"Sign In","navigatedTo":"https://login.docker.com/u/login/identifier?state=hKFo2SB3MjZHZVUzeGlQNHZjU00yRVEwRjhsbEV4V1FMSGFuMaFur3VuaXZlcnNhbC1sb2dpbqN0aWTZIGdVRkNqSW50aW9Ya2FNMmFoQzZLTmJ0ZjNtSGdmMm5Co2NpZNkgRmkyQ0VleDZtMzhkS1lxdnZaWVljSms5SUN0cGc3ZzQ","linkCount":8,"hasPasswordField":true},"shots":{"agent":"/data/shots/docker_com_login_agent.jpg","browser":"/data/shots/docker_com_login_browser.jpg","home":"/data/shots/docker_com_home.jpg","menu":"/data/shots/docker_com_login_menu.jpg"},"agent":{"finalUrl":"https://login.docker.com/u/login/identifier?state=hKFo2SBValZMMW1iQjRJVXhiaktpcEVqbnBJSFRSRW9FNDc1d6Fur3VuaXZlcnNhbC1sb2dpbqN0aWTZIGk5Vnd2X05mQ1hjY0FsS1dRWllmYXAxMlo2XzlxUEpVo2NpZNkgRmkyQ0VleDZtMzhkS1lxdnZaWVljSms5SUN0cGc3ZzQ","status":200,"title":"Docker | Secure Sandboxes for AI Agents","ms":5957,"blocked":false,"blockReason":null,"thin":false,"uaLabel":"declared agent","error":null,"vendors":[{"name":"Cloudflare","evidence":["header cf-ray","header server"]},{"name":"hCaptcha","evidence":["host js.hcaptcha.com","host 87f5ed1312ff.w.hcaptcha.com","host newassets.hcaptcha.com","host 6a574fb19052.w.hcaptcha.com"]}],"textPreview":"Skip to content Get $250 in credits for Cloud Sandboxes. Claim credits ✕ Products Support Pricing $0 Get started $9 Buy now $15 Buy now $24 Buy now Contact sales Blog Docs Search Sign In Contact Sales Trust Docker for the Agents You Don’t Docker securely conta"},"browser":{"finalUrl":"https://login.docker.com/u/login/identifier?state=hKFo2SBrbWd1T0UwWHVaODdFZ2RkSVhKSE9EdWpOeDhLMndkaKFur3VuaXZlcnNhbC1sb2dpbqN0aWTZIGJ0NDAyQmxrb2J0cjdhbDZ5bDE2R18yZ0lNTVVfSklzo2NpZNkgRmkyQ0VleDZtMzhkS1lxdnZaWVljSms5SUN0cGc3ZzQ","status":200,"title":"Docker | Secure Sandboxes for AI Agents","ms":5787,"blocked":false,"blockReason":null,"thin":false,"uaLabel":"browser","error":null,"vendors":[{"name":"Cloudflare","evidence":["header cf-ray","header server"]},{"name":"hCaptcha","evidence":["host js.hcaptcha.com","host 6bd1149e8353.w.hcaptcha.com","host newassets.hcaptcha.com","host 88660b5df2e8.w.hcaptcha.com"]}],"textPreview":"Skip to content Get $250 in credits for Cloud Sandboxes. Claim credits ✕ Products Support Pricing $0 Get started $9 Buy now $15 Buy now $24 Buy now Contact sales Blog Docs Search Sign In Contact Sales Trust Docker for the Agents You Don’t Docker securely conta"},"botDefense":[{"name":"Cloudflare","evidence":["header cf-ray","header server"]},{"name":"hCaptcha","evidence":["host js.hcaptcha.com","host 87f5ed1312ff.w.hcaptcha.com","host newassets.hcaptcha.com","host 6a574fb19052.w.hcaptcha.com"]}],"passkeys":{"found":false,"runtimeObserved":false,"evidence":[]},"fields":[{"type":"text","label":"Username or email address *","autocomplete":"email","name":"username"},{"type":"textarea","label":"","autocomplete":"","name":"g-recaptcha-response"},{"type":"textarea","label":"","autocomplete":"","name":"h-captcha-response"},{"type":"password","label":"","autocomplete":"off","name":""}]},"protocols":{"mcp":{"cards":[],"endpoints":[],"resources":[],"registry":{"checked":true,"matches":[]},"mentions":[{"url":"https://www.docker.com/legal/privacy/","snippet":") usage and telemetry data — sandbox lifecycle events (such as start and stop), MCP Gateway tool calls, and correlations between sandboxes and tool calls; (iv) credentials you choose to store — API keys"}],"found":false,"live":false,"protectedByOAuth":false,"registryListed":false,"checkedBases":5},"a2a":{"found":false},"aiPlugin":{"found":false},"agentsJson":{"found":false},"openapi":{"found":false},"poppy":{"found":false,"blocked":true,"unreachable":false,"tried":[{"host":"www.docker.com","status":403},{"host":"docker.com","status":403}],"url":"https://www.docker.com/.well-known/poppy.json"},"llms":{"llmsTxt":{"found":false,"status":404,"url":"https://www.docker.com/llms.txt","bytes":206761,"links":0,"preview":null},"llmsFull":{"found":false,"status":404,"url":"https://www.docker.com/llms-full.txt","bytes":206770,"links":0,"preview":null}},"robots":{"found":true,"status":200,"url":"https://www.docker.com/robots.txt","bytes":1055,"sitemaps":["https://www.docker.com/sitemap_index.xml","https://www.docker.com/ja-jp/sitemap_index.xml"],"managedAI":false,"agents":[{"agent":"ChatGPT-User","vendor":"OpenAI","kind":"assistant","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"Claude-User","vendor":"Anthropic","kind":"assistant","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"Perplexity-User","vendor":"Perplexity","kind":"assistant","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"Gemini-Deep-Research","vendor":"Google","kind":"assistant","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"GPTBot","vendor":"OpenAI","kind":"crawler","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"ClaudeBot","vendor":"Anthropic","kind":"crawler","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"OAI-SearchBot","vendor":"OpenAI","kind":"search","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"PerplexityBot","vendor":"Perplexity","kind":"search","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"Google-Extended","vendor":"Google","kind":"crawler","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"Applebot-Extended","vendor":"Apple","kind":"crawler","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"CCBot","vendor":"Common Crawl","kind":"crawler","allowed":"partial","rule":"24 disallowed paths","via":"*"},{"agent":"Bytespider","vendor":"ByteDance","kind":"crawler","allowed":"partial","rule":"24 disallowed paths","via":"*"}],"assistantsBlocked":[],"assistantsAllowed":[],"crawlersBlocked":[],"error":null},"sitemap":{"found":true,"url":"https://www.docker.com/sitemap_index.xml","entries":15,"isIndex":true,"hasHelp":false,"hasRates":false,"hasProducts":false},"webmcp":{"found":false,"tools":[],"declarativeForms":0,"markupHint":false},"structuredData":["Corporation","WebSite","WebPage","VideoObject"]},"identity":{"found":true,"servers":[{"issuer":"https://login.docker.com/","url":"https://login.docker.com/.well-known/openid-configuration","host":"login.docker.com","s256":true,"pkceMethods":["S256","plain"],"dcr":false,"cimd":true,"par":false,"parRequired":false,"dpop":true,"mtls":false,"rar":false,"privateKeyJwt":true,"grantTypes":["client_credentials","authorization_code","refresh_token","password","implicit","urn:ietf:params:oauth:grant-type:device_code","urn:ietf:params:oauth:grant-type:token-exchange","http://auth0.com/oauth/grant-type/password-realm","http://auth0.com/oauth/grant-type/passwordless/otp","http://auth0.com/oauth/grant-type/mfa-oob","http://auth0.com/oauth/grant-type/mfa-otp","http://auth0.com/oauth/grant-type/mfa-recovery-code","urn:ietf:params:oauth:grant-type:jwt-bearer"],"scopes":["openid","profile","offline_access","name","given_name","family_name","nickname","email","email_verified","picture","created_at","identities","phone","address"],"acrValues":[],"deviceFlow":true,"tokenExchange":true,"clientCredentials":true,"fapiLike":false},{"issuer":"https://api.docker.com/","url":"https://api.docker.com/.well-known/openid-configuration","host":"api.docker.com","s256":false,"pkceMethods":[],"dcr":false,"cimd":false,"par":false,"parRequired":false,"dpop":false,"mtls":false,"rar":false,"privateKeyJwt":false,"grantTypes":[],"scopes":[],"acrValues":[],"deviceFlow":false,"tokenExchange":false,"clientCredentials":false,"fapiLike":false}],"checkedHosts":16,"answeredHosts":9,"silentHosts":["secure.docker.com","sso.docker.com","signin.docker.com","online.docker.com","accounts.docker.com","developer.docker.com","digital.docker.com"]},"openBanking":{"pages":[{"url":"https://www.docker.com/developers/sdk/","source":"site link","title":"Docker Extensions SDK | Docker","terms":[],"aggregators":[],"excerpt":"Skip to content Build with the Docker Extensions SDK Create and share your own extensions In a world where there’s a tool for everything, integration and user experience are crucial to a frictionless…"},{"url":"https://www.docker.com/community/get-involved/developer-preview/","source":"site link","title":"Developer Preview | Docker","terms":[],"aggregators":[],"excerpt":"Skip to content Developer Preview Program Be Part of Developing the Future of Docker! Join the Developer Preview Program to see what Docker is building and make an impact on the future of Docker prod…"}],"portal":null,"fdx":false,"rule1033":false,"openBanking":false,"sandbox":false,"oauth":false,"dataAccessAgreement":false,"aggregators":[],"found":false},"policy":{"stance":"conditional","documentsRead":5,"termsRead":2,"prohibits":[],"delegation":[{"type":"delegation","label":"Addresses delegates or agents","excerpt":"…a waiver of such right or provision. Any waiver must be in writing and signed by an authorized representative of Docker to be effective. No Third-Party Beneficiaries. These Terms are for the sole benefit of Docker and…","url":"https://www.docker.com/legal/docker-terms-use/","title":"Terms of Use"}],"thirdParty":[],"dataSharing":[],"ai":[{"type":"ai","label":"Mentions AI or agents","excerpt":"…(including a Docker ID) that enables access to certain Services. “AI Features” means any artificial intelligence, machine learning, or generative AI capabilities made available by Docker as part of the Services, including…","url":"https://www.docker.com/legal/docker-terms-use/","title":"Terms of Use"},{"type":"ai","label":"Mentions AI or agents","excerpt":"…store such information consistent with this Privacy Policy. Docker AI Services (Docker Agentic Platform, Cloud Sandboxes, and MCP Gateway). When you use Docker’s self-service AI services, Docker collects…","url":"https://www.docker.com/legal/privacy/","title":"Privacy"}],"credentialSharing":[],"documents":[{"url":"https://www.docker.com/legal/trademark-guidelines/","title":"Trademark Guidelines","status":200,"textLength":11558,"blockedForAgent":false,"flags":[]},{"url":"https://www.docker.com/legal/docker-terms-use/","title":"Terms of Use","status":200,"textLength":34834,"blockedForAgent":false,"flags":["Addresses delegates or agents","Mentions AI or agents"]},{"url":"https://www.docker.com/legal/","title":"Legal","status":200,"textLength":651,"blockedForAgent":false,"flags":[]},{"url":"https://www.docker.com/solutions/security/","title":"Secure Software Supply Chain","status":200,"textLength":2483,"blockedForAgent":false,"flags":[]},{"url":"https://www.docker.com/legal/privacy/","title":"Privacy","status":200,"textLength":45922,"blockedForAgent":false,"flags":["Mentions AI or agents"]}]},"delegates":[{"type":"delegate","url":"https://www.docker.com/legal/docker-terms-use/","snippet":"…not constitute a waiver of such right or provision. Any waiver must be in writing and signed by an authorized representative of Docker to be effective. No Third-Party Beneficiaries. These Terms are for the sole benefit of Docker and you. There…"}],"voice":{"phone":{"e164":"+15596638537","pretty":"+1 559 663 8537","score":0,"context":"ning... Debug Console Terminal Ports ✓ Starting... ✓ Ready in 1168ms ○ Compiling / ... ✓ Compiled / in 779ms (559 modules) › GET / 200 in 941ms Agent B Running... Debug Console Te…","source":"https://www.docker.com/","tollFree":false,"seen":1,"kind":"unclassified"},"candidates":[{"e164":"+15596638537","pretty":"+1 559 663 8537","score":0,"context":"ning... Debug Console Terminal Ports ✓ Starting... ✓ Ready in 1168ms ○ Compiling / ... ✓ Compiled / in 779ms (559 modules) › GET / 200 in 941ms Agent B Running... Debug Console Te…","source":"https://www.docker.com/","tollFree":false,"seen":1,"kind":"unclassified"},{"e164":"+14126638537","pretty":"+1 412 663 8537","score":0,"context":"nning... Debug Console Terminal Ports ✓ Starting... ✓ Ready in 892ms ○ Compiling / ... ✓ Compiled / in 612ms (412 modules) › POST /api/orders 201 No lock-in. Ever. Built on open st","source":"https://www.docker.com/","tollFree":false,"seen":1,"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":11114,"ok":true},{"step":"robots","label":"Read robots rules for agents, llms.txt and sitemaps","ms":1152,"ok":true},{"step":"cards","label":"Look for agent cards, Poppy files, OpenAPI documents and browser tools","ms":3568,"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":10141,"ok":true},{"step":"login_browser","label":"Load the sign in page as a standard browser","ms":10321,"ok":true},{"step":"openbanking","label":"Check developer portals and data sharing programs","ms":656,"ok":true},{"step":"policy","label":"Read terms for automated access and delegation","ms":1111,"ok":true},{"step":"mcp","label":"Probe for MCP servers and check the official registry","ms":6435,"ok":true},{"step":"identity","label":"Discover OAuth and OpenID metadata","ms":3956,"ok":true},{"step":"phones","label":"Find published customer service phone numbers","ms":461,"ok":true}],"previous":{"generatedAt":"2026-10-24T00:52:06.129Z","score":69,"level":2},"history":[{"at":"2026-10-24T00:52:06.129Z","score":69,"level":2,"levelName":"Legible","cal":3,"doors":{"discover":72,"connect":19,"identity":88,"web":96,"policy":91,"marketing":0},"pts":{"product_catalog":0,"robots_assistants":2,"llms_txt":0,"structured_data":1,"server_rendered":3,"sitemap_content":1,"mcp_server":2,"a2a_agent_card":0,"openapi_docs":0,"open_banking":0,"webmcp_tools":0,"poppy_discovery":0,"oauth_metadata":5,"pkce_registration":4,"passkeys":0,"high_assurance":2,"delegate_access":2,"declared_agent_homepage":3,"signin_reachable":4,"agent_browser_parity":2,"form_semantics":2,"semantic_markup":1,"terms_stance":4,"third_party_rules":0,"ai_position":3}},{"at":"2026-11-13T00:25:06.607Z","score":80,"level":2,"levelName":"Legible","cal":3,"doors":{"discover":72,"connect":19,"identity":88,"web":93,"policy":91,"marketing":69},"pts":{"product_catalog":3,"prices_readable":0,"offers_readable":0,"revenue_path":3,"ai_names_products":2,"robots_assistants":2,"llms_txt":0,"structured_data":1,"server_rendered":3,"sitemap_content":1,"mcp_server":2,"a2a_agent_card":0,"openapi_docs":0,"open_banking":0,"webmcp_tools":0,"poppy_discovery":0,"oauth_metadata":5,"pkce_registration":4,"passkeys":0,"high_assurance":2,"delegate_access":2,"declared_agent_homepage":3,"signin_reachable":4,"agent_browser_parity":2,"form_semantics":1,"semantic_markup":1,"terms_stance":4,"third_party_rules":0,"ai_position":3}}],"brand":{"src":"/data/logos/docker_com.png?v=49ca67da","kind":"icon","invert":false,"tile":false,"w":160,"h":129,"source":"simple icons","from":"data:image/svg+xml;utf8,%3Csvg%20width%3D%22512%22%20height%3D%22512%22%20fill%3D%22%232496ED%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%22M13.983%2011.078h2.119a.186.186%200%2000.186-.185V9.006a.186.186%200%2000-.186-.186h-2.119a.185.185%200%2000-.185.185v1.888c0%20.102.083.185.185.185m-2.954-5.43h2.118a.186.186%200%2000.186-.186V3.574a.186.186%200%2000-.186-.185h-2.118a.185.185%200%2000-.185.185v1.888c0%20.102.082.185.185.185m0%202.716h2.118a.187.187%200%2000.186-.186V6.29a.186.186%200%2000-.186-.185h-2.118a.185.185%200%2000-.185.185v1.887c0%20.102.082.185.185.186m-2.93%200h2.12a.186.186%200%2000.184-.186V6.29a.185.185%200%2000-.185-.185H8.1a.185.185%200%2000-.185.185v1.887c0%20.102.083.185.185.186m-2.964%200h2.119a.186.186%200%2000.185-.186V6.29a.185.185%200%2000-.185-.185H5.136a.186.186%200%2000-.186.185v1.887c0%20.102.084.185.186.186m5.893%202.715h2.118a.186.186%200%2000.186-.185V9.006a.186.186%200%2000-.186-.186h-2.118a.185.185%200%2000-.185.185v1.888c0%20.102.082.185.185.185m-2.93%200h2.12a.185.185%200%2000.184-.185V9.006a.185.185%200%2000-.184-.186h-2.12a.185.185%200%2000-.184.185v1.888c0%20.102.083.185.185.185m-2.964%200h2.119a.185.185%200%2000.185-.185V9.006a.185.185%200%2000-.184-.186h-2.12a.186.186%200%2000-.186.186v1.887c0%20.102.084.185.186.185m-2.92%200h2.12a.185.185%200%2000.184-.185V9.006a.185.185%200%2000-.184-.186h-2.12a.185.185%200%2000-.184.185v1.888c0%20.102.082.185.185.185M23.763%209.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612%201.43-.23.97-.09%201.882.403%202.661-.595.332-1.55.413-1.744.42H.751a.751.751%200%2000-.75.748%2011.376%2011.376%200%2000.692%204.062c.545%201.428%201.355%202.48%202.41%203.124%201.18.723%203.1%201.137%205.275%201.137.983.003%201.963-.086%202.93-.266a12.248%2012.248%200%20003.823-1.389c.98-.567%201.86-1.288%202.61-2.136%201.252-1.418%201.998-2.997%202.553-4.4h.221c1.372%200%202.215-.549%202.68-1.009.309-.293.55-.65.707-1.046l.098-.288Z%22%2F%3E%3C%2Fsvg%3E","crisp":true,"v":2},"summary":{"score":80,"composite":71.2,"gates":[],"measuredWeight":92,"provisional":true,"calibration":3,"level":{"id":2,"name":"Legible","summary":"An agent can read and cite your content.","nextLevel":{"id":3,"name":"Connectable","need":"Offer a programmatic path: a live MCP server, a data sharing program with OAuth metadata, or a verified Poppy file."}},"doors":[{"id":"discover","name":"Discoverability","weight":22,"measured":true,"score":72,"raw":47,"points":15.8},{"id":"connect","name":"Protocol access","weight":14,"measured":true,"score":19,"raw":10,"points":2.7},{"id":"identity","name":"Identity and delegation","weight":12,"measured":true,"score":88,"raw":65,"points":10.5},{"id":"web","name":"Web experience","weight":20,"measured":true,"score":93,"raw":73,"points":18.6},{"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":91,"raw":70,"points":5.5},{"id":"marketing","name":"Marketing readiness","weight":18,"measured":true,"score":69,"raw":44,"points":12.4}],"strengths":["OAuth and OpenID metadata","PKCE and client registration","Sign in page loads for a declared agent in a browser"],"gaps":[{"id":"mcp_server","title":"MCP server","lost":7.3},{"id":"open_banking","title":"Developer and data sharing program","lost":5.1},{"id":"llms_txt","title":"llms.txt guide for agents","lost":4.4},{"id":"prices_readable","title":"Prices and rates an agent can read","lost":4.2}],"gainAll":20,"headline":"Docker reaches level 2, Legible. Web experience is the strongest area at 93 out of 100. Protocol access is the weakest at 19."},"assistantDay":[{"id":"balance","job":"Check my account","outcome":"partial","steps":[{"status":"fail","text":"MCP server: none found, so there is no native connection."},{"status":"partial","text":"Website: the agent reaches the sign in page, and the customer completes sign in.","detail":"The agent cannot hold credentials safely, so it waits for the customer."},{"status":"untested","text":"Phone line: not tested yet."}]},{"id":"rates","job":"Compare plans","outcome":"works","steps":[{"status":"ok","text":"Website: pricing and product 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."}]}]}