-
Notifications
You must be signed in to change notification settings - Fork 0
Wipe Methods
DriveWipe supports 21 wipe methods across three categories: software overwrite, firmware erase, and intelligent hybrid methods. All methods are compliant with NIST SP 800-88 Rev. 2 and IEEE 2883:2022 standards.
These write patterns directly to every sector of the drive. Supported on all platforms (Linux, macOS, Windows).
-
Zero Fill (
zero): 1-pass 0x00. Desktop-grade sanitization. -
One Fill (
one): 1-pass 0xFF. Alternative to zero fill. -
Random Fill (
random): 1-pass AES-256-CTR cryptographically secure random data.
-
DoD 5220.22-M Short (
dod-short): 3 passes (zero, one, random) + verification. -
DoD 5220.22-M ECE (
dod-ece): 7 passes with verification. -
HMG IS5 Baseline (
hmg-baseline): 1-pass zero + verification. -
HMG IS5 Enhanced (
hmg-enhanced): 3-pass (zero, one, random) + verification. -
RCMP TSSIT OPS-II (
rcmp): 7-pass alternating zero/one followed by random. -
Gutmann (
gutmann): 35-pass legacy method for magnetic media.
These intelligent methods combine software overwrites with firmware commands (TRIM, Sanitize) and thorough verification. Recommended for most users.
-
DriveWipe Secure HDD (
drivewipe-secure-hdd): 4-pass (zero, random, random, zero) + verification. Optimized for spinning disks with full surface coverage. -
DriveWipe Secure SATA SSD (
drivewipe-secure-sata-ssd): 4-pass (random, zero, random, zero) + verification. Addresses SSD wear-leveling and spare area. -
DriveWipe Secure NVMe (
drivewipe-secure-nvme): 4-pass (random, zero, random, zero) + verification. Addresses NVMe spare area and controller-level remapping. -
DriveWipe Secure USB (
drivewipe-secure-usb): 4-pass (random, zero, random, zero) + verification. USB controllers block firmware commands, so this uses aggressive multi-pass overwrite.
Firmware commands delegate data destruction to the drive's internal controller. These are the most effective methods for modern SSDs.
| Method | ID | Linux | Windows | macOS |
|---|---|---|---|---|
| ATA Secure Erase | ata-erase |
Full | Full | No |
| ATA Enhanced Erase | ata-erase-enhanced |
Full | Full | No |
| NVMe Format (User Data) | nvme-format-user |
Full | Full | Via nvme-cli
|
| NVMe Format (Crypto) | nvme-format-crypto |
Full | Full | Via nvme-cli
|
| NVMe Sanitize (Block) | nvme-sanitize-block |
Full | Full | Via nvme-cli
|
| NVMe Sanitize (Crypto) | nvme-sanitize-crypto |
Full | Full | Via nvme-cli
|
| NVMe Sanitize (Overwrite) | nvme-sanitize-overwrite |
Full | Full | Via nvme-cli
|
| TCG Opal Crypto Erase | tcg-opal |
Full | Not yet | No |
| Drive Type | Recommended Method | Why |
|---|---|---|
| HDD (non-classified) |
zero or random
|
Single pass is sufficient for modern HDDs |
| HDD (classified) |
dod-short or hmg-enhanced
|
Multi-pass with verification for compliance |
| SSD (SATA) | ata-erase |
Software overwrite unreliable due to wear leveling |
| SSD (NVMe) | nvme-format-crypto |
Near-instant cryptographic erase |
| SED | tcg-opal |
Destroys encryption key, instant |
Warning: Software overwrite methods on SSDs may not erase all data due to wear leveling, over-provisioning, and remapped sectors. Firmware erase is strongly recommended for SSDs.
Define custom methods in ~/.config/drivewipe/config.toml:
[[custom_methods]]
id = "my-3pass"
name = "My Three Pass"
description = "Zero, random, zero with verification"
verify_after = true
[[custom_methods.passes]]
pattern_type = "zero"
[[custom_methods.passes]]
pattern_type = "random"
[[custom_methods.passes]]
pattern_type = "zero"