{"kind":"crawlcheck-resolve","v":1,"schema":"https://crawlcheck.io/schemas/resolve.json","domain":"ginkgobioworks.com","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":"partial","basis":{"kind":"just_in_time","measured_at":"2026-10-19T01:34:40.149Z","budget_ms":1000,"took_ms":509,"not_read_in_budget":[],"scope":"read live the moment this domain was first asked about: DNS, the TLS connection, the homepage as a browser and 2 AI identities, robots.txt, the sitemap and 6 machine files, all inside one 1000 ms budget. Anything listed in not_read_in_budget was not read and is not reported absent. No findings, no grade, no capability invoked."},"subject":{"domain":"ginkgobioworks.com","host":"www.ginkgo.bio"},"freshness":{"observed_at":"2026-10-19T01:34:40.149Z","age_hours":0,"source":"just_in_time","last_verified_at":"2026-10-19T01:34:40.149Z","fresh_until":"2026-10-26T01:34:40.149Z","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=ginkgobioworks.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-19T01:34:40.149Z","source":"https://ginkgobioworks.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-19T01:34:40.149Z","url":"https://ginkgobioworks.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":200,"bytes":88871,"html":true,"final_host":"www.ginkgo.bio","sha256":"e2f0085e41ae76080ef687a99a341492f1a38e3c9def40141c3755e1e812dd5b"},{"identity":"gptbot","label":"GPTBot","status":200,"bytes":88871,"html":true,"final_host":"www.ginkgo.bio","sha256":"e2f0085e41ae76080ef687a99a341492f1a38e3c9def40141c3755e1e812dd5b"},{"identity":"claudebot","label":"ClaudeBot","status":200,"bytes":88871,"html":true,"final_host":"www.ginkgo.bio","sha256":"e2f0085e41ae76080ef687a99a341492f1a38e3c9def40141c3755e1e812dd5b"}],"same_bytes_for_every_identity":true},"machine_files":{"state":"observed","observed_at":"2026-10-19T01:34:40.149Z","files":[{"path":"/robots.txt","status":200,"content_type":"text/plain","bytes":0,"present":true,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},{"path":"/sitemap.xml","status":404,"content_type":"text/html","bytes":7915,"present":false,"sha256":"93076662780749ca321c0d7455e70f06f7917a64219960fd5a1e49305a32e96d"},{"path":"/llms.txt","status":404,"content_type":"text/html","bytes":7915,"present":false,"sha256":"93076662780749ca321c0d7455e70f06f7917a64219960fd5a1e49305a32e96d"},{"path":"/agents.md","status":404,"content_type":"text/html","bytes":7915,"present":false,"sha256":"93076662780749ca321c0d7455e70f06f7917a64219960fd5a1e49305a32e96d"},{"path":"/.well-known/agent-skills/index.json","status":404,"content_type":"text/html","bytes":88,"present":false,"sha256":"62b6eec5bc825126a7b9734e03ff00c9dc7899f3f07111746bf583d193b44dd0"},{"path":"/.well-known/mcp/server-card.json","status":404,"content_type":"text/html","bytes":88,"present":false,"sha256":"62b6eec5bc825126a7b9734e03ff00c9dc7899f3f07111746bf583d193b44dd0"},{"path":"/.well-known/api-catalog","status":404,"content_type":"text/html","bytes":88,"present":false,"sha256":"62b6eec5bc825126a7b9734e03ff00c9dc7899f3f07111746bf583d193b44dd0"},{"path":"/.well-known/agent-card.json","status":404,"content_type":"text/html","bytes":88,"present":false,"sha256":"62b6eec5bc825126a7b9734e03ff00c9dc7899f3f07111746bf583d193b44dd0"}],"hashes":"sha256 is of the body each path served, as the census record holds it"},"capabilities":{"state":"observed","observed_at":"2026-10-19T01:34:40.149Z","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,"declared_files":[],"note":"the census records whether a capability file is present; nothing was invoked or verified. A full scan verifies declared capabilities."},"entity":{"state":"not_measured","observed_at":"2026-10-19T01:34:40.149Z","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":3,"vantages":1,"note":"one vantage, one pass, read under a time budget"},"contradictions":null,"evidence":{"scan":"POST https://crawlcheck.io/api/scan {\"domain\":\"ginkgobioworks.com\"}","offline_verifier":"https://crawlcheck.io/crawlcheck-verify.mjs?v=234adad16c4886f8","verify_this_answer":"save it as answer.json, then: node crawlcheck-verify.mjs answer.json"},"assurance":"partial","dns":{"state":"observed","observed_at":"2026-10-19T01:34:40.149Z","resolver":"Cloudflare DNS over HTTPS (1.1.1.1)","exists":true,"a":["76.76.21.21"],"aaaa":[],"cname":[],"rcode":"NOERROR","dnssec_validated":true,"note":"dnssec_validated is the resolver's AD flag: the answer was DNSSEC-signed and the signature chain checked"},"tls":{"state":"observed","observed_at":"2026-10-19T01:34:40.149Z","https":true,"url":"https://ginkgobioworks.com/","final_host":"www.ginkgo.bio","http_status":200,"hsts":"max-age=31536000","certificate":"accepted: the TLS handshake to www.ginkgo.bio completed and the certificate chain was trusted (an untrusted or expired certificate fails the fetch)","note":"the connection the homepage fetch made; the certificate itself is not published here"},"upgrade":{"state":"queued","to":"full","expected":"at the next cron window (:02, :17, :32 or :47 UTC), usually within 30 minutes","how":"a full scan is queued; when it lands this answer is replaced and the change appears on https://crawlcheck.io/api/v1/changes?domain=ginkgobioworks.com as section assurance, partial → full","scan_now":"POST https://crawlcheck.io/api/scan {\"domain\":\"ginkgobioworks.com\"}"},"answered_at":"2026-10-19T04:01:40.196Z","served_from":"kept just-in-time reading (6 h)","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. This is a partial (just-in-time) answer: only what it read live counts, so cite, connect and transact cannot reach their assurance until the full scan lands","read":{"decision":"allow","minimum_assurance":"reachable","assurance_found":["declared","reachable"],"needs":"robots.txt lets AI agents read the path, and the page was served to at least one AI-crawler identity","why":"2 of 2 AI-crawler identities were served the page","doubts":[],"max_age_hours":168},"cite":{"decision":"warn","minimum_assurance":"reachable + entity observed","assurance_found":["declared","reachable"],"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":"2 of 2 AI-crawler identities were served the page; the publisher's identity was not observed, so attribution is unconfirmed","doubts":["entity_unobserved","read_equivalence_unmeasured"],"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":"sitemap","path":"/sitemap.xml","result":"absent","at":"2026-10-19T01:34:40.149Z","from":{"observer":"crawlcheck-worker","network":"cloudflare","directory":"https://crawlcheck.io/.well-known/crawlcheck-observers.json"},"checked":[{"method":"GET","url":"https://ginkgobioworks.com/sitemap.xml","status":404,"redirects":"followed"}],"scope":"GET https://ginkgobioworks.com/sitemap.xml answered HTTP 404 at 2026-10-19T01:34:40.149Z. The file was not served at this path then; this says nothing about the same content at another path or a later time."},{"what":"llms_txt","path":"/llms.txt","result":"absent","at":"2026-10-19T01:34:40.149Z","from":{"observer":"crawlcheck-worker","network":"cloudflare","directory":"https://crawlcheck.io/.well-known/crawlcheck-observers.json"},"checked":[{"method":"GET","url":"https://ginkgobioworks.com/llms.txt","status":404,"redirects":"followed"}],"scope":"GET https://ginkgobioworks.com/llms.txt answered HTTP 404 at 2026-10-19T01:34:40.149Z. The file was not served at this path then; this says nothing about the same content at another path or a later time."},{"what":"agents_md","path":"/agents.md","result":"absent","at":"2026-10-19T01:34:40.149Z","from":{"observer":"crawlcheck-worker","network":"cloudflare","directory":"https://crawlcheck.io/.well-known/crawlcheck-observers.json"},"checked":[{"method":"GET","url":"https://ginkgobioworks.com/agents.md","status":404,"redirects":"followed"}],"scope":"GET https://ginkgobioworks.com/agents.md answered HTTP 404 at 2026-10-19T01:34:40.149Z. The file was not served at this path then; this says nothing about the same content at another path or a later time."},{"what":"agent_skills_index","path":"/.well-known/agent-skills/index.json","result":"absent","at":"2026-10-19T01:34:40.149Z","from":{"observer":"crawlcheck-worker","network":"cloudflare","directory":"https://crawlcheck.io/.well-known/crawlcheck-observers.json"},"checked":[{"method":"GET","url":"https://ginkgobioworks.com/.well-known/agent-skills/index.json","status":404,"redirects":"followed"}],"scope":"GET https://ginkgobioworks.com/.well-known/agent-skills/index.json answered HTTP 404 at 2026-10-19T01:34:40.149Z. The file was not served at this path then; this says nothing about the same content at another path or a later time."},{"what":"mcp_server_card","path":"/.well-known/mcp/server-card.json","result":"absent","at":"2026-10-19T01:34:40.149Z","from":{"observer":"crawlcheck-worker","network":"cloudflare","directory":"https://crawlcheck.io/.well-known/crawlcheck-observers.json"},"checked":[{"method":"GET","url":"https://ginkgobioworks.com/.well-known/mcp/server-card.json","status":404,"redirects":"followed"}],"scope":"GET https://ginkgobioworks.com/.well-known/mcp/server-card.json answered HTTP 404 at 2026-10-19T01:34:40.149Z. The file was not served at this path then; this says nothing about the same content at another path or a later time."},{"what":"api_catalog","path":"/.well-known/api-catalog","result":"absent","at":"2026-10-19T01:34:40.149Z","from":{"observer":"crawlcheck-worker","network":"cloudflare","directory":"https://crawlcheck.io/.well-known/crawlcheck-observers.json"},"checked":[{"method":"GET","url":"https://ginkgobioworks.com/.well-known/api-catalog","status":404,"redirects":"followed"}],"scope":"GET https://ginkgobioworks.com/.well-known/api-catalog answered HTTP 404 at 2026-10-19T01:34:40.149Z. The file was not served at this path then; this says nothing about the same content at another path or a later time."},{"what":"a2a_agent_card","path":"/.well-known/agent-card.json","result":"absent","at":"2026-10-19T01:34:40.149Z","from":{"observer":"crawlcheck-worker","network":"cloudflare","directory":"https://crawlcheck.io/.well-known/crawlcheck-observers.json"},"checked":[{"method":"GET","url":"https://ginkgobioworks.com/.well-known/agent-card.json","status":404,"redirects":"followed"}],"scope":"GET https://ginkgobioworks.com/.well-known/agent-card.json answered HTTP 404 at 2026-10-19T01:34:40.149Z. The file was not served at this path then; this says nothing about the same content at another path or a later time."}],"transparency":{"state":"included","log_id":"crawlcheck-resolve-log-v1","leaf_hash":"5d2911288c5b3ae541758985bb7afc208a0f3aa4c5e954062a0ec7107586bb50","batch":753,"index":59,"batch_size":282,"path":["5ce66f2d31f906e3147587093b075bacc47d04116e363e99927e8590daa7dc8d","b864200056615c13206b57c76907f2efa91acc2279308f764c122678ae2fa1d7","0fa18796b260af4a40cc0d6ac66d1202b48b454d73a141b8c5f0dd08abeaea3e","544e2285577da445ef88e8e9fd3ee8cc213c2d7314bab6ddee1da231a5a1eaec","411fbe9bc8f7e7831ed41507a22830623ca198542fd314690e908823fb7eaf9c","7ee2c39a3c85ad27f176cff8200931d095e0933a32fb55a13aa2c697b36ba7ba","dfcefd5175cee2abe3813e9d5bff4d12b1ead407bc5ec0c6c2e97757357be56c","59c3f2069a695e621b69e51856d03fcce733f69bc4f11eac1643f3cc82500cd6","f5255889421a7eb2c317838233deb992b3a8c4cb9c1ee1fa056f6b37fe7918e6"],"sth":{"kind":"crawlcheck-log-sth","v":1,"log_id":"crawlcheck-resolve-log-v1","batch":753,"first_index":164444,"batch_size":282,"tree_size":164726,"batch_root":"f6fb505406eff7dcae3fd3c8ff0fcdfcf4a854919c0e75e0f00465cf9e42086d","prev_sth_sha256":"f6efcf669d82d5f241e084c01ed2215687783392af5cd08ed7ca53ee9acd82fc","created_at":"2026-10-19T01:47:40.400Z","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":"3c2e82d324f8f5c3459ffce43867e7e8c2486491d14e7a5d382eff6c62d327dd","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\n3c2e82d324f8f5c3459ffce43867e7e8c2486491d14e7a5d382eff6c62d327dd","sig":"LDWefbpNXTgnkj2f3nNszo8b47wqD72yohYnTwbUyrlKSrKbuggwQoQv8U1GG0NV-x0R2vdo8qCIkFYTaB6TCQ","signed_at":"2026-10-19T01:47:40.958Z","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/753","content_rule":"leaf = SHA-256(0x00 || canonical JSON of the answer's decision content); see https://crawlcheck.io/api/v1/log"},"control":{"state":"unproven","proofs":[],"organization":null,"claim":"https://crawlcheck.io/registry/ginkgobioworks.com/claim","why":"nobody has proven control of ginkgobioworks.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"},"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_reached","why":"nothing an agent could call was found (no OpenAPI, MCP card, A2A card or registry listing)"},{"rung":"reachable","state":"reached","why":"AI-crawler identities were served the page"},{"rung":"conformant","state":"not_reached","why":"nothing declared to test"},{"rung":"owner_verified","state":"not_reached","why":"nobody has proven control of ginkgobioworks.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, 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":"6e92d8c0fa5dc7116c8fc645fa5aaaabe7545d0caa64429415c8bafa17cb5eb2","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\n6e92d8c0fa5dc7116c8fc645fa5aaaabe7545d0caa64429415c8bafa17cb5eb2","sig":"8KrBXZWPc2kHb8TsDW-KdRjR7kJTCZuABB0FeRQRHB_GQg_yeDqXAsWSbaxlSIzsIBCEs7jX9G_mqt1Hk1vgCg","signed_at":"2026-10-19T04:01:40.439Z","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"}}