docs(campaign): clarify legacy mail secret treatment

This commit is contained in:
2026-07-21 20:49:20 +02:00
parent bfbb86564c
commit a8c0750dd7
2 changed files with 21 additions and 19 deletions

View File

@@ -219,10 +219,12 @@ continue to satisfy the snapshot. A host, account identity, protocol, sender,
or other revisioned transport change stops delivery until the campaign is
revalidated and rebuilt.
### Legacy campaign records
### Existing legacy database records
Historical versions may contain inline SMTP/IMAP material. They are retained as
audit records, but:
The current Campaign database may contain versions with inline SMTP/IMAP
material. No separate historical Campaign JSON corpus exists. Inline transport
material in those rows is treated as inert legacy data and is never interpreted
as an executable Mail configuration:
- public responses remove legacy transport fields and secrets;
- validation, build, queue, retry, and delivery fail closed;
@@ -230,11 +232,10 @@ audit records, but:
Mail-settings save; and
- a locked version is preserved and must be forked to an editable successor.
This is execution containment, not complete historical secret remediation.
Operators still need a separately approved migration/retention procedure for
old database snapshots and backups that may contain legacy campaign secrets;
that decision and its acceptance conditions are tracked in
[`govoplan-campaign#77`](https://git.add-ideas.de/add-ideas/govoplan-campaign/issues/77).
Normal database backup/restore and access controls cover those rows together
with the rest of the current database. There is no separate historical-JSON,
backup-scanning, or inline-secret migration program. Restoring an existing
legacy row preserves it as inert evidence and does not make it deliverable.
### Recipient and attachment evidence
@@ -451,9 +452,7 @@ the current baseline:
- a fully packaged one-command Campaign reference composition with production
policy presets and target-provider certification;
- function-bound Postbox delivery (stage 2 of the reference program);
- generic workflow-driven campaign transitions; and
- complete remediation of legacy secrets in historical databases and backups
([`govoplan-campaign#77`](https://git.add-ideas.de/add-ideas/govoplan-campaign/issues/77)).
- generic workflow-driven campaign transitions.
Each item needs an owning issue, implementation, failure tests, documentation,
and release evidence before the wording above can move from planned to current.