● 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 #1.
Hash-chain context
prevHash
9c34c8634e1bc7095f24d9af8781cf16545cbf1920941fa281f361111e3e1bf0this entry · hash
c9e591a585b02b751a55161bb8cfac97dc0a115036daf75531642ce4fb7b5b6dnext.prevHash (= this.hash)
c9e591a585b02b751a55161bb8cfac97dc0a115036daf75531642ce4fb7b5b6dDecision summary
Category
router
closed enumModel identity
anthropic
claude-sonnet-4-5-20250929 · v2026-05-01Latency
148 ms
within spec.maxLatencyMsSchema valid
✓ yes
Reviewer verdict
—
Fallback triggered
no
OTS anchor
covered by later head
Cryptographic commits (SHA-256)
specHash
5b05721a66c6c11d9cf1761a50485b486ffd0e628794651a76df5e05e78e810cinputHash
e3cec2e7f37c8a353a883f3e1a18c6b2c3c378f2124fdc6c07e36880cdfa97edPII-safe · raw input never recorded
outputCanonicalHash
97caf3e22faea4fbe0635d8aa523b5b298d7ea8f9b5175420c46558b826176fcschema-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": 2,
"recordedAtMs": 1747049401000,
"recordedAtIso": "2025-05-12T11:30:01.000Z",
"productId": "civicgate",
"specId": "civicgate-message-router",
"specHash": "5b05721a66c6c11d9cf1761a50485b486ffd0e628794651a76df5e05e78e810c",
"inputHash": "e3cec2e7f37c8a353a883f3e1a18c6b2c3c378f2124fdc6c07e36880cdfa97ed",
"outputCanonicalHash": "97caf3e22faea4fbe0635d8aa523b5b298d7ea8f9b5175420c46558b826176fc",
"category": "router",
"modelIdentity": {
"provider": "anthropic",
"model": "claude-sonnet-4-5-20250929",
"version": "2026-05-01"
},
"latencyMs": 148,
"schemaValid": true,
"reviewerVerdict": null,
"fallbackTriggered": false,
"prevHash": "9c34c8634e1bc7095f24d9af8781cf16545cbf1920941fa281f361111e3e1bf0",
"hash": "c9e591a585b02b751a55161bb8cfac97dc0a115036daf75531642ce4fb7b5b6d",
"attestation": {
"algorithm": "ed25519",
"publicKey": "y6F3rt10CEcSakCrnJIYkGymA66x3VXm0zCWbPjRxP8=",
"signature": "s6pyOVtuCwSiWXsQOhM6DDo3WDdzYiOUXqtXC9zD6mHgyAZ21DcNQX7ExCbHcjS0wiqcTYCispCvrqKP5Xc+BA==",
"signedAtIso": "2025-05-12T11:30:01.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/c9e591a585b02b75….ots