Remove the unsubscribe-token dual-verify window early (ADR 0020 acceptance) #296
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#296
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Operator decision while accepting ADR 0020 (2026-07-31): the dual-verify transition window for unsubscribe tokens is unnecessary and shall be removed early — with the next milestone rather than waiting for the stated 2026-11-01 expiry.
What to remove: the legacy verification path behind
LEGACY_VERIFY_UNTILinapps/api/src/notifications/unsubscribe-token.ts(accepting the pre-#188 derivation for links in already-sent mail). Consequence, stated honestly: unsubscribe links in mails sent before the #188 deploy stop working; recipients use the in-app notification settings instead. That is acceptable — the instance population is small and non-Prod mail delivery is test-only.Scope: delete the legacy branch and its constant, adjust/remove the covering tests, note the removal in the security documentation's key-hierarchy section if it mentions the window.
Done via PR #299 (merged, CI green). Verification is subkey-only; the legacy derivation and
LEGACY_VERIFY_UNTILare gone, a regression test pins that the pre-#188 derivation can never verify again, andsecurity.mdrecords the removal with the stated consequence (old mail links dead; in-app notification settings instead). Ships with release v0.13.0.