{"slug":"plane-pu4h87","companyName":"Plane","domain":"plane.so","url":"https://plane.so","headline":"1 human and 5 agent dimensions measured from the pages checked; remaining dimensions are not scored.","compositeScore":75,"humanScore":80,"agentScore":69,"doorGap":11,"humanMeasured":1,"agentMeasured":5,"percentile":null,"humanPercentile":10,"agentPercentile":null,"isPartial":false,"depth":"free","siteClass":"b2b_saas","scannerVersion":49,"scannerRelease":"c49d1def936f56a5ab0871f38c5e6412433ec37a","scoringMethodologyVersion":1,"evidenceSchemaVersion":1,"benchmarkEdition":"methodology-1","scannedAt":"2026-09-10T20:42:31.545Z","unlocked":false,"mission":{"steps":[{"url":"https://plane.so","outcome":"ok","purpose":"reach the site at all"},{"url":"https://plane.so/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://plane.so","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://plane.so/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://plane.so/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://plane.so/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://plane.so","outcome":"missing","purpose":"find an MCP manifest at the standard paths checked"},{"url":"https://plane.so/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://plane.so","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://plane.so","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://plane.so","outcome":"ok","purpose":"read the developer documentation"},{"url":"https://plane.so/pricing","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://plane.so","outcome":"ok","purpose":"find a comparison page worth citing"},{"url":"https://app.plane.so/sign-up/","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The scanner recorded successful observations for 10 of 14 checks, but could not find a contact route for machines. It came up empty on 3 other checks too. 1 check could not be measured; see the report limitations."},"observations":[{"url":"https://app.plane.so/sign-up/","step":1,"detail":"Primary entry is \"Get started free\". 2 steps from the homepage. 1 field, 0 marked required in the visible form. 3 sign in options: google, github, single sign. 0 of 1 visible entry-form inputs carry validation attributes; submission was not tested.","moment":"Entry observation","verdict":"observed"}],"dimensions":[{"key":"machine_discoverability","audience":"agent","score":100,"summary":"No restriction on the tested crawler names was found in robots.txt. On its first visit, our browser read the homepage. No user agent rule refused the tested retrieval crawler names.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":7}},{"key":"programmatic_onboarding","audience":"agent","score":null,"summary":"Not measured: our scanner could not identify the required evidence on the pages checked.","measurement":{"reason":"unsupported_detection","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"pricing_legibility","audience":"agent","score":96,"summary":"11 prices are readable without JavaScript. An enterprise tier routes to sales, which is standard practice and not counted against the score. The plans are published as Offer structured data too. The pricing page carries FAQ markup.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":28,"summary":"No MCP manifest was identified at the discovery paths checked. Pricing.md publishes prices in a form an agent can read directly. Developer documentation describes an API, but only in prose.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":40,"summary":"No security.txt was identified at the checked path. The homepage answers automated requests.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":2}},{"key":"commercial_rails","audience":"agent","score":80,"summary":"Prices are published in raw HTML. A self-serve signup entry was observed from the homepage. Pricing.md is machine readable. The plans are published as Offer structured data.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":2}},{"key":"steps_to_first_value","audience":"human","score":80,"summary":"A signup form was reached in 2 steps from the homepage.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":null,"summary":"Not measured: our scanner could not identify the required evidence on the pages checked.","measurement":{"reason":"unsupported_detection","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"verification_walls","audience":"human","score":null,"summary":"Not measured: this read-only scan did not submit the form or perform the action needed to test this behavior.","measurement":{"reason":"action_not_tested","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"error_recovery","audience":"human","score":null,"summary":"Not measured: this read-only scan did not submit the form or perform the action needed to test this behavior.","measurement":{"reason":"action_not_tested","status":"unmeasured"},"evidence":{"locked":true,"count":0}}],"issues":[{"rank":1,"title":"No valid security.txt was identified at /.well-known/security.txt.","dimensionKey":"machine_fetchable_trust","evidence":{"locked":true,"count":2},"fix":null}],"fixArtifacts":{"locked":true,"count":2,"summaries":[{"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":"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."]}}]},"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":"machine_fetchable_trust","checkId":"security_txt","key":"issue:machine_fetchable_trust:security_txt"}]}}