Get AAD-50 running in minutes. Choose your platform below.
Before you touch a live drive — run dry-run first. Dry-run simulates all 50 cycles, generates the full SHA-256 audit chain, and produces a PDF Certificate of Destruction — without issuing a single destructive command to your hardware. It is how you confirm the framework is working correctly on your system before you commit.
| Requirement | Linux | Windows |
|---|---|---|
| Python | 3.10+ | 3.10+ |
| Privileges | root (sudo) | Administrator |
| NVMe drive | Direct M.2/PCIe recommended | Direct M.2/PCIe recommended |
| Dependencies | pip install fpdf2 requests | pip install fpdf2 requests |
git clone https://github.com/yonasabeselom/aad50.git
cd aad50
pip install fpdf2 requests
Always run dry-run before live mode. Dry-run simulates all 50 cycles without touching your drive.
sudo python3 aad50_abeselom.py --dry-run --verbose /dev/nvme0
All 50 cycles will simulate. You will see each phase execute in sequence — B, then C, then A — with per-cycle confirmation at each step. At the end you get a SHA-256 audit hash and a PDF Certificate of Destruction marked simulation only.
If all 50 cycles complete and the hash is printed — your system is ready.
sudo python3 aad50_abeselom.py --force /dev/nvme0
WARNING: This is permanent. All data on the target drive will be destroyed across 50 hardware-confirmed cycles. There is no recovery. Confirm your device path before running.
Two files are generated in the current directory:
Keep these. They are your proof.
git clone https://github.com/yonasabeselom/aad50.git
cd aad50
pip install fpdf2 requests
Open Command Prompt as Administrator, then:
python aad50_abeselom_windows.py --dry-run --verbose
Same as Linux — all 50 cycles simulate, hash is printed, PDF is generated.
python aad50_abeselom_windows.py --force
WARNING: This is permanent. Run as Administrator. Confirm the correct physical drive is selected before proceeding.
Same output as Linux — JSON audit log and PDF Certificate of Destruction in the current directory.
For operators who prefer a graphical interface.
Download aad50_gui_windows.py from the repository or clone the full repo.
python aad50_gui_windows.py
Or right-click the standalone .exe and select Run as Administrator.
Select your drive. Enable Dry-Run for your first test. Click Start and watch the phase progress in real time. Your PDF Certificate of Destruction is in the output folder when complete.
AAD-50 v1.1 automatically detects NVMe drives in USB 3.x enclosures with UASP and selects the highest available command pathway before the first cycle begins.
| Tier | Method | Verification |
|---|---|---|
| 1 - NVMe Direct | IOCTL NVMe passthrough | Log Page 0x81 per cycle |
| 2 - ATA/SCSI SAT | SCSI ATA passthrough | Time-based (120s/cycle) |
| 3 - Block Layer | BLKDISCARD / Storage reinitialize | Time-based (180s/cycle) |
The active tier is recorded in every cycle record and printed in your PDF Certificate of Destruction. For maximum assurance, direct M.2/PCIe connection is always recommended.
After any run, the SHA-256 hash printed at the end should match the hash in your PDF Certificate of Destruction exactly. If it does not — the audit log has been tampered with.
That hash is your proof of chain of custody. Keep it.
AAD-50 v1.1 - github.com/yonasabeselom/aad50