Motor portable de destrucción segura de datos y sanitización forense con soporte nativo de TRIM en SSDs/NVMe y certificación de auditoría criptográfica.
Conforme con los estándares: NIST SP 800-88 Rev. 1, DoD 5220.22-M, DoD 5220.22-M (E), Peter Gutmann (35x), GDPR / RGPD, HIPAA e ISO/IEC 27001.
☕ Aceptamos donaciones: Ayudan a mantener y mejorar el desarrollo continuo de SwiftShred. Puedes apoyarnos en Ko-fi.
- ⚡ Detección Inteligente de Disco (Win32 IOCTLs): Consulta
IOCTL_STORAGE_QUERY_PROPERTYpara identificar si la unidad es magnética (HDD) o de estado sólido (SATA SSD / NVMe SSD / USB Flash). - 🚀 Comando Nativo
FSCTL_FILE_LEVEL_TRIM: Envía comandos directos al controlador de memoria flash en Windows para garantizar el descarte físico inmediato de las celdas de almacenamiento (evita que los datos queden retenidos en bloques de wear leveling). - 🔬 Cadena de Custodia Criptográfica: Calcula el hash SHA-256 pre-wipe de cada archivo antes de comenzar para validar la autenticidad forense.
- 📑 Exportación Simultánea de Certificados de Auditoría:
- JSON Estructurado (para ingesta directa en SIEM, SOC y pipelines automatizados).
- CSV (para análisis en hojas de cálculo y auditorías internas).
- Certificado Formal Imprimible (HTML/PDF) con sello digital y Machine GUID del equipo.
- 🗂️ Destrucción de Metadatos y File System:
- Renombrado sucesivo aleatorio en la tabla MFT / NTFS para destruir el nombre original del archivo.
- Limpieza de Alternate Data Streams (ADS) en particiones NTFS.
- Truncado forzado a 0 bytes (
SetEndOfFile) antes de la eliminación final.
- 🖱️ Integración con el Menú Contextual de Windows: Instalación y desinstalación con un solo comando para triturar archivos directamente desde el explorador con clic derecho.
SwiftShred/
├── Cargo.toml # Configuración de compilación standalone sin dependencias pesadas
├── tests/
│ └── shredder_tests.rs # Tests de integración (SHA-256, borrado seguro, exportación)
├── src/
│ ├── main.rs # Punto de entrada y despachador de CLI / GUI
│ ├── lib.rs # Biblioteca core exportable
│ ├── cli.rs # Parser de argumentos CLI (Clap v4)
│ ├── engine/
│ │ ├── mod.rs # Coordinador de borrado
│ │ ├── algorithms.rs # Implementación de algoritmos (NIST, DoD, Gutmann, Random)
│ │ ├── drive_detector.rs # Detección de hardware y selector adaptativo
│ │ ├── file_shredder.rs # Sobrescritura de bloques, FSCTL_FILE_LEVEL_TRIM, MFT Scramble
│ │ └── audit_logger.rs # Generador de auditoría forense (JSON, CSV, Certificado Formal)
│ ├── platform/
│ │ ├── mod.rs # Abstracción multiplataforma
│ │ └── windows.rs # Win32 APIs (DeviceIoControl, Registry, Storage Queries)
│ └── ui/
│ ├── mod.rs
│ ├── state.rs # Estado reactivo de la cola de archivos
│ └── views.rs # Vistas en terminal con banners y progreso dual
| Algoritmo | Pasadas | Patrón de Datos | Uso Recomendado |
|---|---|---|---|
Adaptive Smart (--method adaptive) |
Auto | NVMe Flash TRIM o DoD 3x | Recomendado por defecto |
Flash Safe + TRIM (--method flash-trim) |
2 | Cripto-Random + Ceros + FSCTL_FILE_LEVEL_TRIM |
SSDs NVMe y SATA |
NIST SP 800-88 Clear (--method nist800-clear) |
1 | Sobrescritura de Ceros (0x00) | Memorias USB y Flash |
NIST SP 800-88 Purge (--method nist800-purge) |
3 | 0x00, 0xFF, Random + TRIM | Máxima seguridad en Flash |
DoD 5220.22-M (--method dod3) |
3 | Ceros -> Unos -> Cripto-Random | Discos magnéticos (HDD) |
DoD 5220.22-M (E) (--method dod7) |
7 | 7 pasadas militares alternadas | HDDs corporativos y militares |
Peter Gutmann (--method gutmann) |
35 | 35 pasadas con inversión magnética | HDDs heredados (MFM/RLL) |
Fast Zero Fill (--method zero) |
1 | Ceros (0x00) | Limpieza rápida |
Crypto Random Fill (--method random) |
1 | ChaCha20 PRNG | Sobrescritura aleatoria rápida |
swiftshred "C:\Documentos\contrato_confidencial.pdf"swiftshred "D:\ProyectosAntiguos" -r --method dod7swiftshred "C:\BaseDatos\backup.bak" `
--export-json "C:\Auditorias\reporte.json" `
--export-csv "C:\Auditorias\reporte.csv" `
--export-cert "C:\Auditorias\certificado_forense.html"swiftshred --register-context-menu(Para desinstalarlo en cualquier momento: swiftshred --unregister-context-menu)
{
"audit_version": "1.0",
"tool": "SwiftShred Enterprise v1.0",
"session_id": "a9f3b14e8c10294b",
"timestamp_utc": "2026-08-15T06:15:00Z",
"operator": {
"user": "sec_admin",
"machine_name": "CORP-WKS-01",
"os": "Windows (x86_64)",
"machine_guid": "7a9e1c3b-4f5a-4b12-98aa-56a81e90b213"
},
"job_summary": {
"total_files": 1,
"total_bytes": 1048576,
"status": "COMPLETED_VERIFIED",
"compliance_standard": "NIST_SP_800_88_R1"
},
"erased_items": [
{
"file_path": "C:\\Secretos\\claves_privadas.pem",
"original_size_bytes": 1048576,
"media_type": "NVMe Flash SSD",
"pre_wipe_sha256": "4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a",
"method_applied": "⚡ Flash Safe (Crypto-Shred + TRIM)",
"passes_completed": 2,
"trim_executed": true,
"verification_status": "PASSED_VERIFIED",
"metadata_wiped": true,
"deleted_at": "2026-08-15T06:15:02Z"
}
],
"certificate_signature_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}Distribuido bajo la licencia MIT / Apache-2.0.