{"inputSchema":{"type":"object","required":["records"],"additionalProperties":false,"properties":{"records":{"type":"array","minItems":1,"maxItems":500,"description":"Audit records in chain order.","items":{"type":"object","required":["id","sequence","timestamp","previous_hash","payload","hash"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Stable event id."},"sequence":{"type":"integer","minimum":0,"maximum":1000000000,"description":"Monotonic event position."},"timestamp":{"type":"string","minLength":1,"maxLength":80,"description":"Event time as supplied by the log producer."},"previous_hash":{"anyOf":[{"type":"string","minLength":64,"maxLength":71},{"type":"null"}],"description":"Hash of the previous record, or null for the first record."},"payload":{"description":"Event payload to include in the record hash."},"hash":{"type":"string","minLength":64,"maxLength":71,"description":"Claimed SHA-256 hash of this record."}}}},"root_hash":{"type":"string","minLength":64,"maxLength":71,"description":"Optional claimed Merkle root over the computed record hashes."},"require_monotonic_sequence":{"type":"boolean","default":true,"description":"Require sequence numbers to increase by one."}}},"requestExample":{"records":[{"id":"evt-001","sequence":1,"timestamp":"2026-08-19T09:00:00Z","previous_hash":null,"payload":{"action":"created","actor":"build-bot","subject":"release-2026.08.19"},"hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4"},{"id":"evt-002","sequence":2,"timestamp":"2026-08-19T09:01:00Z","previous_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","payload":{"action":"approved","actor":"release-manager","subject":"release-2026.08.19"},"hash":"4584b3d398d3dd075f43d61a2c44991c61d3183c22243582c367cdccb1af664c"}],"root_hash":"f6e5b0a2eeed0102fcdd3480a6f7a851bb55679f2d3c7e532df3780f46c1b426"},"price_usdc":"0.005","example_request":{"records":[{"id":"evt-001","sequence":1,"timestamp":"2026-08-19T09:00:00Z","previous_hash":null,"payload":{"action":"created","actor":"build-bot","subject":"release-2026.08.19"},"hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4"},{"id":"evt-002","sequence":2,"timestamp":"2026-08-19T09:01:00Z","previous_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","payload":{"action":"approved","actor":"release-manager","subject":"release-2026.08.19"},"hash":"4584b3d398d3dd075f43d61a2c44991c61d3183c22243582c367cdccb1af664c"}],"root_hash":"f6e5b0a2eeed0102fcdd3480a6f7a851bb55679f2d3c7e532df3780f46c1b426"},"serviceName":"HALOWERK sicherwerk","tags":["security","audit","hash-chain","merkle"],"outputSchema":{"type":"object"},"outputExample":{"valid":true,"verdict":"consistent","record_count":2,"first_broken":null,"merkle":{"checked":true,"claimed_root_hash":"f6e5b0a2eeed0102fcdd3480a6f7a851bb55679f2d3c7e532df3780f46c1b426","computed_root_hash":"f6e5b0a2eeed0102fcdd3480a6f7a851bb55679f2d3c7e532df3780f46c1b426","root_matches":true,"tree_rule":"Pair adjacent computed record hashes as text, duplicate the last hash on odd levels, SHA-256 each concatenated pair."},"records":[{"index":0,"id":"evt-001","sequence":1,"claimed_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","computed_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","hash_matches":true,"claimed_previous_hash":null,"expected_previous_hash":null,"link_matches":true,"sequence_matches":true},{"index":1,"id":"evt-002","sequence":2,"claimed_hash":"4584b3d398d3dd075f43d61a2c44991c61d3183c22243582c367cdccb1af664c","computed_hash":"4584b3d398d3dd075f43d61a2c44991c61d3183c22243582c367cdccb1af664c","hash_matches":true,"claimed_previous_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","expected_previous_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","link_matches":true,"sequence_matches":true}],"findings":[],"checked_at":"2026-10-22T23:41:37.085Z","duration_ms":0,"limits":"This verifies internal hash-chain consistency only. It does not prove that the logged events happened, that identities are authorized, or that an external transparency service accepted the log."}}