We all know that deleting a file from your computer does not really erase it, but only marks as free the memory where the file was written, so that, until such memory is not overwritten, the file can still be recovered by reading the raw memory.
To really erase a file, its memory must be overwritten by random data or simply zeros, using tools as shred. (I'm going to assume that no physical method to recover data from erased memory is possible.)
This has to be done manually for every file we want to erase; In particular, if we use a software that keeps some sensitive data (for example, the "recent files history"), we have to erase them by ourselves instead of trusting the delete function of the software (that is, clicking, "delete recent files history"); which requires many awareness and/or customizations.
My question is: Is there a way to ensure that computer files are always deleted by being overwritten with zeros? I mean, a filesystem or OS that does so? In such a case, except for the memory allocated for the files that are present in the filesystem, the whole memory would be always filled with zeros.
I straightforward way to do so could be modify how the OS handles the "delete" filesystem command in a way to run an erase tool, but it doesn't seem trivial to do.
Notes:
- One may suggest to simply encrypt the whole filesystem, and who cares about deleted file or not... they are protected by the password. However, this solution is subjected to rubber-hose cryptanalysis.