I've built a few small applications that are used by different small groups of people in my small organization. So far, its been sufficient for a user to tell me they made a mistake, and I go into the whatever table(s) are affected, and delete the record(s). My latest project is larger, and will have at least a couple dozen users, and I have been thinking about how best to handle it. This system has different user levels, the highest being administrator, of which there are 2. Because this db might get referenced during audits, just a simple delete is probably a bad idea. I wouldn't want an auditor to ask "why is there a gap in the record index"? My instinct is to allow admins to move a mistake to an archive table, so if the question of where the record went arises, it could be answered. To be fair, we've had a couple accidental data entries, that ended up getting saved because users didn't know pressing the Escape Key would have rectified the situation, so that's on me for not educating folks. At this point, the powers that be don't want to go full audit trail, so that's off the table. I guess my question is what is best practice, and how have others handled it?