Newsletter
Back-office
Authoring and operations for the Newsletter service. This is a scaffold: the routes below are specified and not yet built. The authority is SPEC.md.
Login and sessions
SEC-06, SEC-07Email and password, argon2id. An opaque session cookie, httpOnly and checked against a row on every request.
Folder tree and templates
ORG-02, ORG-05, TPL-01Arbitrary nesting. A move states its rights delta and its resolved-partial delta before it is confirmed.
Block editor
EDT-01, EDT-02, TPL-05Ordered sections, not a canvas. Fields come from a picker over the declared schema, never typed by hand.
Preview and test send
EDT-03, EDT-04Desktop and mobile, light and dark, from sample data saved with the version. Test sends never count as production.
Publish
EDT-05, D13, D19Content on one side, field schema on the other. Breaking changes are confirmed; a partial publish reports how many templates it affects.
Tokens
API-01, SEC-01One token per template per environment, shown once. The list carries label and lastUsedAt, because the question asked is "can I revoke this one?".
Message log
OBS-01, OBS-02What was sent, to whom, from what data, and whether it arrived — with one status timeline per recipient.
Suppression list and dashboard
DLV-05, OBS-05Per project. Volume, delivery rate, bounce rate, failures by reason — enough to notice a template that started failing yesterday.
Environment: unset