{"slug":"seconddoor-p6te6j","companyName":"SecondDoor","domain":"seconddoor.io","url":"https://seconddoor.io","headline":"SecondDoor publishes clean SaaS pricing and a frictionless two-field signup, but neither an agent nor a shopper has any documented way to actually pay.","compositeScore":82,"humanScore":83,"agentScore":80,"doorGap":3,"humanMeasured":4,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":false,"depth":"deep","siteClass":"hybrid","scannerVersion":9,"scannedAt":"2026-09-03T19:13:18.264Z","unlocked":false,"mission":{"steps":[{"url":"https://www.seconddoor.io","outcome":"ok","purpose":"reach the site at all"},{"url":"https://www.seconddoor.io/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://www.seconddoor.io","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://www.seconddoor.io/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://www.seconddoor.io/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://www.seconddoor.io/.well-known/security.txt","outcome":"ok","purpose":"find a contact route for machines"},{"url":"https://www.seconddoor.io/.well-known/mcp.json","outcome":"ok","purpose":"find a published agent interface"},{"url":"https://www.seconddoor.io/.well-known/ai-plugin.json","outcome":"ok","purpose":"find an agent plugin manifest"},{"url":"https://www.seconddoor.io","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://www.seconddoor.io","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://www.seconddoor.io/openapi.json","outcome":"ok","purpose":"find a machine readable API spec"},{"url":"https://www.seconddoor.io","outcome":"ok","purpose":"read the developer documentation"},{"url":"https://www.seconddoor.io/pricing","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://www.seconddoor.io","outcome":"missing","purpose":"read the product catalogue as data"},{"url":"https://www.seconddoor.io","outcome":"ok","purpose":"read a product page as data"},{"url":"https://www.seconddoor.io","outcome":"ok","purpose":"read the returns and shipping terms"},{"url":"https://www.seconddoor.io","outcome":"ok","purpose":"find a comparison page worth citing"},{"url":"https://www.seconddoor.io/signup","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 16 of 18 requests, but could not find out whether verified agents are recognised. It came up empty on 1 other check too."},"observations":[{"url":"https://www.seconddoor.io/pricing","step":1,"detail":"Four tiers shown without login: Free $0, Starter $29, Pro $99, Agency $249. A fifth \"Dedicated Consulting\" tier priced around $2,500 per the pricing data. All prices are readable without JavaScript, no quote-gating. This is a straightforward SaaS pricing table, no physical product catalog anywhere on the site.","moment":"Pricing page","verdict":"smooth","screenshot":1},{"url":"https://www.seconddoor.io/signup","step":2,"detail":"No published price, no self-serve path. Routes only to sales@seconddoor.io. This is the one part of the funnel where a visitor is diverted to a sales conversation instead of self-serve signup.","moment":"Dedicated Consulting tier","verdict":"friction"},{"url":"https://www.seconddoor.io/signup","step":3,"detail":"Only two required fields: work email and password, plus Google SSO. A 3-step bar shows Account, Confirm, Scan. Fine print says reports you run are public, part of how the index works. No payment requested, consistent with the free tier.","moment":"Signup form","verdict":"smooth","screenshot":2}],"dimensions":[{"key":"machine_discoverability","audience":"agent","score":100,"summary":"robots.txt names all 14 major AI crawlers and allows them, a real browser gets the page normally, a 59-URL sitemap and llms.txt are both published, and key pages render without JavaScript.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":50,"summary":"A machine readable API spec is published.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":88,"summary":"Six prices ($0, $29, $99, $249, $2,500) are readable in raw HTML on the pricing page with no JavaScript required, and FAQ schema is attached. Only the top consulting tier routes to sales, which is standard.","evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":100,"summary":"An MCP manifest, an ai-plugin.json, and a full OpenAPI spec are all published and reachable, so an agent can generate a client rather than guess at the API.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":85,"summary":"security.txt is published with a contact route and the returns policy reads as plain text at /refunds, but the shipping policy was not found at any of the usual paths, leaving one trust document unaccounted for.","evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":55,"summary":"Pricing is published in raw HTML and signup needs no card, but the probe found no UCP manifest, no storefront MCP, no ACP manifest, and no payment processor anywhere on the homepage.","evidence":{"locked":true,"count":4}},{"key":"steps_to_first_value","audience":"human","score":80,"summary":"The signup form sits two steps from the homepage via a single 'Sign up for free' CTA, with no intervening marketing gate or account-tier chooser.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":93,"summary":"The signup form asks for exactly two fields, work email and password, both required, plus a Google SSO option that skips the form entirely.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":80,"summary":"No verification requirement is visible on the signup page itself, and the Google SSO path avoids one entirely, though the 'Confirm' step in the flow bar suggests an email check happens after submission.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":80,"summary":"Both of the two signup inputs carry HTML validation constraints, giving the browser a way to catch bad input before submission, though no live error region was detected.","evidence":{"locked":true,"count":1}}],"issues":[],"fixArtifacts":{"locked":true,"count":3,"summaries":[{"id":"policy_pages_text:shipping","kind":"policy_pages_text","title":"Shipping and delivery page","path":"/shipping","effort":{"minutes":30,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Returns and shipping pages read as text and are linked from every product page."]}},{"id":"agent_checkout_note:notes","kind":"agent_checkout_note","title":"Agent checkout: where you stand","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["The checkout rail question is settled with the platform and processor before any manifest is published."]}},{"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"}]}}