Hard Delete Row Versus Soft Delete (deleted_at Flag)
TradeoffMidSeniorUpdated
User requests account deletion in a system that powers downstream analytics.
Short answer: Hard delete row. GDPR/privacy expectations require actual removal of personal data.
The Two Options
A
Hard delete row
B
Soft delete (deleted_at flag)
Drill This: Your Pick First
The Better Pick
Option A
Hard delete row
GDPR/privacy expectations require actual removal of personal data. Soft delete keeps the data, which becomes a liability.
When the Other One Wins
Soft delete (deleted_at flag)
For business documents (invoices, audit records) where you must retain history, soft delete with role-based visibility is correct.