How to securely delete files on a Mac (and why most advice is out of date)
Apple removed Secure Empty Trash, and the rm -P flag does nothing on modern macOS. What actually erases a file on an SSD, on an external drive, and what to do instead.
Emptying the Trash does not erase a file. It removes the entry that points at it and marks the space reusable. Until something happens to overwrite that space, the contents are still on the disk, and any of a dozen free recovery tools will find them.
Most advice about fixing this on a Mac is several macOS versions out of date. Two corrections first, because they are the ones that get repeated.
Two pieces of advice that no longer work
“Use Secure Empty Trash.” Apple removed it in OS X 10.11 El Capitan, in 2015. The reason was not that it was unnecessary — it was that Apple could no longer guarantee it worked on the SSDs that had become standard. The menu item is gone; there is nothing to enable.
“Use rm -P to overwrite the file.” Ask your own Mac what that flag does:
man rm
Look for -P:
-P This flag has no effect. It is kept only for backwards
compatibility with 4.4BSD-Lite2.
It is a no-op. Tutorials still recommend it. The related srm command was
removed from macOS entirely — which srm returns nothing.
Why overwriting stopped being reliable
On a spinning hard disk, a logical block maps to a physical spot on a platter. Write zeroes over it and the old data is gone.
SSDs do not work that way. The controller does wear levelling: when you write to a “location”, it usually writes to a fresh physical cell and remaps the pointer, leaving the original cell holding your old data until garbage collection gets to it — which the operating system cannot force or observe. So a multi-pass overwrite aimed at a file on an internal SSD may leave several copies untouched in cells you cannot address.
This is why Apple removed the feature rather than fixing it.
What actually protects data on a modern Mac
Full-disk encryption, turned on before you have anything to hide. With FileVault enabled, everything on the internal drive is encrypted at rest. Deleted-but-not-overwritten remnants are unreadable ciphertext. This is Apple’s own answer, and on an Apple Silicon Mac the performance cost is negligible.
Check whether it is on:
fdesetup status
If that says FileVault is Off, turn it on in System Settings → Privacy &
Security → FileVault before worrying about anything else on this page. It is
the single highest-value thing here.
Erase All Content and Settings, when you sell the machine. In System Settings → General → Transfer or Reset. On modern Macs this destroys the encryption keys, which makes the whole drive unreadable instantly — far more reliable than any overwrite.
Where overwriting still genuinely works
External spinning hard drives and USB sticks. No wear levelling, no remapping. Overwrite really does destroy the data, and multi-pass overwrite is meaningful.
This is exactly the case the built-in tools abandoned. macOS gives you no interface for it at all any more, and it is a common real situation: the old backup drive you are giving away, the USB stick that carried client documents, the SD card from a camera.
ByEase File Tools has a Safe Eraser for this — delete past the Trash, with 1, 3 or 7 overwrite passes for external drives. Being straight about the boundary: on an external HDD or USB stick, that defeats recovery software. On an internal SSD, it does not, and nothing at the application level can. Treat overwriting as the tool for removable media, and FileVault as the tool for the machine itself.
A practical policy
- FileVault on, always. It is the one that actually holds.
- Sensitive files on external media: overwrite before the drive leaves your hands.
- Selling or returning a Mac: Erase All Content and Settings, not a file-by-file wipe.
- Do not trust an emptied Trash as deletion. It never was.
Related
- Strip metadata before you share a file — the other thing that leaves with your documents