Securely erasing an SSD before selling it is an evidence problem, not a button-clicking problem. A trustworthy result shows that you selected the correct device, matched the method to the SSD and the data risk, confirmed that the operation completed, and accepted only the residual risk that you understand. This guide turns those claims into a practical workflow.
Reading time: about 10 minutes | Length: about 2,300 words
TL;DR
- Deleting files, removing partitions, quick formatting, TRIM, and repeated host-level overwrites do not prove that an SSD's spare or overprovisioned areas were sanitized.
- Prefer a documented device-level purge method when the SSD supports one. For NVMe, distinguish Sanitize from Format NVM and verify the exact capability and scope before acting.
- Cryptographic Erase is trustworthy only when every sensitive byte was encrypted from the start and the encryption and key lifecycle are known to be sound.
- Verification checks whether the operation completed. Validation decides whether that result is adequate for the data and its destination. Keep both decisions in a small sanitization record.
- If the drive is failing, the command is unsupported, the status is ambiguous, or the data was highly sensitive, stop the sale and retain or professionally destroy the device.
Secure Erase Is an Outcome, Not a Product Name
NIST SP 800-88 Rev.2 defines media sanitization as making access to target data infeasible for a specified level of effort. That wording matters. It replaces an absolute promise with a risk claim that can be inspected.
The standard separates three methods:
| Method | Security goal | SSD remains reusable? | Typical decision |
|---|---|---|---|
| Clear | Defeat simple, non-invasive recovery through the normal user interface | Yes | Lower-risk data when stronger device methods are unavailable and the remaining risk is accepted |
| Purge | Make recovery infeasible even with state-of-the-art laboratory techniques | Usually | Preferred for external reuse when a suitable device-level technique is supported |
| Destroy | Make recovery infeasible and make the media unusable | No | High-impact data, failed media, or an unverifiable sanitization path |
For an SSD, ordinary writes address the logical space exposed by the controller. Wear levelling, spare cells, retired blocks, and overprovisioning mean that historical data may also exist outside that interface. NIST explicitly warns that repeated overwrites provide little additional confidentiality for overprovisioned SSDs. When more assurance is needed, use an appropriate purge technique or destroy the media.
This is why a progress bar or an empty partition table is weak evidence. It may prove that software ran or that the current logical address space contains no filesystem. It does not prove that the chosen method covered the target data.
Start With the Data and the Destination
The decision begins before choosing a tool. Write down four facts:
- What sensitive data ever touched the drive?
- Was full-device encryption active before the first sensitive write?
- Is the drive healthy enough to identify itself and complete a documented sanitization operation?
- Will the drive remain under your control, go to a known recipient, or be sold to an unknown buyer?
Ordinary personal documents on a healthy SSD and credentials, customer records, medical data, private keys, or employer secrets do not deserve the same residual-risk budget. External sale also removes your future control over the device.
A practical default is to use Purge for a reusable SSD that will leave your control, when a supported purge technique is available. Clear may be a conscious lower-assurance choice for low-impact data. Destroy becomes the safe branch when consequences are high or the result cannot be verified.
This is the same reason a backup is only useful after a restore test. Before erasing anything, use the workflow in AI Coding Agent Backups: From Sync to Restore Certainty to confirm that the data you intend to keep can actually be recovered.
Build a Device Record Before You Touch the Drive
Destructive storage commands are unusually good at completing the wrong task perfectly. Record the target before exposing any erase control:
- manufacturer, model, full serial number, firmware version, capacity, and SATA or NVMe interface;
- whether it is the system drive, a secondary drive, or a removable device;
- direct connection, RAID path, USB enclosure, or another bridge;
- health state and any reported errors;
- NVMe namespaces or other configurations that may change command scope;
- the exact vendor guide or protocol documentation used.
Disconnect non-target drives when practical. Match both serial number and capacity at the final confirmation screen. A drive letter, /dev/sdX, or /dev/nvme0n1 can change after a reboot or reconnection.
Bridges and RAID controllers may hide or block management commands. If the native capability is missing through an enclosure, reconnect through a vendor-supported path rather than assuming the drive lacks the feature.
Match the Method to the Interface and Its Actual Capability
The phrase secure erase is used for several different operations. Treat it as a label until documentation proves its mechanism and scope.
NVMe Sanitize
NVMe Sanitize is a dedicated, optional command family. Depending on the controller, it may support Block Erase, Cryptographic Erase, or Overwrite. The NVM Express nvme-cli guide states that Sanitize covers user data in NVM, persistent memory, controller memory buffers, cache, metadata, unallocated space, and overprovisioned space.
Sanitize is a background operation. A command being accepted does not mean the operation has finished. Query the controller's Sanitize capabilities first, then preserve the Sanitize Status log through completion.
NVMe Format NVM
Format NVM is a separate command. Its Secure Erase Settings can request a user-data erase or a cryptographic erase. Support and scope depend on controller capabilities, firmware, namespace configuration, and the selected secure-erase setting. A controller can lack Sanitize support while still supporting a Format-based secure erase.
Do not substitute Format for Sanitize based only on a similar tool label. Confirm the relevant capability fields, target scope, and vendor guidance.
SATA SSDs
For a SATA SSD, use a current vendor utility, supported UEFI function, or standards-aware tool that issues the device's documented ATA sanitization or security erase operation. Samsung, Crucial, Kingston, and other vendors place different limits on supported models, system drives, locked or frozen states, RAID, bridges, and operating systems.
Samsung's support documentation illustrates the pattern: identify the device, check its state, then invoke the supported operation. The sequence for another brand or model may differ. A tool from the SSD manufacturer is evidence about supported behavior for that product, not proof that every product with the same menu label behaves identically.
Whole-computer reset paths
Operating-system reset features solve a broader handoff problem, but their assurance differs.
- Microsoft recommends Remove everything with Clean data when selling a Windows PC, while explicitly stating that this consumer feature does not meet government and industry data-erasure standards.
- On supported Apple silicon and T2 Macs, Erase All Content and Settings destroys keys in effaceable storage and renders user data cryptographically inaccessible. For an external SSD, Apple notes that Disk Utility does not offer secure-erase options for SSDs.
Use the platform's official handoff flow for the computer. Apply the device-level risk analysis separately when the SSD itself is being sold or when the required assurance is higher.
Cryptographic Erase Has Preconditions
Cryptographic Erase can finish quickly because it sanitizes the keys that make encrypted data readable. Speed is not the problem. Provenance is.
NIST Rev.2 Section 3.2 makes several conditions explicit:
- sensitive data must not have been stored in plaintext since the previous effective sanitization;
- all target data areas must be covered by the encryption implementation;
- the algorithm, mode, key generation, entropy, wrapping, and derivation must provide adequate strength;
- every target key must be irreversibly sanitized;
- escrowed, backed-up, externally injected, or otherwise recoverable keys must be handled separately;
- failures must be detectable.
Enabling BitLocker, FileVault, or another encryption layer after months of plaintext use does not retroactively establish these conditions. When the history is uncertain, choose a different purge technique or escalate to destruction.
Use a Five-Step Execution Contract
Avoid a universal destructive one-liner. The correct operation depends on the controller and its scope. Use this contract instead.
1. Freeze and test the backup
Stop changing the source data. Restore a representative file or system state from the backup. Record the recovery point and the data intentionally excluded.
2. Capture identity and capability
For Linux NVMe tooling, these read-only examples show the type of evidence to preserve:
nvme list
sudo nvme id-ctrl /dev/nvme0 -H
sudo nvme sanitize-log -H /dev/nvme0
For SATA, the equivalent starting point may be the vendor utility or a read-only identity and security-state query. Device names above are placeholders. Never copy them into a destructive command.
3. Map one documented technique to one target
Write down the method, such as Purge; the technique, such as NVMe Block Erase; the exact controller or namespace scope; and the source that says the drive supports it. If those four items cannot be connected, the method is not ready to run.
4. Execute under stable conditions
Use stable power, stop unrelated storage work, and avoid disconnecting the device. Capture the tool version, start and end time, full output, return code, warnings, and errors.
5. Refuse ambiguous completion
For NVMe Sanitize, poll the Sanitize Status log until it reports a terminal success state. For a vendor tool, save its completion result and event log if available. A request submitted message, a reboot, or an empty disk view is not completion evidence.
Verify in Layers, Then Validate the Risk
NIST Rev.2 makes a useful distinction that most SSD tutorials omit:
- Verification inspects whether the selected technique completed successfully, including errors, anomalies, and media health.
- Validation decides whether that verified outcome is adequate for the target data and its destination.
Use four evidence layers:
| Layer | Check | What it proves | What remains unknown |
|---|---|---|---|
| Device identity | Serial, model, firmware, capacity, protocol, scope | The operation targeted the intended device and area | Whether the method was strong enough |
| Operation status | Terminal status, return code, error log, health | The device or tool reports completion | Whether the implementation covered every claimed area |
| Logical sanity check | No old partitions or files; optional recovery scan | The normal host interface exposes no obvious old data | Hidden, retired, or overprovisioned physical storage |
| Validation decision | Compare technique, data sensitivity, destination, and residual risk | The evidence meets the chosen release threshold | Future attacks or undisclosed firmware defects |
NIST says elaborate full or representative content sampling is generally unnecessary unless policy requires it. A recovery scan can still catch a gross failure, but it is supporting evidence rather than proof about inaccessible NAND.
This is also a supply-chain boundary. A standardized command still relies on controller firmware and vendor implementation. NIST's Appendix B recommends asking vendors which areas a sanitize command omits, how long it should take, and what validation testing supports it. The same pre-install principle discussed in AI Coding Agents Need a Pre-Install Trust Boundary applies here: establish what an implementation is allowed to claim before trusting its output.
Keep a Small Sanitization Record
NIST includes a Certificate of Sanitization template. A private seller does not need to manufacture a compliance certificate, but the fields form a useful evidence record:
device:
manufacturer: example
model: example
serial: full-serial-in-private-record
firmware: example
capacity: 2TB
interface: NVMe
health_before: healthy
decision:
data_class: ordinary-personal
destination: external-resale
method: Purge
technique: NVMe-Block-Erase
rationale: supported-device-level-operation
execution:
tool: nvme-cli
tool_version: recorded-version
started_at: 2026-08-03T09:20:00+08:00
completed_at: 2026-08-03T09:24:00+08:00
output_hash: sha256-of-saved-log
verification:
target_identity_matched: true
terminal_status: success
errors_or_anomalies: none-observed
logical_check: no-old-layout-or-files
validation:
accepted: true
residual_risk: depends-on-controller-implementation
next_destination: buyer
Keep the raw log beside the record. Share only the fields a buyer needs, and keep the full serial and personal details private.
Know When to Stop Selling
Do not force a reusable outcome when the evidence supports destruction.
Stop the sale if the SSD cannot be reliably identified, is failing, rejects the operation, never reaches a terminal success state, exposes uncertain scope, or previously held data whose consequences exceed your confidence in the implementation. Degaussing is ineffective for flash storage. Drilling a single hole can leave other NAND packages intact. Use a qualified destruction service that handles flash media, then retain its record.
Responsibility stays with the seller. A marketplace listing, a buyer's promise to reformat, or a tool's green icon cannot absorb the consequence of residual data.
FAQ
Is a full format enough before selling an SSD?
A full host-level format can provide Clear-level protection over user-addressable storage, depending on the implementation. It does not establish that spare, retired, or overprovisioned areas were covered. Prefer a supported device-level purge method when the drive leaves your control.
Does TRIM securely erase an SSD?
TRIM or NVMe deallocation tells the controller that logical blocks are no longer needed. The controller decides when and how to reclaim them. Treat TRIM as storage management, not as a standalone sanitization certificate.
Does an empty partition table prove the SSD is clean?
It proves that no old partition layout is visible through the current interface. It says little about the sanitization operation or hidden physical areas.
Can a recovery scan verify Secure Erase?
It can detect an obvious logical-layer failure. A negative scan cannot observe retired or overprovisioned NAND and cannot replace protocol status or a vendor's implementation assurance.
Is Cryptographic Erase always the best option?
It is fast and strong when encryption covered all target data from the beginning and all relevant keys can be irreversibly sanitized. Uncertain plaintext history, weak key management, or recoverable escrowed keys invalidate that shortcut.
What if NVMe Sanitize is unsupported?
Inspect Format NVM secure-erase capabilities and the SSD vendor's guidance. Sanitize is optional, so lack of Sanitize support does not prove that every secure erase path is unavailable. If no suitable method can be verified, retain or destroy the drive.
References
Primary references verified August 3, 2026:
- NIST SP 800-88 Rev.2: Guidelines for Media Sanitization
- NIST SP 800-88 Rev.2 publication page
- NVM Express: Open-source NVMe management with nvme-cli
- NVM Express: Sanitize, overprovisioning, integrity checks, and observability
- Samsung: Internal SSD product information and Secure Erase
- Microsoft: Reset your PC
- Apple: Erase Apple devices
- Apple: Disk Utility and SSD secure-erase limitations