{"slug":"stripe-8bge2s","companyName":"Stripe","domain":"stripe.com","url":"https://stripe.com","headline":"Stripe publishes prices only after JavaScript runs, blocking agents from computing cost before signup.","compositeScore":61,"humanScore":80,"agentScore":42,"doorGap":38,"humanMeasured":1,"agentMeasured":6,"percentile":44,"humanPercentile":71,"agentPercentile":32,"isPartial":false,"depth":"free","siteClass":"b2b_saas","scannerVersion":12,"scannedAt":"2026-09-08T14:48:00.931Z","unlocked":false,"mission":{"steps":[{"url":"https://stripe.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://stripe.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://stripe.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://stripe.com/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://stripe.com/sitemap/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://stripe.com/.well-known/security.txt","outcome":"ok","purpose":"find a contact route for machines"},{"url":"https://stripe.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://stripe.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://stripe.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://stripe.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://stripe.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://stripe.com","outcome":"ok","purpose":"read the developer documentation"},{"url":"https://stripe.com/pricing","outcome":"missing","purpose":"read the prices without running JavaScript"},{"url":"https://stripe.com","outcome":"ok","purpose":"find a comparison page worth citing"},{"url":"https://stripe.com","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 10 of 15 requests, but could not find a published agent interface. It came up empty on 4 other checks too. That is enough missing for a machine to give up before it reaches a purchase."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":84,"summary":"No AI crawler is blocked by robots.txt; the homepage is served to automated clients; llms.txt is published with 380 lines of guidance; a sitemap lists 52 URLs; 7 schema.org types appear in the homepage JSON-LD.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":34,"summary":"API credentials are documented, authentication is documented, code samples are provided.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":30,"summary":"The pricing page renders 52 prices after JavaScript runs, but the raw HTML contains zero prices. A machine that fetches the page without rendering JavaScript sees no cost information at all.","evidence":{"locked":true,"count":1}},{"key":"agent_aware_instrumentation","audience":"agent","score":18,"summary":"No MCP manifest, developer documentation describes an API, but only in prose.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":85,"summary":"security.txt is published at /.well-known/security.txt with a contact route for machines. The homepage answers automated HTTP requests with a 200 status.","evidence":{"locked":true,"count":2}},{"key":"commercial_rails","audience":"agent","score":0,"summary":"The pricing page routes to sales without publishing any prices.","evidence":{"locked":true,"count":2}},{"key":"steps_to_first_value","audience":"human","score":80,"summary":"The signup page is 2 steps from the homepage via the 'Get started' call to action. The browser received an automated traffic challenge when attempting to read the form, so the number of fields, required fields, and validation attributes.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"Prices are hidden behind JavaScript execution, making cost invisible to agents that do not render pages.","dimensionKey":"pricing_legibility","evidence":{"locked":true,"count":3},"fix":null},{"rank":2,"title":"No OpenAPI specification was found at the 6 standard paths checked, so a client must be written from prose instead of generated.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":2},"fix":null},{"rank":3,"title":"No MCP manifest was found at the 3 standard paths checked, so an agent has no published machine door to this site.","dimensionKey":"agent_aware_instrumentation","evidence":{"locked":true,"count":2},"fix":null}],"fixArtifacts":{"locked":true,"count":5,"summaries":[{"id":"pricing_ssr_fallback:pricing-page","kind":"pricing_ssr_fallback","title":"Prices in the HTML, not only after JavaScript","path":"pricing page","effort":{"minutes":60,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["A client that reads raw HTML sees the plans and prices."]}},{"id":"software_offer_jsonld:pricing-page","kind":"software_offer_jsonld","title":"Pricing as Offer structured data","path":"pricing page","effort":{"minutes":20,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants comparing vendors read the plans and prices as Offer structured data."]}},{"id":"robots_search_bots:robots-txt","kind":"robots_search_bots","title":"robots.txt rules for AI crawlers","path":"/robots.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["The assistants' search crawlers read and cite the site to buyers; training stays the owner's decision."]}},{"id":"interfaces_note:notes","kind":"interfaces_note","title":"Machine interfaces: where you stand","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["The developer surface is built in an order where every published pointer answers."]}},{"id":"pricing_md:pricing-md","kind":"pricing_md","title":"pricing.md","path":"/pricing.md","effort":{"minutes":20,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["Agents read the price list directly instead of rendering the pricing page."]}}]},"feedback":{"endpoint":"/api/feedback","mcpTool":"rate_fix","targets":[{"type":"report","key":"report"},{"type":"dimension","dimensionKey":"machine_discoverability","key":"dimension:machine_discoverability"},{"type":"dimension","dimensionKey":"programmatic_onboarding","key":"dimension:programmatic_onboarding"},{"type":"dimension","dimensionKey":"pricing_legibility","key":"dimension:pricing_legibility"},{"type":"dimension","dimensionKey":"agent_aware_instrumentation","key":"dimension:agent_aware_instrumentation"},{"type":"dimension","dimensionKey":"machine_fetchable_trust","key":"dimension:machine_fetchable_trust"},{"type":"dimension","dimensionKey":"commercial_rails","key":"dimension:commercial_rails"},{"type":"dimension","dimensionKey":"steps_to_first_value","key":"dimension:steps_to_first_value"},{"type":"dimension","dimensionKey":"required_fields","key":"dimension:required_fields"},{"type":"dimension","dimensionKey":"verification_walls","key":"dimension:verification_walls"},{"type":"dimension","dimensionKey":"error_recovery","key":"dimension:error_recovery"},{"type":"issue","dimensionKey":"pricing_legibility","checkId":"pricing_nojs","key":"issue:pricing_legibility:pricing_nojs"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":"openapi","key":"issue:programmatic_onboarding:openapi"},{"type":"issue","dimensionKey":"agent_aware_instrumentation","checkId":"mcp_manifest","key":"issue:agent_aware_instrumentation:mcp_manifest"}]}}