Malawi OneGov -- national digital government platform pilot: Birth Certificate + Trading Licence journeys on a shared identity/workflow/payments/audit platform
# Malawi OneGov — Pilot Scaffold
A working, runnable slice of the Malawi OneGov national digital government
platform: three full citizen journeys -- **apply for a Birth Certificate**,
**apply for a Trading Licence** (both: apply → upload documents → pay the
fee via mobile money → track status → get notified → download the digital
certificate), and **file a complaint** -- built on the shared platform
services every government service reuses (identity/MFA, API gateway,
workflow engine, payments, notifications, document wallet, tamper-evident
audit log, reporting).
The second and third services exist specifically to prove the platform's
core claim: onboarding a new government service is a new workflow template
plus one new domain service, not a change to the shared engine. Complaints
in particular is a deliberately *different-shaped* process from the other
two (no fee, no approve/reject branch, and a real reopen loop) -- proof the
engine generalizes to something other than a structurally-identical clone.
See `docs/ARCHITECTURE.md` for exactly what was
reused unchanged vs. added new.
See `docs/ARCHITECTURE.md` for the full component
map and how it maps back to the platform brief, and
`docs/openapi.yaml` for the public API contract --
browse it interactively at
localhost once the stack is
running (see "Developer portal" below).
> This repository is the **code scaffold** deliverable. It does not include
> the long-form strategy document (executive summary, governance model,
> procurement, staffing, cost categories, etc.) from the original brief --
> ask if you'd like that written up separately.
## What's implemented
| Service | Port | Responsibility |
| --- | --- | --- |
| `api-gateway` | 4000 | Single public entry point, JWT-aware routing, rate limiting |
| `identity-service` | 4001 | Registration, TOTP MFA, login, JWT/refresh, RBAC |
| `audit-service` | 4002 | Hash-chained, tamper-evident audit log |
| `workflow-service` | 4003 | Generic finite-st …