{"kind":"crawlcheck-resolve","v":1,"schema":"https://crawlcheck.io/schemas/resolve.json","domain":"contentatscale.ai","answered_at":"2026-10-19T03:10:51.638Z","reading":"Each section is declared (what the site says about itself), observed (what CrawlCheck was served) or not_measured, with when it was observed. There is no overall score: decide on the section your action depends on.","impersonation":{"state":"no_lookalike","verdict":"no_lookalike","brand_frame":"Tranco top 10,000 (Y83YG)"},"status":"measured","subject":{"domain":"contentatscale.ai","host":"contentatscale.ai","path":"/","report_id":"jdkk65zuwt","scanned_at":"2026-09-18T02:48:00.788Z","score_version":null},"freshness":{"observed_at":"2026-09-18T02:48:00.788Z","age_hours":744.4,"latest_report_id":"jdkk65zuwt","is_latest":true,"newer_scan_exists":false,"last_second_reading_at":null,"note":"observed_at is when CrawlCheck fetched the site; nothing here says the site is unchanged since","last_verified_at":"2026-09-18T02:48:00.788Z","fresh_until":"2026-09-25T02:48:00.788Z","stale":true,"fresh_policy":"an answer is fresh for 168 hours after observed_at; each action below has its own maximum age. last_verified_at is the latest reading of this domain by any enrolled observer."},"observers":{"primary":null,"independent_readings":0,"by_field":"https://crawlcheck.io/api/corroboration?domain=contentatscale.ai","directory":"https://crawlcheck.io/.well-known/crawlcheck-observers.json","samples_by_network":{"networks":0,"samples":0,"groups":[],"window":"the latest 12 independent readings kept for this domain; the primary scan (Cloudflare) is not counted here"}},"crawl_policy":{"state":"not_measured","observed_at":"2026-09-18T02:48:00.788Z","why":"this record carries no per-crawler robots.txt reading"},"delivery":{"state":"observed","observed_at":"2026-09-18T02:48:00.788Z","url":"https://contentatscale.ai/","identity_basis":null,"identities":[{"identity":"anon","label":"Unnamed client","role":"control","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"gptbot","label":"GPTBot","role":"train","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"claudebot","label":"ClaudeBot","role":"train","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"oaisearch","label":"OAI-SearchBot","role":"answer","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"claudesearch","label":"Claude-SearchBot","role":"answer","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"perplexity","label":"PerplexityBot","role":"answer","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"googlebot","label":"Googlebot","role":"search","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"browser","label":"Mobile browser","role":"browser","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"bingbot","label":"Bingbot","role":"search","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"applebot","label":"Applebot","role":"search","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"amazonbot","label":"Amazonbot","role":"train","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"bytespider","label":"Bytespider","role":"train","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"metaexternal","label":"Meta-ExternalAgent","role":"train","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"},{"identity":"ccbot","label":"CCBot","role":"train","status":202,"words":0,"blocker":"a CAPTCHA wall","redirected_to":null,"x_robots_tag":"noindex"}]},"machine_files":{"state":"observed","observed_at":"2026-09-18T02:48:00.788Z","files":[{"path":"/robots.txt","status":202,"content_type":"text/html","bytes":184,"verdict":"fail"},{"path":"/sitemap.xml","status":202,"content_type":"text/html","bytes":185,"verdict":"ok"},{"path":"/sitemap_index.xml","status":202,"content_type":"text/html","bytes":191,"verdict":"ok"},{"path":"/wp-sitemap.xml","status":202,"content_type":"text/html","bytes":188,"verdict":"ok"},{"path":"/llms.txt","status":202,"content_type":"text/html","bytes":182,"verdict":"absent"}],"read_before_page":[],"hashes":"this record has no sealed manifest"},"capabilities":{"state":"observed","observed_at":"2026-09-18T02:48:00.788Z","checked":[],"declared":0,"by_safety_class":{},"verified":0,"mismatches":0,"invocation_rule":"capabilities are read from declarations only; nothing is invoked. Later verification may call read_only_public operations alone; every other class needs the site owner's authorisation and a test account, and unknown is never called","certificate":null,"items":null,"note":"no capability declaration was found"},"entity":{"state":"observed","observed_at":"2026-09-18T02:48:00.788Z","name":null,"wikidata_item_found":false,"links":[],"states":"corroborated = the linked page links back; unreciprocated = readable and does not; unverifiable = could not be read from here"},"mcp_registry":{"state":"observed","listed":0,"import_finished_at":"2026-10-14T20:03:09.131Z","import_run":1,"import_servers":43267,"why":"the official MCP Registry lists no remote MCP endpoint on this domain (import finished 2026-10-14)","url":"https://crawlcheck.io/api/mcp/servers?host=contentatscale.ai"},"content_clock":{"homepage":{"url":"https://contentatscale.ai/","observed":false,"start":"https://crawlcheck.io/api/v1/content-clock?url=https%3A%2F%2Fcontentatscale.ai%2F","reading":"not clocked yet; reading the API URL starts the clock"},"reading":"When the main content (not the bytes) of these URLs last changed, from CrawlCheck's own reads. Full history and the page's declared dates: the api link."},"self_claims":{"observed":false,"start":"https://crawlcheck.io/api/v1/claims?domain=contentatscale.ai","reading":"no claim ledger yet; reading the API URL starts it"},"read_equivalence":{"url":"https://contentatscale.ai/","observed":true,"verdict":"unverifiable","checked_at":"2026-10-15T23:59:06.673Z","first_observed":"2026-10-12T15:39:45.315Z","ai_identities_served":null,"identities":[],"api":"https://crawlcheck.io/api/v1/read-equivalence?url=https%3A%2F%2Fcontentatscale.ai%2F","reading":"whether the main text served to AI identities is the same text a person sees in a browser, from one simultaneous read of the homepage; evidence and the differing sentences at the api link"},"rights":{"observed":true,"path":"/","read_at":"2026-10-17T20:36:54.669Z","api":"https://crawlcheck.io/api/v1/rights?domain=contentatscale.ai","reading":"one value per use for the homepage, with the signal that decided it; signals considered, conflicts and per-path answers at the api link","train":{"value":"unknown","decided_by":{"signal":"robots.txt","url":"https://contentatscale.ai/robots.txt","evidence":"robots.txt could not be read: HTTP 403 (refused or failed); the site's policy for train is unknown"},"conflicts":0},"ground":{"value":"unknown","decided_by":{"signal":"robots.txt","url":"https://contentatscale.ai/robots.txt","evidence":"robots.txt could not be read: HTTP 403 (refused or failed); the site's policy for ground is unknown"},"conflicts":0},"summarize":{"value":"unknown","decided_by":{"signal":"robots.txt","url":"https://contentatscale.ai/robots.txt","evidence":"robots.txt could not be read: HTTP 403 (refused or failed); the site's policy for summarize is unknown"},"conflicts":0},"cite":{"value":"unknown","decided_by":{"signal":"robots.txt","url":"https://contentatscale.ai/robots.txt","evidence":"robots.txt could not be read: HTTP 403 (refused or failed); the site's policy for cite is unknown"},"conflicts":0},"transact":{"value":"unknown","decided_by":{"signal":"robots.txt","url":"https://contentatscale.ai/robots.txt","evidence":"robots.txt could not be read: HTTP 403 (refused or failed); the site's policy for transact is unknown"},"conflicts":0}},"findings":{"access":"public","rule":"the top finding in full; the rest by title, severity and path (a licence for this domain opens them)","items":[{"fid":null,"decision_id":null,"code":"NO_SITEMAP_FOUND","severity":4,"path":"/","title":"No XML sitemap found","rule_revision":1,"span_id":null,"state":null,"valid_time":null,"observations_linked":0,"trust":{"freshness":{"observed_at":"2026-09-18T02:48:00.788Z","last_observed":"2026-09-18T02:48:00.788Z","held_since":null,"state":null},"confidence":{"level":"single_reading","means":"one reading from one network","basis":[],"sample":{"cross_network":"not_applicable","why":"this finding does not depend on the requesting identity or network, so other networks' readings neither confirm nor contradict it","readings":1,"diversity":{"readings":1,"observers":1,"distinct_networks":1,"networks":{"cloudflare":1},"distinct_countries":0,"countries":{}},"scans":{"seen":null,"could_have_seen":null,"interval":null,"why":"scans that could have seen this finding are counted from 2026-10-08; this finding was first seen before that, so only the scans that saw it are known"},"interval":null,"interval_of":null,"note":"interval: the 95% Wilson score interval for the share, from k of n; it is wide when n is small, and that width is the point. networks: autonomous systems the readings arrived from (two observers on one network are one network). countries: where the connection was measured; CrawlCheck's own reading leaves from a Cloudflare data centre and carries no country here."}},"contradictions":[]},"score_effect":{"decision_id":null,"code":"NO_SITEMAP_FOUND","path":"/","severity":4,"level":"high","points":0,"cap":"D","binding":false,"letter_now":"F","letter_without_it":"F","same_level_others":0,"says":"Would cap the letter at D, but the score (36) already reads F, so the letter is the same without it. Moves no points."},"root_cause":{"id":"wall","relation":"same cause","shared_with":2},"corroboration":{"status":"not_applicable","reading":"this finding does not depend on the requesting identity or network"},"explain":null,"disputes":[]},{"title":"robots.txt does not return 200","severity":3,"path":"/robots.txt","locked":true},{"title":"The homepage refused this client, so every homepage section is unmeasured","severity":2,"path":"/","locked":true},{"title":"No llms.txt","severity":1,"path":"/llms.txt","locked":true}],"summary":{"total":4,"serious":2,"by_severity":{"High":1,"Medium":1,"Low":1,"Note":1}},"withheld":"Every finding is listed by title, severity and path. The top one carries its code, detail and evidence; the other 3 are locked (locked: true) and need a licence or the fix service: https://crawlcheck.io/pricing"},"confidence":{"identities_answered":null,"vantages":1,"note":null,"sample":{"readings":1,"observers":1,"distinct_networks":1,"networks":{"cloudflare":1},"distinct_countries":0,"countries":{},"window_hours":6,"all_time":{"independent_readings":0,"networks":[]},"reading":"readings of this domain within 6 hours of the scan: CrawlCheck's own plus every independent observer's, with the networks and countries they arrived from","note":"interval: the 95% Wilson score interval for the share, from k of n; it is wide when n is small, and that width is the point. networks: autonomous systems the readings arrived from (two observers on one network are one network). countries: where the connection was measured; CrawlCheck's own reading leaves from a Cloudflare data centre and carries no country here."},"vantage_state":{"state":"single_vantage","means":"only one network read this site near the scan; nothing here is cross-checked","networks":1,"readings":1,"states":{"single_vantage":"only one network read this site near the scan; nothing here is cross-checked","insufficient_samples":"more than one network read it, but fewer than 3 readings: too few to state agreement","cross_confirmed":"two or more networks read it, 3 or more readings, and no finding is contested between them","network_divergence":"networks disagree on at least one finding","regional_divergence":"networks in more than one country disagree on at least one finding: what is served depends on where the request comes from"},"from":"derived when served from an answer stored before mv1"}},"contradictions":{"site":[],"between_networks_open":[],"locked_findings_not_shown":3},"evidence":{"report":"https://crawlcheck.io/r/jdkk65zuwt","machine_record":"https://crawlcheck.io/api/v1/machine-record?id=jdkk65zuwt","manifest_sha256":null,"verify":"https://crawlcheck.io/api/verify?id=jdkk65zuwt","bundle":null,"offline_verifier":"https://crawlcheck.io/crawlcheck-verify.mjs?v=38f2465267eb7dbc","verify_this_answer":"save it as answer.json, then: node crawlcheck-verify.mjs answer.json"},"actions":{"v":1,"decisions":"allow | warn | require_confirmation | block | unsupported","rule":"decided from this answer's own sections at signing time; an agent's own policy may be stricter, never looser","read":{"decision":"warn","minimum_assurance":"reachable","assurance_found":[],"needs":"robots.txt lets AI agents read the path, and the page was served to at least one AI-crawler identity","why":"no robots.txt policy was read, so permission is unknown","doubts":["no_policy"],"max_age_hours":168},"cite":{"decision":"warn","minimum_assurance":"reachable + entity observed","assurance_found":[],"needs":"everything read needs, plus an observed entity and no contradiction the site makes with itself","scope":{"covers":["access: robots.txt and what was actually served to AI-crawler identities","permissions: the rights and content signals the site declares","identity: the entity the site declares and who has proven control of the domain","provenance: when, from where and by whom it was observed, signed and logged"],"does_not_cover":"whether the content is true, accurate, current or complete; a cite decision says the source may be cited and attributed, not that what it says is right"},"why":"no robots.txt policy was read, so permission is unknown; the publisher's identity was not observed, so attribution is unconfirmed","doubts":["no_policy","entity_unobserved"],"max_age_hours":168},"connect":{"decision":"unsupported","minimum_assurance":"conformant","assurance_found":[],"needs":"a declared capability that CrawlCheck invoked read-only and found to behave as declared","why":"the site declares no capability to connect to","doubts":[],"max_age_hours":72},"transact":{"decision":"require_confirmation","minimum_assurance":"action_ready","assurance_found":[],"needs":"owner-verified identity and an action-ready capability; CrawlCheck does not certify transactions, so a human confirms","why":"CrawlCheck does not certify transactions; a human confirms every financial, identity or irreversible action","doubts":[],"max_age_hours":24},"administer":{"decision":"block","minimum_assurance":"never automatic","assurance_found":[],"needs":"high-privilege operations are never authorised by a public record","why":"never authorised by a public record","doubts":[],"max_age_hours":0}},"absences":[{"what":"mcp_registry_listing","result":"absent","at":"2026-10-14T20:03:09.131Z","from":{"observer":"crawlcheck-worker","network":"cloudflare","source":"registry.modelcontextprotocol.io"},"checked":[{"method":"registry import","url":"https://registry.modelcontextprotocol.io/v0/servers","run":1,"servers_read":43267,"finished_at":"2026-10-14T20:03:09.131Z"}],"scope":"The official MCP Registry, read in full (import finished 2026-10-14T20:03:09.131Z), lists no remote MCP endpoint whose host is contentatscale.ai or a subdomain. Servers not listed in that registry are not covered."}],"control":{"state":"unproven","proofs":[],"organization":null,"claim":"https://crawlcheck.io/registry/contentatscale.ai/claim","why":"nobody has proven control of contentatscale.ai to CrawlCheck, so who stands behind the site is unconfirmed","note":"control says who answers for the domain, not whether it is safe; it does not change any decision in this answer"},"transparency":{"state":"pending","confirmed":false,"log_id":"crawlcheck-resolve-log-v1","leaf_hash":"0d72520043cd6e941d5986464fc7c698cf71ec06dfb73b0c1899eb7c24af80cb","queued_at":null,"merged_within_minutes":30,"proof":"https://crawlcheck.io/api/v1/log/proof?leaf=0d72520043cd6e941d5986464fc7c698cf71ec06dfb73b0c1899eb7c24af80cb","note":"this answer's content is new since the log was last read for this domain; whether it is already merged was not confirmed within the answer's time budget. The proof URL gives its state now."},"assurance_ladder":{"v":1,"level":null,"order":["declared","discovered","reachable","conformant","owner_verified","authorized","reliable","action_ready"],"rungs":[{"rung":"declared","state":"not_reached","why":"no crawl policy, capability or registry listing was found"},{"rung":"discovered","state":"not_reached","why":"nothing an agent could call was found (no OpenAPI, MCP card, A2A card or registry listing)"},{"rung":"reachable","state":"not_reached","why":"no robots.txt policy was read, so permission is unknown"},{"rung":"conformant","state":"not_reached","why":"nothing declared to test"},{"rung":"owner_verified","state":"not_reached","why":"nobody has proven control of contentatscale.ai to CrawlCheck, so who stands behind the site is unconfirmed"},{"rung":"authorized","state":"not_reached","why":"the domain's owner has published no authorization for agents"},{"rung":"reliable","state":"not_measured","why":"reliability is measured for MCP endpoints over time; none on this domain is on the panel"},{"rung":"action_ready","state":"not_reached","why":"not yet: declared, discovered, reachable, conformant, owner_verified, authorized, reliable"}],"rule":"level is the highest rung with every rung under it reached; a rung is reached only on measured evidence, not_reached when measured and short, not_measured when there was nothing to measure. The ladder describes evidence; each action's decision is still made in actions"},"code":{"version_id":"6929574e-df21-45a5-8a92-5b8ba41cc9aa","script_sha16":"85c9b9b6c9a512ed","state":"attested","deployed":{"at":"2026-10-18T20:02:49.319Z","commit":"2bf491f55991","run":"39161431635"},"build_log_entry":597,"score_version":32,"scoring_policy_sha256":"d3c9c95d409dae4e90b8e868ff113e631e445e33c14a0cc008dda144293821b3","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/6929574e-df21-45a5-8a92-5b8ba41cc9aa"},"sha256":"a6549c21b3fa570857be19801a0e8002ee89ccfa0b0e33f8eb6ed6492f78170a","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\na6549c21b3fa570857be19801a0e8002ee89ccfa0b0e33f8eb6ed6492f78170a","sig":"KlCDn1j_ppywfl2t4sQXQO14sCQbsmR9RE7ue1QRf5Ah0jGWdxelUkt2sl7TnhbCP-ylogOym2JquoLDrwlNBw","signed_at":"2026-10-19T03:10:51.686Z","key":{"kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","jwk":{"kty":"OKP","crv":"Ed25519","x":"5TmKCOx0TTHepq7HwyXBHvGQpVCSBd2lV8cLzYVqFxQ"},"published_in":"https://crawlcheck.io/.well-known/http-message-signatures-directory"},"canonical":"sha256 over canonical JSON of every field except sha256 and signature"}}