Skip to content

Architecture Decision Records

Each significant decision is captured as a numbered, immutable ADR. We supersede rather than edit. New engineers should read these first to understand why the system is the way it is.

# Decision Status
0001 Record architecture decisions Accepted
0002 Website and portal as two apps, one brand Accepted
0003 Kamal multi-app droplet Accepted
0004 Postgres per app with a read only bridge Accepted
0005 Mailjet HTTP API on one account for all email Accepted
0006 Portal auth: Devise, mandatory 2FA, AR encryption Accepted
0007 Consent ledger and verified-only sending Accepted
0008 BDD/TDD release gate Accepted
0009 Docs as code with MkDocs Accepted

New ADR? Copy the template.