{"kind":"crawlcheck-resolve","v":1,"schema":"https://crawlcheck.io/schemas/resolve.json","domain":"latent.bio","answered_at":"2026-10-19T04:00:44.062Z","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","subject":{"domain":"latent.bio","host":"latent.bio","path":"/","report_id":"3nx0nlwud4","scanned_at":"2026-10-07T10:19:15.390Z","score_version":28},"freshness":{"observed_at":"2026-10-07T10:19:15.390Z","age_hours":281.7,"latest_report_id":"3nx0nlwud4","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-10-07T10:19:15.390Z","fresh_until":"2026-10-14T10:19:15.390Z","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":{"version_tag":"f27e3b4d25b58164","vantage":{"kind":"cloudflare-worker","colo":null}},"independent_readings":0,"by_field":"https://crawlcheck.io/api/corroboration?domain=latent.bio","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-10-07T10:19:15.390Z","why":"this record carries no per-crawler robots.txt reading"},"delivery":{"state":"not_measured","observed_at":"2026-10-07T10:19:15.390Z","why":"this record carries no per-identity delivery reading"},"machine_files":{"state":"observed","observed_at":"2026-10-07T10:19:15.390Z","files":[{"path":"/robots.txt","status":null,"content_type":null,"bytes":0,"verdict":"error"},{"path":"/sitemap.xml","status":null,"content_type":null,"bytes":0,"verdict":"error"},{"path":"/sitemap_index.xml","status":null,"content_type":null,"bytes":0,"verdict":"error"},{"path":"/wp-sitemap.xml","status":null,"content_type":null,"bytes":0,"verdict":"error"},{"path":"/llms.txt","status":null,"content_type":null,"bytes":0,"verdict":"error"}],"read_before_page":[],"hashes":"every fetched body's SHA-256 is in the sealed manifest: https://crawlcheck.io/api/artifact/3e4ef9812bd1ae7b6dad33d29532517d2feaf83863d74d9d6b9c835d49b32e28?body=1"},"capabilities":{"state":"observed","observed_at":"2026-10-07T10:19:15.390Z","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":{"id":"ccap1:b1454faf1127e1fdfd8966119166b59337eb0bc36b099d0b4d5a5395b34a5cc9","signed":true,"entry":"https://crawlcheck.io/api/registry/capabilities?domain=latent.bio","verify":"https://crawlcheck.io/api/registry/capabilities/verify?domain=latent.bio"},"items":"https://crawlcheck.io/api/capabilities?domain=latent.bio"},"entity":{"state":"not_measured","observed_at":"2026-10-07T10:19:15.390Z","why":"this record carries no entity reciprocity reading"},"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=latent.bio"},"content_clock":{"homepage":{"url":"https://latent.bio/","observed":false,"start":"https://crawlcheck.io/api/v1/content-clock?url=https%3A%2F%2Flatent.bio%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=latent.bio","reading":"no claim ledger yet; reading the API URL starts it"},"read_equivalence":{"url":"https://latent.bio/","observed":true,"verdict":"unverifiable","checked_at":"2026-10-15T23:58:38.839Z","first_observed":"2026-10-10T20:25:34.863Z","ai_identities_served":null,"identities":[],"api":"https://crawlcheck.io/api/v1/read-equivalence?url=https%3A%2F%2Flatent.bio%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-17T18:44:12.891Z","api":"https://crawlcheck.io/api/v1/rights?domain=latent.bio","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://latent.bio/robots.txt","evidence":"robots.txt could not be read: no answer; the site's policy for train is unknown"},"conflicts":0},"ground":{"value":"unknown","decided_by":{"signal":"robots.txt","url":"https://latent.bio/robots.txt","evidence":"robots.txt could not be read: no answer; the site's policy for ground is unknown"},"conflicts":0},"summarize":{"value":"unknown","decided_by":{"signal":"robots.txt","url":"https://latent.bio/robots.txt","evidence":"robots.txt could not be read: no answer; the site's policy for summarize is unknown"},"conflicts":0},"cite":{"value":"unknown","decided_by":{"signal":"robots.txt","url":"https://latent.bio/robots.txt","evidence":"robots.txt could not be read: no answer; the site's policy for cite is unknown"},"conflicts":0},"transact":{"value":"unknown","decided_by":{"signal":"robots.txt","url":"https://latent.bio/robots.txt","evidence":"robots.txt could not be read: no answer; 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":"f1:e2328814d1bc0174d931","decision_id":"d1:58d5705a5ca81ce41ef9","code":"NO_SITEMAP_FOUND","severity":4,"path":"/","title":"No XML sitemap found","rule_revision":1,"span_id":"1fcfcfe319782523","state":"persisted","valid_time":{"valid_from":{"after":null,"by":"2026-09-18T03:06:59.878Z"},"valid_to":null,"recorded_at":"2026-09-18T03:06:59.878Z","superseded_at":null,"superseded_by":null,"earlier_intervals":0,"before_bt1":true},"observations_linked":3,"trust":{"freshness":{"observed_at":"2026-10-07T10:19:15.390Z","last_observed":"2026-10-07T10:19:15.390Z","held_since":"2026-09-18T03:06:59.878Z","state":"persisted"},"confidence":{"level":"reproduced","means":"seen again: repeated on the scanner's own network, or in more than one scan","basis":["seen in 5 scans since 2026-09-18","the decision names the 3 fetches it read"]},"contradictions":[]},"score_effect":{"decision_id":"d1:58d5705a5ca81ce41ef9","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 (39) already reads F, so the letter is the same without it. Moves no points."},"root_cause":null,"corroboration":{"status":"not_applicable","reading":"this finding does not depend on the requesting identity or network"},"explain":{"mcp_tool":"explain_finding","arguments":{"id":"d1:58d5705a5ca81ce41ef9"},"url":"https://crawlcheck.io/api/explain?id=d1:58d5705a5ca81ce41ef9"},"disputes":[]},{"title":"No llms.txt","severity":1,"path":"/llms.txt","locked":true},{"title":"HTTPS is served without a Strict-Transport-Security header","severity":1,"path":"/","locked":true}],"summary":{"total":3,"serious":1,"by_severity":{"High":1,"Note":2}},"withheld":"Every finding is listed by title, severity and path. The top one carries its code, detail and evidence; the other 2 are locked (locked: true) and need a licence or the fix service: https://crawlcheck.io/pricing"},"confidence":{"identities_answered":{"n":0,"of":0,"ratio":null},"vantages":1,"note":"counts and ratios only - there is no composite confidence number, because the parts do not combine into one honestly","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":{"site":[],"between_networks_open":[],"locked_findings_not_shown":2},"evidence":{"report":"https://crawlcheck.io/r/3nx0nlwud4","machine_record":"https://crawlcheck.io/api/v1/machine-record?id=3nx0nlwud4","manifest_sha256":"3e4ef9812bd1ae7b6dad33d29532517d2feaf83863d74d9d6b9c835d49b32e28","verify":"https://crawlcheck.io/api/verify?id=3nx0nlwud4","bundle":"https://crawlcheck.io/api/bundle?id=3nx0nlwud4","offline_verifier":"https://crawlcheck.io/crawlcheck-verify.mjs?v=85daeb4ae4fded94","verify_this_answer":"save it as answer.json, then: node crawlcheck-verify.mjs answer.json"},"impersonation":{"state":"no_lookalike","verdict":"no_lookalike","brand_frame":"Tranco top 10,000 (Y83YG)"},"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 latent.bio or a subdomain. Servers not listed in that registry are not covered."}],"control":{"state":"unproven","proofs":[],"organization":null,"claim":"https://crawlcheck.io/registry/latent.bio/claim","why":"nobody has proven control of latent.bio 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":"f2d1dc1a53c8a9d3fd216b6734d6490dd36c0cacba159e943af2957202f91c99","batch":446,"index":35,"batch_size":42,"path":["eaad50d92e2f5d8f43174b4c985ea25bc443d87eaeb1043e1fc1fdc84648a41d","19ca39e6846557cb194e6aad74c6d1d2da85941388d0656bf16a0dba9666d7cd","82eab9586ccb659fb52f5e23b26ce29b5276b70498ba401f097132e9c1b8c27d","e4331c4a9036c5a61fe29c12e2654264eb2b014bcc7b729504642c8c23f32bcc","c95cf56168c43a633aee79f7cd4d8451334388cb6745d26cca805c0f9ae8f899"],"sth":{"kind":"crawlcheck-log-sth","v":1,"log_id":"crawlcheck-resolve-log-v1","batch":446,"first_index":119254,"batch_size":42,"tree_size":119296,"batch_root":"7b1a819506e66eb9db5f940c05657a9a2d2c2b213aa949a67d4920c4bc291e2f","prev_sth_sha256":"ee23018f0a772cd9093985bcefe47fd612cd466d98bf749652038ed540909542","created_at":"2026-10-14T07:03:04.710Z","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":"a0b27a0e-2c79-4841-b2b1-093d95552111","script_sha16":"e7dadc5fed0bfc6a","state":"attested","deployed":{"at":"2026-10-11T18:18:04.747Z","commit":"09ee2035eaf1","run":"38163186367"},"build_log_entry":227,"score_version":31,"scoring_policy_sha256":"86898d2a8c88d6b56e6710f3aadf4375cbb5342d4a2f9aa017b536d95602d671","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/a0b27a0e-2c79-4841-b2b1-093d95552111"},"sha256":"f90c034c00fbe9cfea8c8a04df8cbae3b0b2eb8c835707bf1afbdadce2bf066f","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\nf90c034c00fbe9cfea8c8a04df8cbae3b0b2eb8c835707bf1afbdadce2bf066f","sig":"d2otQD9mQp0kCJ3DK0--o7vTjkjJ_ItZib5tXypFadnyRMYQEa14G5jrdKNlaJpYNlOj7gh2b65PbCKUMz7HCg","signed_at":"2026-10-14T07:03:05.163Z","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/446","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":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_measured","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 latent.bio 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":"22db999d95151f7abe219269ae31e5ff3217525b9403c1089b73c37b3e6dbbf3","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\n22db999d95151f7abe219269ae31e5ff3217525b9403c1089b73c37b3e6dbbf3","sig":"zkhseYJwzJuuoXCrqXUaC-dNhOMmybnG8hHWb7Kgy_M47V40EddkyzZCJ_nfvM6Z0IyGyqeKrGOIVe0d4hNoDw","signed_at":"2026-10-19T04:00:44.113Z","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"}}