Issues to be considered in a file recovery software!

Hi!
I am planning to develop a FS filter for restoring the original files. Basically the filter driver will take backup of the file whenever a write is attempted on it or some information related to it ( file size etc. ) is changed.

What are the issues that i should consider?

What are the possible ways in which a file can be modified/ deleted?

Where can i get the information related to these requests in my filter driver?

Thanks in advance!!