● 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 #3.
Hash-chain context
prevHash
2b892da22c2c346be263ebe8b1551d475f18fe9ea37b02810c188b1b1c9b7f2athis entry · hash
87c329a5ed88502f9e32d63a2550c190be7648b059e1a37616cb4b41a93b13a8next.prevHash (= this.hash)
87c329a5ed88502f9e32d63a2550c190be7648b059e1a37616cb4b41a93b13a8Decision summary
Category
router
closed enumModel identity
anthropic
claude-sonnet-4-5-20250929 · v2026-05-01Latency
132 ms
within spec.maxLatencyMsSchema valid
✓ yes
Reviewer verdict
—
Fallback triggered
no
OTS anchor
covered by later head
Cryptographic commits (SHA-256)
specHash
5b05721a66c6c11d9cf1761a50485b486ffd0e628794651a76df5e05e78e810cinputHash
2fd57762651636af7c2d234ca486e6af60fb55bd060d395f6c24fd72d8c48118PII-safe · raw input never recorded
outputCanonicalHash
db32e0fcb4c88e34ef143cae75a76c8fc4d6dfb3fd0cae04eff966d1ed0a4f0bschema-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": 4,
"recordedAtMs": 1747049403000,
"recordedAtIso": "2025-05-12T11:30:03.000Z",
"productId": "civicgate",
"specId": "civicgate-message-router",
"specHash": "5b05721a66c6c11d9cf1761a50485b486ffd0e628794651a76df5e05e78e810c",
"inputHash": "2fd57762651636af7c2d234ca486e6af60fb55bd060d395f6c24fd72d8c48118",
"outputCanonicalHash": "db32e0fcb4c88e34ef143cae75a76c8fc4d6dfb3fd0cae04eff966d1ed0a4f0b",
"category": "router",
"modelIdentity": {
"provider": "anthropic",
"model": "claude-sonnet-4-5-20250929",
"version": "2026-05-01"
},
"latencyMs": 132,
"schemaValid": true,
"reviewerVerdict": null,
"fallbackTriggered": false,
"prevHash": "2b892da22c2c346be263ebe8b1551d475f18fe9ea37b02810c188b1b1c9b7f2a",
"hash": "87c329a5ed88502f9e32d63a2550c190be7648b059e1a37616cb4b41a93b13a8",
"attestation": {
"algorithm": "ed25519",
"publicKey": "y6F3rt10CEcSakCrnJIYkGymA66x3VXm0zCWbPjRxP8=",
"signature": "916sNY+t8S13BbCpf0jADR10EGDtRBPGZXH0iJi8WFD+I2rJf16eIuPG01xcLvu4p6f3PELIfARH2LnCWn+zBA==",
"signedAtIso": "2025-05-12T11:30:03.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/87c329a5ed88502f….ots