govtech

CivicGate

Demo · synthetic data · substrate-shape illustration

This is what a substrate-built govtech product looks like when running. UI is realistic; data is synthetic; click-throughs don't navigate. To see how this product was built, return to /build.

← Back to /build

Open applications

1,247

↑ 84 new today · 312 awaiting decision

Decisions issued · 30d

4,832

92.1% within statutory deadline

Audit events · 24h

12,418

hash-chained · 0 chain breaks · last verify 03:00 UTC

Active citizens

184,303

all eIDAS LoA-substantial or higher

Recent applications · last 8

TimeApplicationCitizenTypeOfficerStatus
12:47:21APP-2026-058312ssn:****1842permit · class Bofficer.lenaapproved
12:46:54APP-2026-058311ssn:****0925benefit · housingofficer.tomásreview
12:46:08APP-2026-058310ssn:****6431permit · class Aofficer.lenaapproved
12:45:33APP-2026-058309ssn:****2218registration · birthofficer.ainocomplete
12:44:51APP-2026-058308ssn:****8770appeal · 2025-014officer.tomásscheduled
12:44:02APP-2026-058307ssn:****0143benefit · disabilityofficer.ainoreview
12:43:18APP-2026-058306ssn:****5559permit · class Bofficer.lenarejected
12:42:44APP-2026-058305ssn:****3094registration · marriageofficer.ainoapproved

Audit trail · last 6 events

tamper-evident · GDPR Art. 30 compliant by construction
  1. 12:47:21
    officer.lenaissued decision: APPROVED APP-2026-058312 · hash=8f3a...d2c1 · prev=12fe...88a7
  2. 12:47:21
    audit-chainappended event, verified link to previous block #12,418 · merkle root verified at 03:00 UTC
  3. 12:46:54
    eidas-gateverified citizen identity LoA=substantial · provider=BankID · cert valid
  4. 12:45:33
    language-switchrendered page in citizen language fi-FI · accessible to WCAG 2.1 AA
  5. 12:43:18
    officer.lenaissued decision: REJECTED · with reasoning APP-2026-058306 · cited statute §14.2 · appealable
  6. 12:42:44
    audit-chaindaily integrity verification 12,418 events · 0 breaks · re-verified at 03:00 UTC

8 corpus-derived tests passing

§47.6 / §65.1 / §66 · provenance per test

Below: a slice of the test stubs the substrate injected into this product based on its §66 fingerprint. Each traces back to a corpus signature with full audit chain visible at /evidence.

  • audit_chain_hash_unbroken.test.ts

    expect-chain|audit_event.prev_hash.matches(prior.hash) · tamper-evidence · §47.6 strength-3 jackpot · public + fix-commit + runtime

  • eidas_loa_substantial_or_higher.test.ts

    comparison-gte|citizen.eidas_loa.>=substantial · eIDAS Art. 8 · §47.6 strength-2 · fix-commit corpus · auth-libs

  • wcag_aa_contrast.test.ts

    comparison-gte|color_contrast_ratio.>=4.5 · accessibility · WCAG 2.1 AA · universal · 38 repos

  • csrf_token_verified.test.ts

    expect-chain|csrf_token.verified · CWE-352 · universal · 23 repos · auth-libs

  • regex-match_xss_decision_html.test.ts

    regex-match|html_output|escaped · CWE-79 · §47.6 strength-3 jackpot

  • membership_open_redirect.test.ts

    !membership|redirect_url.host|allowed_hosts · CWE-601 · CVE-2024-29981 · §65.1 rising-CWE inferred · Wire 2 fired

  • ssrf_url_allowlist.test.ts

    regex-match|outbound_url|^https://[a-z0-9.-]+.gov.fi/ · CWE-918 · §47.6 strength-2 · fix-commit corpus

  • missing_authz_officer_role.test.ts

    expect-chain|user.role.is_authorized_for(decision) · CWE-862 · CVE-2024-12100 · §47.6 strength-2 · Wire 4 fired

Built by Promethean

This product was generated by the Promethean substrate's deterministic factory layer. 49 product generators emitted the application code; §66 fingerprint detected the product's risk surface; §47.6 selected which corpus-derived test stubs to inject; §62 production-runtime emitter is wired into every gate. Audit chain for any output file is reproducible from the Promethean repo.

Surfaces: /build (how it was built) · /evidence (live state.json) · /regulators (mandate-mapping for govtech-relevant articles)