Soft deletes vs hard deletes
When a user deletes something, should it really be gone? The answer shapes everything from undo buttons to compliance.
Deleting data seems simple: the user clicks delete, the thing is gone. But there's a meaningful choice underneath — does 'delete' actually erase the data (a hard delete), or just mark it as deleted while keeping it (a soft delete)? Each has real consequences.
Soft deletes keep your options open
Marking something deleted rather than erasing it lets you offer undo, recover from mistakes, keep audit history, and avoid breaking other records that referenced it. Most of the time, this flexibility is worth it — accidental deletion is common and irreversible loss is painful.
But hard deletes are sometimes required
Sometimes data genuinely must be gone — privacy requests, regulatory requirements, or just not hoarding sensitive information forever. The right design often combines both: soft delete for everyday use and recoverability, with a real hard delete for the cases that demand it. The point is to choose deliberately, not by accident.
Decide what 'delete' really means before a user clicks it. Undo, compliance, and broken references all hang on the answer.