ADR-0077: VayuMail Outbound — Pure-Go DKIM + Direct-MX (No Mox Fork)
Status: Accepted
Date: 2026-06-24
Author: @johalputt
Context
The original Phase 2 plan proposed forking the Mox mail server into the tree. A full Mox fork is tens of thousands of lines, adds significant binary/attack surface, and would have to be tracked against upstream — at odds with the single-binary, low-maintenance constitution.
Decision
Implement the outbound sovereignty path in pure Go on the standard library rather than vendoring Mox:
- DKIM signing per RFC 6376 (relaxed/relaxed, RSA-2048/SHA-256), key generated and persisted under the storage path.
- Direct-to-MX delivery (
net/smtp) with opportunistic STARTTLS — no third-party relay. - A durable SQLite-backed retry queue with exponential backoff.
- Maildir storage; automatic MX/SPF/DKIM/DMARC record generation with live DNS health checks.
- Outgoing mail is auto-PGP-encrypted when a recipient key is discoverable.
The NOTICE file is corrected: VayuPress does not bundle or fork Mox.
Consequences
- Positive: small, auditable, no upstream-fork maintenance burden; clean licence chain.
- Trade-off: we own the protocol code; inbound is delivered separately (ADR-0078) rather than inheriting Mox's receive stack.