Secure File Shredder is a lightweight Windows Forms application built in C#. It provides an intuitive interface for securely deleting files from your system using cryptographic random data overwriting techniques, ensuring that sensitive information cannot be recovered.
The tool utilizes secure overwrite algorithms with multiple passes, making it highly resistant to data recovery techniques. It’s perfect for securely deleting files that contain personal, confidential, or financial information.
- Drag-and-Drop Support: Easily drag files into the application for shredding.
- Progress Monitoring: Displays progress via a progress bar with background processing for responsiveness.
- Multiple Overwrite Passes: Files are overwritten multiple times with random data for secure deletion.
- Cancellation Support: Shredding can be canceled at any time during the process.
- User-Friendly Interface: Designed for simplicity and ease of use.
- Error Handling and Logging: Clear error messages and logging support for tracking issues.
The Secure File Shredder application securely deletes files using the following technique:
- File Overwriting: Files are overwritten with random data in 3 passes to make recovery nearly impossible.
- Deletion: Files are removed from the disk once they have been securely overwritten.
- Cryptographic Random Data: The
RNGCryptoServiceProvider
class from the .NET Cryptography namespace generates secure random data for file overwriting.
- .NET Framework 4.8 or newer
- Windows OS: Application designed for Windows environments.
- Drag and Drop files into the application window.
- Click Start Deleting to shred the selected files.
- Monitor the progress via the Progress Bar.
- Click Cancel if you wish to stop the shredding process.
- Once the operation is complete, a confirmation message will appear.
Mainmenu.cs
: Contains the core UI logic, file shredding functionality, and background processing.ShredFile
Method: Handles secure deletion of each file.OverwriteFile
Method: Implements cryptographic random data overwriting logic.BackgroundWorker
: Keeps the UI responsive during the shredding process.
- Drag-and-Drop Support: Add files to the shredding queue via drag and drop.
- Background Worker: Uses
BackgroundWorker
to manage shredding without freezing the UI. - File Overwriting: Files are overwritten with random data for multiple passes (default is 3 passes).
- Progress Reporting: Displays progress updates in the UI while files are being processed.
- Error Handling: Gracefully handles errors like file access issues and provides clear feedback to users.
Some possible future improvements include:
- Shredding Locked Files: Support shredding of files in use or locked by other processes.
- Metadata Shredding: Securely erase file metadata (e.g., file name, timestamps).
- Multi-Threaded Shredding: Speed up the process by shredding multiple files concurrently.
- Password Protection: Add password protection to prevent unauthorized access.
- Encrypted File Shredding: Add an encryption step before shredding for added security.
- Shredding from External Storage: Support shredding files from USB drives and external HDDs.
- Panic Button: A button that instantly stops the shredding operation.
- Shredding Profiles: Save and reuse specific shredding settings as profiles.
- File Type Filters: Shred only selected file types (e.g.,
.pdf
,.docx
). - Detailed Logging: Maintain logs of shredded files, including timestamps and algorithms used.
- Command-Line Interface (CLI) Support: Provide a CLI version for advanced users and batch processing.
This software is provided for educational purposes only. Use it to securely delete files that you own. Deleting unauthorized files is prohibited.
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Feel free to open an issue or submit a pull request with your improvements or bug fixes.