{"slug":"softr-hraypw","companyName":"Softr","domain":"softr.io","url":"https://softr.io","headline":"1 human and 6 agent dimensions measured from the pages checked; remaining dimensions are not scored.","compositeScore":79,"humanScore":80,"agentScore":78,"doorGap":2,"humanMeasured":1,"agentMeasured":6,"percentile":99,"humanPercentile":11,"agentPercentile":99,"isPartial":false,"depth":"free","siteClass":"b2b_saas","scannerVersion":49,"scannerRelease":"c49d1def936f56a5ab0871f38c5e6412433ec37a","scoringMethodologyVersion":1,"evidenceSchemaVersion":1,"benchmarkEdition":"methodology-1","scannedAt":"2026-09-10T20:53:10.044Z","unlocked":false,"mission":{"steps":[{"url":"https://www.softr.io","outcome":"ok","purpose":"reach the site at all"},{"url":"https://www.softr.io/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://www.softr.io","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://www.softr.io/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://www.softr.io/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://www.softr.io/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://docs.softr.io/.well-known/mcp.json","outcome":"ok","purpose":"find an MCP manifest at the standard paths checked"},{"url":"https://www.softr.io/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://www.softr.io","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://www.softr.io","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://docs.softr.io/openapi.yaml","outcome":"ok","purpose":"find a machine readable API spec"},{"url":"https://www.softr.io","outcome":"ok","purpose":"read the developer documentation"},{"url":"https://www.softr.io/pricing","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://www.softr.io","outcome":"ok","purpose":"find a comparison page worth citing"},{"url":"https://studio.softr.io/auth/signup?sfic=direct&slic=direct&sfip=https:%2F%2Fwww.softr.io%2F&sfid=2026-09-10T20:52:24.818Z&slip=https:%2F%2Fwww.softr.io%2F&slid=2026-09-10T20:52:40.961Z&fbp=fb.1.1789073547762.323371913960578055","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The scanner recorded successful observations for 12 of 15 checks, but could not find a contact route for machines. It came up empty on 2 other checks too."},"observations":[{"url":"https://studio.softr.io/auth/signup","step":1,"detail":"Primary entry is \"Start for free\". 2 steps from the homepage. 1 field, 0 marked required in the visible form. 1 sign in option: google. 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":"Robots.txt explicitly names 8 AI crawler tokens; policies differ by token. 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":62,"summary":"A machine readable API spec is published. OAuth authorization metadata is published.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":93,"summary":"16 prices are readable without JavaScript, with no tier sent to sales. The plans are published as Offer structured data too.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":100,"summary":"An MCP manifest is published. Robots.txt explicitly names 8 AI crawler tokens; policies differ by token. OAuth authorization-server metadata is published; this alone does not identify an MCP endpoint.","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":70,"summary":"Prices are published in raw HTML. A self-serve signup entry was observed from the homepage. 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":["/.well-known/security.txt: not found (404)","Checked URL: https://www.softr.io/.well-known/security.txt"],"fix":"Publish /.well-known/security.txt with a contact route."}],"fixArtifacts":{"locked":true,"count":4,"summaries":[{"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":["A plain-text price list is available at the published URL."]}},{"id":"organization_jsonld:homepage","kind":"organization_jsonld","title":"Organization structured data","path":"homepage","effort":{"minutes":15,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["The homepage publishes the reviewed company entity as structured data."]}},{"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":"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."]}}]},"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"}]}}