Introduction
Smog is a data sanitization utility designed to saturate files, directories, and entire volumes, transforming them into an impenetrable and unrecoverable digital fog.
While conventional deletion only removes pointers, smog attacks the physical structure of the information. It injects “particles” of random noise through layers of deliberate overwriting, ensuring that visibility to forensic tools is reduced to zero. The result is not just an empty file, but a dense cloud of entropy where recovery is statistically impossible.
Built to be more ruthless than traditional utilities, smog treats data destruction like an industrial pollution event: a precise, low-visibility, and absolutely effective operation.
With Smog, you can:
- Smother Information: Overwrite sensitive data with algorithms that guarantee maximum entropy.
- Dissipate Evidence: Clean free space and entire devices, eliminating latent traces.
- Zero Visibility: Prevent reconstruction by digital forensics and forensic analysis methods.
- Controlled Pollution: Apply deterministic or random destruction patterns as needed.
- Leave nothing behind: Ensure what remains on disk is pure noise — not recoverable information
Smog doesn’t just erase the past. It vaporizes it into a toxic fog for any data recovery specialist.
Overview
Smog is a command‑line utility for controlled data overwriting across files, directories, free space, and entire storage devices.
While common deletion mechanisms remove only filesystem references, Smog operates at the data layer by performing repeated overwrite passes intended to eliminate recoverable remnants from the underlying storage medium. Its purpose is to reduce the feasibility of practical forensic recovery through deterministic, operator‑controlled overwrite procedures.
The tool is designed around explicit execution and observable behavior. Each operation targets specific paths or devices, applies a defined number of overwrite iterations, and provides progress feedback so the operator can verify that the destruction process has been completed as intended.
Smog supports:
- Secure overwriting of individual files and directory trees
- Free space wiping to remove traces of previously deleted data
- Full device wiping using the same overwrite methodology
- Configurable iteration counts to match different sensitivity requirements
- Terminal‑based progress output or optional GUI feedback
Smog is intended for environments where sensitive data must be removed with stronger guarantees than standard deletion provides, without relying on implicit behavior or opaque utilities.
The objective is not file removal, but data neutralization through entropy‑driven overwriting.
Requirements
Smog uses zenity for window display, so zenity is optional and only required when using SMOG_USE_ZENITY=1.
Install
Automatic Installation (Any Linux Distribution)
You can install without downloading anything by running the script directly from the official repository:
bash <(curl -fsSL https://evolvbits.github.io/smog/installer/linux.sh)
Arch Linux Installation (AUR)
You can install it on Arch Linux using a package manager from the AUR. In this example, using yay:
yay -S smog-bin
Note: We only provide the binary in
AUR; if you find another one, it’s not part of the EvolvBits project.
The installer downloads binaries from the public distribution branch binaries in evolvbits/smog.
Usage
You can use the built-in CLI options to target specific files, change iterations, or let it auto-clean all trash directories detected:
smog [OPTIONS] [TARGETS]...
Options
[TARGETS]...: one or more files/folders/glob/device patterns (for example*.txtormy/folder/*.txt)--trash: empty the trash securely--confirm: ask for confirmation before removing-n, --iterations <N>: overwrite iterations (3by default for files/folders and1for block devices)--mode <MODE>: block device mode (overwriteordiscard, default is internalauto)-k, --kill: safely remove and close the terminal (terminal only)-c, --credits: show credits-V, --version: display the version
Examples
# Remove file without confirmation
smog file.txt
# Remove folder with confirmation
smog my_folder --confirm
# Remove files in batch using glob patterns
smog '*.txt'
smog 'my/folder/*.txt'
# Empty trash without confirmation
smog --trash
# Empty trash with confirmation
smog --trash --confirm
# Wipe block device (root only, mode auto) [EXPERIMENTAL]
sudo smog /dev/sdX
# Force device wipe mode [EXPERIMENTAL]
sudo smog /dev/sdX --mode overwrite
sudo smog /dev/sdX --mode discard
Disk Wiper Safety Model
Note: If you use
Smogfor devices (HDD, SSD or Flash drive), remember that perfect disk wiping today depends heavily on the hardware, not just the software. Therefore, we cannot guarantee complete security in this mode. The disk wiping mode is set to EXPERIMENTAL.
When the target is a block device, Smog runs in disk-wipe mode with strict safeguards:
- Requires root privileges for device wipe operations
- Uses
automode internally when--modeis not specified:- HDD:
overwrite - SSD:
discard(with fallback to overwrite when discard is unavailable)
- HDD:
- Requires explicit destructive confirmation:
Type "WIPE /dev/sdX" to continue
- Refuses dangerous targets:
- refuses
/ - refuses devices that appear to back the current root filesystem
- refuses
- Prints technical warning for discard behavior:
Warning: discard support may vary depending on device.
Environment Variables
Smog supports the following environment variables to control its user interface and progress bar behavior:
SMOG_USE_ZENITY=1: Use Zenity dialogs for confirmation and progress (GUI mode)SMOG_USE_PROGRESSBAR=1: Use only one terminal progress bar fromindicatif, based on the total number of files
If SMOG_USE_PROGRESSBAR=1 is set, it takes precedence over SMOG_USE_ZENITY=1. Without SMOG_USE_PROGRESSBAR=1, the default terminal progress remains:
smog: file.txt ▓▓▓▓▓▓▓▓▓▓ 100%
Example Usage
SMOG_USE_ZENITY=1 smog ~/my_folder
SMOG_USE_PROGRESSBAR=1 smog ~/my_folder
These variables are optional and can be set for a better user experience. See smog --help for more details.
Verifying Binary Integrity
For each published version, the distribution bundle includes a SHA256SUMS file in the public binary channel.
# Example for version 0.1.0
curl -fsSLO https://raw.githubusercontent.com/evolvbits/smog/binaries/v0.1.0/smog-0.1.0-linux-x86_64
curl -fsSLO https://raw.githubusercontent.com/evolvbits/smog/binaries/v0.1.0/SHA256SUMS
sha256sum -c SHA256SUMS
Uninstall
Uninstalling is as easy as installing, just use the --uninstall flag:
bash <(curl -fsSL https://evolvbits.github.io/smog/installer/linux.sh) --uninstall
Community
© Evolvbits - All rights reserved.