DZap is a cross-platform utility designed to securely sanitize storage media (HDDs, SSDs, NVMe, USBs) to NIST 800-88 standards.
WARNING: This software is designed to permanently and irretrievably destroy data. Use with extreme caution. The developers are not responsible for accidental data loss.
- Modern Tech Stack: Built with Electron, React, & Tailwind CSS for a responsive UI, backed by Go for high-performance hardware interaction.
- NIST 800-88 Compliance:
- Clear: 1-pass and 3-pass overwrite algorithms for HDDs.
- Purge: Firmware-based
ATA Secure EraseandNVMe Formatfor modern SSDs.
- Secure Architecture: Uses a Privileged Helper pattern. The UI runs as a standard user, while the backend runs securely via Linux PolicyKit (
pkexec) only when necessary. - Certified Destruction: Generates a verifiable HTML/PDF certificate upon successful completion.
- Hot-Plug Support: Automatically detects drives connected via USB or SATA/NVMe interfaces.
Before installing, ensure your Linux system has the following dependencies:
- Runtime Tools:
smartmontools,hdparm,nvme-cli,polkit - Build Tools:
go(v1.21+),npm/node,gcc - AI Runtime:
libonnxruntime(often available asonnxruntimeorlibonnxruntime-dev) (Disabled for now)
Arch Linux:
sudo pacman -S go npm smartmontools hdparm nvme-cli onnxruntimeUbuntu/Debian:
sudo apt install golang nodejs npm smartmontools hdparm nvme-cli libonnxruntime-devBecause DZap uses a system-level backend service, installation is a two-step process.
Clone the repository and build the source code.
npm install
npm install cross-env --save-dev
npm run start:frontendIn another terminal run:
cd server
sudo go run .Run the provided installer script. This copies the Go binary to a secure system location (/usr/local/bin) and installs the PolicyKit rules allow the UI to communicate with it.
sudo ./install.shOnce installed, you can run the application like any other Linux program.
- Navigate to the
dist/folder (or wherever you moved the AppImage). - Run the application:
(Note: You do NOT need
./DZap\ Secure\ Wiper-1.0.0.AppImage
sudoto run the AppImage). - When the backend needs to start (usually immediately upon launch), the system will prompt you for your password via a secure GUI dialog.
For developers contributing to DZap, use the development mode which enables hot-reloading.
Recommended Workflow:
- Terminal 1 (Backend):
cd server sudo go run .
- Terminal 2 (Frontend):
npm run start:frontend
DZap/
├── electron/ # Main process logic (window creation, IPC)
├── frontend/ # React UI (Tailwind, Components, State)
├── server/ # Go Backend
│ ├── api/ # HTTP Handlers
│ ├── core/ # Drive detection, Wiping logic, AI prediction
│ └── realtime/ # WebSocket hub
├── model/ # ONNX AI models and feature maps
└── install.sh # System installer script (In Development)
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Distributed under the MIT License. See LICENSE for more information.

