● 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 #7.
Hash-chain context
prevHash
31b44095a0d3c431abb47fd13cdb32d8f1b9728580abc5c46bf37d84bcb49e50this entry · hash
75bb08650520158d21a493b158242ae5e7e2b472e9247605f9fa07744250eb64next.prevHash (= this.hash)
75bb08650520158d21a493b158242ae5e7e2b472e9247605f9fa07744250eb64Decision summary
Category
router
closed enumModel identity
anthropic
claude-sonnet-4-5-20250929 · v2026-05-01Latency
211 ms
within spec.maxLatencyMsSchema valid
✓ yes
Reviewer verdict
approved
Fallback triggered
no
OTS anchor
covered by later head
Cryptographic commits (SHA-256)
specHash
5b05721a66c6c11d9cf1761a50485b486ffd0e628794651a76df5e05e78e810cinputHash
d6ac4e24eb837b48ad94e0a973ddd4f2bbeec53f6e4a68c3e510a487f4aea7afPII-safe · raw input never recorded
outputCanonicalHash
3925bbb8e79566abecad9f8c3f9d0d806ca496138d1f6a046187be57befa56faschema-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": 8,
"recordedAtMs": 1747049407000,
"recordedAtIso": "2025-05-12T11:30:07.000Z",
"productId": "civicgate",
"specId": "civicgate-message-router",
"specHash": "5b05721a66c6c11d9cf1761a50485b486ffd0e628794651a76df5e05e78e810c",
"inputHash": "d6ac4e24eb837b48ad94e0a973ddd4f2bbeec53f6e4a68c3e510a487f4aea7af",
"outputCanonicalHash": "3925bbb8e79566abecad9f8c3f9d0d806ca496138d1f6a046187be57befa56fa",
"category": "router",
"modelIdentity": {
"provider": "anthropic",
"model": "claude-sonnet-4-5-20250929",
"version": "2026-05-01"
},
"latencyMs": 211,
"schemaValid": true,
"reviewerVerdict": "approved",
"fallbackTriggered": false,
"prevHash": "31b44095a0d3c431abb47fd13cdb32d8f1b9728580abc5c46bf37d84bcb49e50",
"hash": "75bb08650520158d21a493b158242ae5e7e2b472e9247605f9fa07744250eb64",
"attestation": {
"algorithm": "ed25519",
"publicKey": "y6F3rt10CEcSakCrnJIYkGymA66x3VXm0zCWbPjRxP8=",
"signature": "z18YPCRO3u+B4OsSTSfSWRB09D8RSnJxLTmeODKtyP+DsyvzH1q6KLzSoes/rBXZsnV/Z61wMtYdj/2MeJRhDQ==",
"signedAtIso": "2025-05-12T11:30:07.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/75bb08650520158d….ots