● Verified
Ed25519 · RFC 8032
Signed by
y6F3rt10CEcSakCrnJIYkGymA66x3VXm0zCWbPjRxP8=Trust anchor
y6F3rt10CEcSakCrnJIYkGymA66x3VXm0zCWbPjRxP8=Entry signature verifies under the operator's published Ed25519 trust anchor. Hash chain matches: prevHash links to entry #2.
Hash-chain context
prevHash
c9e591a585b02b751a55161bb8cfac97dc0a115036daf75531642ce4fb7b5b6dthis entry · hash
2b892da22c2c346be263ebe8b1551d475f18fe9ea37b02810c188b1b1c9b7f2anext.prevHash (= this.hash)
2b892da22c2c346be263ebe8b1551d475f18fe9ea37b02810c188b1b1c9b7f2aDecision summary
Category
router
closed enumModel identity
anthropic
claude-sonnet-4-5-20250929 · v2026-05-01Latency
198 ms
within spec.maxLatencyMsSchema valid
✓ yes
Reviewer verdict
—
Fallback triggered
no
OTS anchor
covered by later head
Cryptographic commits (SHA-256)
specHash
5b05721a66c6c11d9cf1761a50485b486ffd0e628794651a76df5e05e78e810cinputHash
9f5e6b8549c6b9770ba9708df91b46458c41a322233808f73f3e95a52526d51ePII-safe · raw input never recorded
outputCanonicalHash
b811f8d0db49dcc4e24ccf32736f892a8ab0d5f99125af2288d9dd561a60d267schema-projected; not the raw text
Regulatory questions this entry answers
| Field | Mandate | Answers |
|---|---|---|
L12 entry exists at all | AI Act Art. 12 (record-keeping) | Was each high-risk AI output produced under a declared schema? |
attestation.signature | GDPR Art. 5(1)(f), Art. 32 (integrity) | Has this record been tampered with? |
reviewerVerdict | GDPR Art. 22, AI Act Art. 14 | Did a human review the decision when required? |
fallbackTriggered | AI Act Art. 15 (accuracy + robustness) | When the model failed, did the system fall back safely? |
inputHash | GDPR Art. 25 (data minimisation) | Raw input never recorded — only the SHA-256 hash. |
modelIdentity | AI Act Art. 13, PSD3 vendor diligence | Which exact model version made this decision? |
Raw L12 entry (canonical form v1)
{
"id": 3,
"recordedAtMs": 1747049402000,
"recordedAtIso": "2025-05-12T11:30:02.000Z",
"productId": "civicgate",
"specId": "civicgate-message-router",
"specHash": "5b05721a66c6c11d9cf1761a50485b486ffd0e628794651a76df5e05e78e810c",
"inputHash": "9f5e6b8549c6b9770ba9708df91b46458c41a322233808f73f3e95a52526d51e",
"outputCanonicalHash": "b811f8d0db49dcc4e24ccf32736f892a8ab0d5f99125af2288d9dd561a60d267",
"category": "router",
"modelIdentity": {
"provider": "anthropic",
"model": "claude-sonnet-4-5-20250929",
"version": "2026-05-01"
},
"latencyMs": 198,
"schemaValid": true,
"reviewerVerdict": null,
"fallbackTriggered": false,
"prevHash": "c9e591a585b02b751a55161bb8cfac97dc0a115036daf75531642ce4fb7b5b6d",
"hash": "2b892da22c2c346be263ebe8b1551d475f18fe9ea37b02810c188b1b1c9b7f2a",
"attestation": {
"algorithm": "ed25519",
"publicKey": "y6F3rt10CEcSakCrnJIYkGymA66x3VXm0zCWbPjRxP8=",
"signature": "Qk75G/DLF9KiLRu0hhhhI8/fkL/OR1f+5EnBaqfTIToxzBT/2cCvF56oeYFAT3VZ1H9HxFdFZCn9bk62Mk80BQ==",
"signedAtIso": "2025-05-12T11:30:02.000Z",
"canonicalForm": "v1"
}
}Reproduce this verification independently
Re-verify the entire chain
node verify.mjs civicgate-runtime-ai-receipts.jsonl
Cross-check with the Python verifier
python -m promethean_runtime_ai.verify civicgate-runtime-ai-receipts.jsonl
Verify the Bitcoin anchor
ots verify civicgate-runtime-ai-receipts.jsonl.anchors/2b892da22c2c346b….ots