{"kind":"crawlcheck-resolve","v":1,"schema":"https://crawlcheck.io/schemas/resolve.json","domain":"openai.com","answered_at":"2026-10-19T02:25:38.679Z","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.","status":"measured","basis":{"kind":"census","run":17,"rank":90,"measured_at":"2026-10-18T05:37:26.221Z","scope":"the daily agentic-web census: the homepage as 5 identities, robots.txt, the sitemap and 0 machine files. No findings and no grade come from it; POST https://crawlcheck.io/api/scan for a full record."},"subject":{"domain":"openai.com","host":"openai.com"},"freshness":{"observed_at":"2026-10-18T05:37:26.221Z","age_hours":20.8,"source":"census","last_verified_at":"2026-10-18T05:37:26.221Z","fresh_until":"2026-10-25T05:37:26.221Z","stale":false,"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":{"version_tag":null,"vantage":null},"independent_readings":0,"by_field":"https://crawlcheck.io/api/corroboration?domain=openai.com","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":"declared","observed_at":"2026-10-18T05:37:26.221Z","source":"https://openai.com/robots.txt","http_status":200,"path_tested":"/","agents":[{"agent":"GPTBot","allowed_homepage":true},{"agent":"OAI-SearchBot","allowed_homepage":true},{"agent":"ChatGPT-User","allowed_homepage":true},{"agent":"ClaudeBot","allowed_homepage":true},{"agent":"Claude-SearchBot","allowed_homepage":true},{"agent":"PerplexityBot","allowed_homepage":true},{"agent":"Google-Extended","allowed_homepage":true},{"agent":"Applebot-Extended","allowed_homepage":true},{"agent":"CCBot","allowed_homepage":true},{"agent":"Bytespider","allowed_homepage":true},{"agent":"Meta-ExternalAgent","allowed_homepage":true},{"agent":"Amazonbot","allowed_homepage":true}],"content_signal":null,"note":"robots.txt governs access and Content-Signal governs use; both are what the site declares, not what it serves"},"delivery":{"state":"observed","observed_at":"2026-10-18T05:37:26.221Z","url":"https://openai.com/","identity_basis":"every identity was sent by CrawlCheck from its own network; none is the named operator's own crawler","identities":[{"identity":"browser","label":"Mobile browser","status":403,"bytes":9861,"html":true,"final_host":"openai.com","sha256":"7ee8a1aa22e32388421d378e2fb75697b79d1f47e8e608dc6a668957d9092a71"},{"identity":"gptbot","label":"GPTBot","status":403,"bytes":9861,"html":true,"final_host":"openai.com","sha256":"6e8b94849d171385f51704ca831396865ccefbd2d7e280707f49f82556f5f9b9"},{"identity":"claudebot","label":"ClaudeBot","status":403,"bytes":9775,"html":true,"final_host":"openai.com","sha256":"6463cbfdcc6cc1c53631f6370492742fa3ff00b72fadf3ca6079c0f47c13416a"},{"identity":"oaisearch","label":"OAI-SearchBot","status":403,"bytes":9882,"html":true,"final_host":"openai.com","sha256":"3cee5886f32292150ab01ebab560e04bc115ac2bd471c4b5386ba43ac2ffbd51"},{"identity":"perplexity","label":"PerplexityBot","status":403,"bytes":9968,"html":true,"final_host":"openai.com","sha256":"a07fdffc1ea43bcb19fcd84192a5ffa320a06ad6dbe89b615297874f96765d30"}],"same_bytes_for_every_identity":false},"machine_files":{"state":"observed","observed_at":"2026-10-18T05:37:26.221Z","files":[{"path":"/robots.txt","status":200,"content_type":"text/plain","bytes":98,"present":true,"sha256":"c53100563b9d289efeebb6f826a20c566578e1337e3096e298eb9da5ecc2e498"}],"hashes":"sha256 is of the body each path served, as the census record holds it"},"capabilities":{"state":"not_measured","observed_at":"2026-10-18T05:37:26.221Z","why":"no capability discovery in the census"},"entity":{"state":"not_measured","observed_at":"2026-10-18T05:37:26.221Z","why":"the census carries no entity reading"},"findings":{"access":"public","rule":null,"items":[],"summary":null,"withheld":null,"note":"a census record carries readings, not findings"},"confidence":{"identities_answered":5,"vantages":1,"note":"one vantage, one pass","sample":null,"sample_note":"this stored answer was built before readings, networks and intervals were recorded (2026-10-08); it is rebuilt on the domain's next scan or independent reading","vantage_state":{"state":"not_recorded","means":"this stored answer predates recorded readings; it is rebuilt on the next scan","networks":0,"readings":0,"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":null,"evidence":{"census_record":"https://crawlcheck.io/api/census/records?run=17&domain=openai.com","scan":"POST https://crawlcheck.io/api/scan {\"domain\":\"openai.com\"}","offline_verifier":"https://crawlcheck.io/crawlcheck-verify.mjs?v=b22547e95463d03e","verify_this_answer":"save it as answer.json, then: node crawlcheck-verify.mjs answer.json"},"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=openai.com"},"impersonation":{"state":"known_site","verdict":"known_site","brand_frame":"Tranco top 10,000 (Y83YG)"},"content_clock":{"homepage":{"url":"https://openai.com/","observed":false,"start":"https://crawlcheck.io/api/v1/content-clock?url=https%3A%2F%2Fopenai.com%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=openai.com","reading":"no claim ledger yet; reading the API URL starts it"},"read_equivalence":{"url":"https://openai.com/","observed":true,"verdict":"unverifiable","checked_at":"2026-10-16T00:08:12.005Z","first_observed":"2026-10-10T23:21:47.901Z","ai_identities_served":null,"identities":[],"api":"https://crawlcheck.io/api/v1/read-equivalence?url=https%3A%2F%2Fopenai.com%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-17T21:08:34.965Z","api":"https://crawlcheck.io/api/v1/rights?domain=openai.com","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":"not_declared","decided_by":{"signal":"robots.txt","url":"https://openai.com/robots.txt","evidence":"access is open to GPTBot, ClaudeBot, Google-Extended, CCBot, Applebot-Extended, meta-externalagent on / and no signal states whether train is allowed"},"conflicts":0},"ground":{"value":"not_declared","decided_by":{"signal":"robots.txt","url":"https://openai.com/robots.txt","evidence":"access is open to OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User on / and no signal states whether ground is allowed"},"conflicts":0},"summarize":{"value":"not_declared","decided_by":{"signal":"robots.txt","url":"https://openai.com/robots.txt","evidence":"access is open to OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User on / and no signal states whether summarize is allowed"},"conflicts":0},"cite":{"value":"not_declared","decided_by":{"signal":"robots.txt","url":"https://openai.com/robots.txt","evidence":"access is open to OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot, Bingbot on / and no signal states whether cite is allowed"},"conflicts":0},"transact":{"value":"not_declared","decided_by":{"signal":"robots.txt","url":"https://openai.com/robots.txt","evidence":"access is open to ChatGPT-User, Claude-User, Perplexity-User on / and no signal states whether transact is allowed"},"conflicts":0}},"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":["declared"],"needs":"robots.txt lets AI agents read the path, and the page was served to at least one AI-crawler identity","why":"no AI-crawler identity was served the page (gptbot 403, claudebot 403, oaisearch 403, perplexity 403)","doubts":["not_served"],"max_age_hours":168},"cite":{"decision":"warn","minimum_assurance":"reachable + entity observed","assurance_found":["declared"],"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 AI-crawler identity was served the page (gptbot 403, claudebot 403, oaisearch 403, perplexity 403); the publisher's identity was not observed, so attribution is unconfirmed","doubts":["not_served","entity_unobserved"],"max_age_hours":168},"connect":{"decision":"warn","minimum_assurance":"conformant","assurance_found":[],"needs":"a declared capability that CrawlCheck invoked read-only and found to behave as declared","why":"capability discovery was not measured on this answer","doubts":["capabilities_unmeasured"],"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 openai.com or a subdomain. Servers not listed in that registry are not covered."}],"control":{"state":"unproven","proofs":[],"organization":null,"claim":"https://crawlcheck.io/registry/openai.com/claim","why":"nobody has proven control of openai.com 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":"included","log_id":"crawlcheck-resolve-log-v1","leaf_hash":"c640b0e4090c3cc5774e3d6ddac0f6d4e4e340ea7bced2d92ec0291793a5878d","batch":752,"index":99,"batch_size":132,"path":["c4f0f634a43061abaa788997719bccae41f8f1a6f8f13bdd5b82c971371bec64","9e118643e3424adb01afd533bd35e6e1e5fbccec3ff76cac787d2335e72cab8c","2cba7753777da45ccd6ff298d3e58b91f1b57c87d741e59dd8a386e3301f65da","cc659bd3d9ce404d4432e9931b18088527e531ca0b187af8e09c43f4937edb99","c21911b311bc943d6c794db1d362259a535cb5d591060f27ba656d927ecc541d","7d770b91ff5f537b4c5f305d2aff6cf7ad5dd140c33f55d16cc495fb4a00be1b","8f6a9cd30992de6b06b4d5d8e2923ead91a8a74171ff8f3318f4734dbc44f938","731629aba0c6cf3543bdeddc79268a1ec32b4271422bda7211f6a4289f26d840"],"sth":{"kind":"crawlcheck-log-sth","v":1,"log_id":"crawlcheck-resolve-log-v1","batch":752,"first_index":164312,"batch_size":132,"tree_size":164444,"batch_root":"9455aefd5ab1a0e532a603c5eea3d3bd956104a11309abecac4d75841be51d99","prev_sth_sha256":"df90495a524395c314d6c69f939878eaa274a51da30a145cf20af316d90227b5","created_at":"2026-10-19T01:32:38.368Z","rules":{"leaf":"SHA-256(0x00 || canonical JSON of the answer's decision content)","tree":"RFC 9162 Merkle tree hash over this batch's leaf hashes, sorted","chain":"prev_sth_sha256 is the sha256 of the previous batch's signed tree head; batch numbers are consecutive and tree_size grows by batch_size"},"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":"f6efcf669d82d5f241e084c01ed2215687783392af5cd08ed7ca53ee9acd82fc","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\nf6efcf669d82d5f241e084c01ed2215687783392af5cd08ed7ca53ee9acd82fc","sig":"jDp3Mkq-5hWNXrDPuicS-haxzEva7-u54lndFzMO6xe3ienxRXA4GrV199ccOycFEvOkZtXrCXR1iqr32mCqAQ","signed_at":"2026-10-19T01:32:39.051Z","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"}},"witnesses":"https://crawlcheck.io/api/v1/log/sth/752","content_rule":"leaf = SHA-256(0x00 || canonical JSON of the answer's decision content); see https://crawlcheck.io/api/v1/log"},"assurance_ladder":{"v":1,"level":"declared","order":["declared","discovered","reachable","conformant","owner_verified","authorized","reliable","action_ready"],"rungs":[{"rung":"declared","state":"reached","why":"robots.txt policy declared"},{"rung":"discovered","state":"not_measured","why":"capability discovery was not measured on this answer"},{"rung":"reachable","state":"not_reached","why":"no AI-crawler identity was served the page (gptbot 403, claudebot 403, oaisearch 403, perplexity 403)"},{"rung":"conformant","state":"not_reached","why":"nothing declared to test"},{"rung":"owner_verified","state":"not_reached","why":"nobody has proven control of openai.com 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: 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":"e4b311dc78b12bf8611050c3b4dbd97ba375b76c1f479178d1fb714934dc7342","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\ne4b311dc78b12bf8611050c3b4dbd97ba375b76c1f479178d1fb714934dc7342","sig":"cQ4oY98G7mlc336m8aMZOOu8mm4q8geg-W48nVaWKt1gxqn1vNJaSqTcDFJFRO7S6C2oOdbMb_VOlmsnGobZDg","signed_at":"2026-10-19T02:25:38.708Z","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"}}