Currently there is only hard C3sMember.delete_by_id, and
membership_member_delete.py carries a TODO admitting it is not restricted
to non-accepted applications. Needed:
- Restrict hard deletion to non-accepted applications; accepted members must
go through membership loss (deleting them would violate GenG
record-keeping).
- An
anonymize() operation that nulls PII while keeping the statutory
ledger data (membership number, shares, dues aggregates).
- A retention-review view listing records whose clocks have expired: lost
members past retention, and stale never-completed applications.
- The same retention pass for artifacts outside the DB: generated PDFs in
invoices/ and certificate files.
Currently there is only hard
C3sMember.delete_by_id, andmembership_member_delete.pycarries a TODO admitting it is not restrictedto non-accepted applications. Needed:
go through membership loss (deleting them would violate GenG
record-keeping).
anonymize()operation that nulls PII while keeping the statutoryledger data (membership number, shares, dues aggregates).
members past retention, and stale never-completed applications.
invoices/and certificate files.