govtechCivicGate

Runtime AI

L12 · Phase R3

Every citizen-message routing decision CivicGate makes goes through the substrate's runConstrainedAI SDK. Reviewer gate: on-low-confidence (≥ 0.80) — below the threshold a triage clerk reviews before queueing. Citizen identifier + message text are hash-only redacted in L12; the chain carries no citizen speech, just signed proof a routing happened.

L12 entries

10

Chain breaks

0 · ever

Schema-valid

80%

p95 latency

234ms

Reviewer-gated

2 / 10

Fallback triggered

2 / 10

Head hash

c25291c409d8585f…

RuntimeAISpec

CivicGate citizen-message router

civicgate-message-router

Route a citizen-submitted free-text service request to a municipal department + urgency bucket. Reviewer-gated on low confidence; every routing decision recorded in L12. eIDAS + GDPR Art. 22 + EU AI Act Annex III §5(a) anchored.

Categoryrouter
Reviewer gateon-low-confidence (≥ 0.8)
Fallbackdeterministic-default
Max latency3500ms
Modelanthropic / claude-sonnet-4-5-20250929
Model version2026-05-01

Input schema

  • citizenIdHash·stringhash-only
  • messageText·stringhash-only
  • channel·enum·{ web-portal | mobile-app | sms | phone-transcribed | walk-in-typed }
  • preferredLanguage·enum·{ fr | de | nl | it | es | pt | pl | en | other }
  • municipalityCode·string
  • hasPreviousOpenCase·boolean

Output schema (closed-enum)

  • department·enum·{ civic-registration | taxation | social-services | housing | public-works | environmental-services | public-transport | health-emergency | legal-affairs | education | needs-human-triage }
  • urgency·enum·{ low | normal | high | safety-critical }
  • expectedSlaDays·number
  • rationaleShort·string

L12 chain — every routing decision

10 entries · head c25291c409d8
#RecordedLatencySchemaReviewerFallbackHash
12025-05-12 11:30:00162msvalid9c34c8634e
22025-05-12 11:30:01148msvalidc9e591a585
32025-05-12 11:30:02198msvalid2b892da22c
42025-05-12 11:30:03132msvalid87c329a5ed
52025-05-12 11:30:04176msvalid62ba591b4b
62025-05-12 11:30:05121msvalid707176d7cb
72025-05-12 11:30:06234msvalidamended31b44095a0
82025-05-12 11:30:07211msvalidapproved75bb086505
92025-05-12 11:30:080msviolationfallbackaf5f0be96d
102025-05-12 11:30:090msviolationfallbackc25291c409

Verify the chain yourself

Download at /civicgate-runtime-ai-receipts.jsonl — the exact bytes the substrate seed produced. Verify with substrate's runnable bundle:

$ npm run substrate:verify-runtime-ai -- civicgate-runtime-ai-receipts.jsonl

Promethean L12 Runtime-AI Receipt Log
=====================================
schema:               promethean-runtime-ai-receipt-log-1.0
total entries:        10
products observed:    civicgate
specs observed:       civicgate-message-router
schema violations:    2     ← (out-of-enum department, fallback handled)
fallback triggered:   2     ← (1 out-of-enum, 1 LLM-error)
reviewer-gated:       2     ← (2 low-confidence decisions queued + verdict-recorded)

valid:                true
fully verified:       10 / 10

Want this for your municipality · ministry · agency?

Enterprise tier · €2,499/mo · self-service

This live L12 chain is a reference deployment for govtech. Your team can have the same shape — your closed-enum spec, reviewer gate with appeal-evidence chain, signed chain — for your citizen AI feature against GDPR Art. 22 + EU AI Act §5(a) + eIDAS 2. The pilot is fixed scope, fixed price, fixed timeline. Pre-registered falsifiable hypotheses. 50% money-back if the T+90d verdict misses.