{"id":"ct-inclusion-proof-verify","version":"1.0.0","description":"Strictly verify an RFC 6962 v1 Merkle audit path.","supported_operations":["verify an RFC 6962 v1 CT inclusion proof","validate a CT Merkle audit path","check a leaf against a certificate transparency root","audit CT log membership evidence","validate an RFC 6962 leaf index proof","recompute a root from a CT audit path"],"unsupported_operations":["RFC 9162 proofs","proof construction","signature verification"],"semantics":["The leaf is raw lowercase hex and receives the RFC 6962 0x00 prefix; proof hashes are leaf-to-root. The section 2.1.1 fn/sn walk consumes a sibling only where one exists.","Well-typed index, path-length, or root mismatches return a stable verdict; malformed contracts throw invalid_input and caps throw limit_exceeded.","Security-sensitive verification: proof validity establishes only that the supplied leaf and audit path produce the supplied RFC 6962 Merkle root. It does not authenticate a signed tree head, establish that a log is trustworthy, or apply any browser or log policy."],"limits":{"max_leaf_bytes":65536,"max_proof_entries":53},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["leaf","leaf_index","tree_size","proof","root"],"properties":{"leaf":{"type":"string","maxLength":131072,"pattern":"^([0-9a-f]{2})*$"},"leaf_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"tree_size":{"type":"integer","minimum":1,"maximum":9007199254740991},"proof":{"type":"array","maxItems":53,"items":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"root":{"type":"string","pattern":"^[0-9a-f]{64}$"}}},"output_schema":{"type":"object","additionalProperties":false,"required":["valid","reason","computed_root","standard","reference"],"properties":{"valid":{"type":"boolean"},"reason":{"type":["string","null"],"enum":["root_mismatch","path_length_wrong","index_out_of_range",null]},"computed_root":{"type":["string","null"],"pattern":"^[0-9a-f]{64}$"},"standard":{"type":"string","enum":["RFC 6962"]},"reference":{"type":"string","enum":["RFC 6962 sections 2.1 and 2.1.1"]}}},"examples":[{"input":{"leaf":"","leaf_index":0,"tree_size":1,"proof":[],"root":"6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d"},"output":{"valid":true,"reason":null,"computed_root":"6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d","standard":"RFC 6962","reference":"RFC 6962 sections 2.1 and 2.1.1"}},{"input":{"leaf":"","leaf_index":0,"tree_size":1,"proof":[],"root":"6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d"},"output":{"valid":true,"reason":null,"computed_root":"6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d","standard":"RFC 6962","reference":"RFC 6962 sections 2.1 and 2.1.1"}}],"execute_url":"/v1/tools/ct-inclusion-proof-verify/versions/1.0.0/execute"}