notes-history-user-data
GDPR (Art. 20 export / Art. 17 erasure) coverage for the notes-history feature’s note-entry and note-mention entities. Mounts the export hook so a user’s authored notes are included in the user-data export bundle; the note-entry delete hook crypto-shreds the row-subject key of each note that structurally @-mentions the forgotten user (note-mention) or hangs on the user as host entity (regardless of the host entity’s retention strategy: the note text is free PII, the host’s anonymize/blockDelete protects the row, not the content), keeping the append-only history intact for all other notes. The manual crypto-shredding forget-subject command reaches the same notes for user and record subjects through the exported eraseNoteBodiesReachingSubject, and the export lists them under note-mention. note-mention’s own hooks are a no-op — it is a plain FK pointer, not separately exportable content. Kept separate from notes-history so notes consumers without the user-data-rights pipeline don’t pull a hard dependency — requires user-data-rights, optionalRequires notes-history.
How it fits
Section titled “How it fits”What this feature needs to run (Requires).
flowchart TB
n_notes_history_user_data["notes-history-user-data"]
subgraph how_reqs["Requires / optional"]
n_user_data_rights["user-data-rights"]
n_notes_history["notes-history"]
end
n_user_data_rights --> n_notes_history_user_data
n_notes_history -.->|optional| n_notes_history_user_data
Dependencies
Section titled “Dependencies”- Requires:
user-data-rights - Optional:
notes-history - Activation: always on (not toggleable)
Extensions & cross-feature APIs
Section titled “Extensions & cross-feature APIs”- Registers extension:
userData→note-entry,userData→note-mention