Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a site where a regular user can delete records, where what happens is that an IsDeleted flag gets set. On administrative pages, a privileged user can delete records where an actual SQL DELETE permanently discards such records. The difference is important for obvious reasons, and I want to use a consistent term to refer to the one form of deletion vs. the other. I've been playing with the words Remove, Delete, Discard and possibly Recycle, and Archive.

My question is: are there standard user-facing terms that distinguish these two behaviors?

share|improve this question
Just a few examples: In IMAP, the terminology is delete (soft delete) vs. expunge (hard delete). In Windows, the terminology is delete (move to recycle bin) vs. permanently delete (remove from recycle bin). – Heinzi Feb 9 '13 at 15:55
As long as you don't go down the delete, really_delete, really_really_delete road, you should be fine IMO. – Hakan Deryal Feb 10 '13 at 7:51
@HakanDeryal Isn't really_delete fairly close to permanently delete (from Windows) :-) ? – KajMagnus Jun 19 '13 at 21:01
Yes, they both sucks. – Hakan Deryal Jun 22 '13 at 17:00
up vote 3 down vote accepted

For regular users they click the Trash icon to flag a record for deleting. The privileged users can then view the contents of the Trash and delete those icons.

Delete is permanent, where as Trash can be thought of as a location.

The user can move records to the Trash.


The privileged user deleted records in the Trash.

The other words don't work well for me.

I don't like Recycle because it implies a different meaning then simply deleting records.

Archive implies permanent storage, and possibly moving the records to offline storage.

share|improve this answer
Your answer has forced me to reconsider my original question. While @Heinzi's comment better answers the question I thought I was asking, you answered the question I asked more precisely than did he. What I am left contemplating is whether there is a difference between a hard and a soft delete if, from the user's standpoint, neither should be recoverable. Or I could just be overthinking the whole matter. – Bob Kaufman Feb 11 '13 at 15:37
Well, for me soft delete implies a deletion that involves software, and hard delete implies a deletion that involves hardware. A soft delete of a file would be marking the file as erased in the file system (but the bytes are still there on the hard drive), where as a hard delete would be writing zeros to all the bytes on the hard drive to ensure it can not be recovered. For a database a hard delete would be compacting the database to ensure the old record can not be recovered by an administrator. – ThinkingMedia Feb 11 '13 at 16:55

One interface I saw had options to Retire (soft-delete) or Delete (actually remove) data from the database.

share|improve this answer
That UI Designer clearly never saw the movie "Blade Runner", then. – Phill W. Jun 22 at 11:42

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.