I have a MacBook Pro with a separate user account for work-related stuff. Suppose I am required by contract to use reasonable means to destroy all copies of data that I had access to while performing the contract.

What is a reasonably secure way to wipe a single account off the machine so it's practically impossible to recover the data from that account? Is it sufficient to simply delete the account and its contents? (My laptop has an SSD and I presume the firmware's write optimizations make it more difficult to recover deleted data than on magnetic media.) If not, does it make any difference if I'm using FileVault? If that still isn't secure enough, then what about deleting the account, doing a full-backup of the remaining account(s), formatting the SSD, and restoring the backup? Presumably the backup would not include any data from the previously-deleted work account...right? Or is there some other recommended way to selectively wipe a user account on a Mac laptop?

  • Do you have FileVault enabled on the laptop? – nohillside Sep 10 '15 at 14:20
  • Yes, I have FileVault enabled. – rob Sep 10 '15 at 15:04

I would do the following: from your other admin account, delete that corporate user account in SysPrefs/Accounts. I believe when you delete an account you have the option to leave the home folder where it is, which I would choose.

Then I would delete that account's home folder via the Terminal.app command rm -R -P /Users/TheAccountToDelete.

from man rm:

-P          Overwrite regular files before deleting them.  Files are overwritten
             three times, first with the byte pattern 0xff, then 0x00, and then
             0xff again, before they are deleted.

I am not sure if leaving FileVault on or off is the best way to accomplish this - test it out on a dummy user account first!

| improve this answer | |
  • 2
    Thanks for the suggestion. This might be useful for magnetic media, but an SSD is an entirely different kind of beast. Due to numerous firmware optimizations in the SSD, overwriting a file on an SSD will not overwrite the same memory cells in which the file was originally stored. At best the -P option will be ignored or discarded at some software layer, and at worst it will unnecessarily consume a (more or less insignificant) few of the limited write cycles from a number of the SSD's memory cells. – rob Sep 9 '15 at 14:13
  • You're right, good point. I didn't think of that. I thought some SSDs did in fact have some sort of "secure erase" feature, but whether Apple's rm -P is able to use that, I don't know. – Demis Sep 9 '15 at 23:19
  • From Apple's comment on secure-erasing an SSD: "Note: With an SSD drive, Secure Erase and Erasing Free Space are not available in Disk Utility. These options are not needed for an SSD drive because a standard erase makes it difficult to recover data from an SSD. For more security, consider turning on FileVault encryption when you start using your SSD drive." support.apple.com/en-us/HT201949 – Demis Oct 5 '15 at 18:53

In situations like this, I would create an encrypted disk image and store all stuff/data related to this contract in that image. If Mail is involved as well, I would also move ~/Library/Mail into that image and create a symlink in ~/Library to let Mail.app think everything is in order. Once the contract is done, simple delete the encrypted disk image and destroy the key (actually destroying the key would be enough).

| improve this answer | |
  • Thanks for the suggestion. Does Mac OS natively support encrypted storage containers or do I need to use a third-party tool like I do on Windows? This is a potentially a good solution for new contracts, but do you have any suggestions for cases in which the work has already been done without doing this additional setup prior to starting? – rob Sep 10 '15 at 13:56
  • You can use Disk Utility to create encrypted containers. – nohillside Sep 10 '15 at 14:17
  • Cool, I didn't know that. Thanks for the tip. – rob Sep 10 '15 at 15:06

As you have FileVault enabled, a sure way to destroy any critical data is

  • delete the account and its data
  • create a backup (just to be safe)
  • disable FileVault
  • wait until the disabling is finished
  • reenable FileVault (which creates a new key)

If you also run TimeMachine or similar, you may also need to remove the critical data from there (which may be not as easy as it sounds).

| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .