{"slug":"peec-yu95v8","companyName":"PEEC","domain":"peec.ai","url":"https://peec.ai","headline":"Pricing is entirely gated behind a sales call, blocking both human and agent evaluation of cost.","compositeScore":58,"humanScore":77,"agentScore":38,"doorGap":39,"humanMeasured":4,"agentMeasured":6,"percentile":32,"humanPercentile":51,"agentPercentile":22,"isPartial":false,"depth":"free","siteClass":"b2b_saas","scannerVersion":12,"scannedAt":"2026-09-08T14:52:18.123Z","unlocked":false,"mission":{"steps":[{"url":"https://peec.ai","outcome":"ok","purpose":"reach the site at all"},{"url":"https://peec.ai/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://peec.ai","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://peec.ai/llms.txt","outcome":"missing","purpose":"read the site's own guide for language models"},{"url":"https://peec.ai/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://peec.ai/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://peec.aihttps://docs.peec.ai/.well-known/mcp.json","outcome":"ok","purpose":"find a published agent interface"},{"url":"https://peec.ai/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://peec.ai","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://peec.ai","outcome":"missing","purpose":"read the homepage as data rather than as a page"},{"url":"https://peec.ai","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://peec.ai","outcome":"ok","purpose":"read the developer documentation"},{"url":"https://peec.ai/pricing","outcome":"missing","purpose":"read the prices without running JavaScript"},{"url":"https://peec.ai","outcome":"ok","purpose":"find a comparison page worth citing"},{"url":"https://app.peec.ai/","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 8 of 15 requests, but could not read the site's own guide for language models. It came up empty on 6 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":74,"summary":"No AI crawler is blocked by robots.txt or user agent rules, and a real browser is served the page normally. The sitemap lists 185 URLs. However, no schema.org markup appears on the homepage, and comparison pages are the only structured.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":16,"summary":"Endpoint examples are shown.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":12,"summary":"The pricing page publishes no prices in raw HTML or rendered output. Three plan names are listed (Starter, Pro, Advanced) but all tiers route to a sales contact form. An evaluator cannot compute total cost without a conversation with sales.","evidence":{"locked":true,"count":1}},{"key":"agent_aware_instrumentation","audience":"agent","score":58,"summary":"An MCP manifest is published at https://docs.peec.ai/.well-known/mcp.json, enabling Claude and other MCP clients to discover and call the API. No OpenAPI spec, ai-plugin.json, or Web Bot Auth signals are present.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":40,"summary":"No security.txt file is published at the standard path. The homepage answers automated requests normally. Trust signals are minimal, limiting an agent's ability to verify the service is legitimate before integration.","evidence":{"locked":true,"count":2}},{"key":"commercial_rails","audience":"agent","score":25,"summary":"A self serve signup form is 2 steps from the homepage and requires no payment information. However, the pricing page routes all tiers to sales without publishing any prices, forcing a human conversation before cost can be known.","evidence":{"locked":true,"count":2}},{"key":"steps_to_first_value","audience":"human","score":80,"summary":"The signup form is 2 steps from the homepage. A visitor reaches working access via Google, Microsoft, or SSO without entering an email or password. The form itself contains only 1 field and requires 0 of them, so friction is minimal.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":98,"summary":"The signup form asks for 1 field and requires 0 of them. Three sign in options are offered (Google, Microsoft, SSO), allowing a visitor to bypass form entry entirely. No payment information is requested at signup.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":80,"summary":"No verification requirement appears on the signup page. Single sign on options bypass email verification entirely. The form carries no CAPTCHA, phone verification, or email confirmation step.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":50,"summary":"The signup form has 1 input with a description attribute and inline error containers are present on the page. However, 0 of 1 inputs carry validation rules, so the browser cannot signal errors before submission.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"Pricing is entirely hidden behind a sales contact form, preventing agents and evaluators from computing cost before engagement.","dimensionKey":"pricing_legibility","evidence":{"locked":true,"count":3},"fix":null},{"rank":2,"title":"No security.txt is published, so a machine has no documented route to report a problem.","dimensionKey":"machine_fetchable_trust","evidence":{"locked":true,"count":1},"fix":null},{"rank":3,"title":"No OpenAPI specification is published, requiring clients to reverse engineer the API from prose documentation.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"fix":null}],"fixArtifacts":{"locked":true,"count":6,"summaries":[{"id":"pricing_publish:pricing-md","kind":"pricing_publish","title":"A pricing page that states a price","path":"/pricing.md","effort":{"minutes":60,"role":"owner"},"outcome":{"dimension":"pricing_legibility","external":["Assistants can quote a starting price instead of routing the buyer to a call."]}},{"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":"organization_jsonld:homepage","kind":"organization_jsonld","title":"Organization structured data","path":"homepage","effort":{"minutes":15,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["Search and assistant crawlers read the company entity from the homepage rather than inferring it."]}},{"id":"security_txt:well-known-security-txt","kind":"security_txt","title":"security.txt","path":"/.well-known/security.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Researchers and automated scanners find a disclosure address instead of guessing one."]}},{"id":"llms_txt:llms-txt","kind":"llms_txt","title":"llms.txt","path":"/llms.txt","effort":{"minutes":15,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Assistants that read llms.txt get a curated map of the site instead of guessing from the homepage."]}}]},"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":"machine_fetchable_trust","checkId":"security_txt","key":"issue:machine_fetchable_trust:security_txt"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":null,"key":"issue:programmatic_onboarding:-"}]}}