What you need to do immediately before informing an employee that you are letting them go is revoke their access to critical systems and/or disable their accounts. That way, you can allow them to go back to their desk and say their goodbyes to their coworkers without risking them doing silly stuff like delete data.
This leads to people who are sick finding out before they are fired, that they are fired. Happened at a client's place a couple years ago, they letting go of all the senior sysadmins, killed their credentials, then fired them. 2 of the admins were out sick, and they lost their email, and their access to the monitoring tools.
When the employees came in, they were escorted by "guards" to get their stuff, and not allowed to say goodbye to anyone. That said, they were allowed in the next day as a guest with no issues.
Company's assume the worst of people so they put in all these policies and procedures instead of treating adults like adults. If the adult decided to delete something. Charge them with a crime. I would go ahead and guess that no one that was laid off in that time would have done something so brazen.
Last I had lunch with any of them, they were doing better in their new gigs. More money or freedom.
Let me clarify: the type of procedure I suggested requires close collaboration between HR, legal, IT and the department the employee is in, and it requires careful execution. That can ensure that employees are not terminated while they are out sick, among other things.
For example:
It's Friday afternoon. HR calls department manager and asks them if Bob is currently at his desk. Department manager confirms.
HR then asks department manager to ask to have a quick chat with Bob, and to notify HR immediately before that meeting starts. Department manager arranges this with Bob, who is wrapping up another meeting.
15 minutes later, department manager sends an email or IM to HR saying he/she and Bob are about to head over to the meeting room, where Bob will be fired.
HR confirms, then contacts the IT department and asks them to immediately revoke Bob's access to all critical systems. (The procedure for this will be established well in advance, and documented. Ideally a script will make this a single-click operation.)
In the meeting, Bob finds out that he is being let go at the end of the day, and told that he can spend the remainder of his time at the office saying goodbyes and maybe even writing a goodbye email to his coworkers if he chooses to do so. He is explicitly instructed to BCC his manager and HR in that email. He is also made aware, both verbally and in writing, that his access to all other systems has been revoked, and even attempting to use those systems will alert HR and result in him immediately being escorted out.
--
Of course you also need strict policies such as "employees cannot use their personal email addresses when signing up for products and services on behalf of the company." That way if you fire someone you don't lose access to critical systems. Have a shared email for each department that is used for that purpose.
Or, you just ghost people. Walk in one day and your badge doesn't work. Or you somehow get in and you can't log on "sorry ma'am can't find you in the system here".
Didn't Twitter do something like that recently?
Although, begrudgingly I agree that it's something that should probably be done if you know somebody is being let go.
This happened to me once. I was not allowed in the building so I called a colleague to bring me in as a visitor. Upon trying to login, "account has been disabled". Called IT, "you've been fired". Called my line manager, "I have no idea what you're talking about". Turns out someone forgot to extend my contract on the system.