# Super Cleaner Plus 6.0
Read-only disk analysis and safe cleanup for Windows 10 and Windows 11 (C#, .NET 8, WPF).
Its goal is to find the **blocks of redundant data that take a lot of space** and to let you get rid of them
safely: caches, leftovers, duplicates, old versions, folders untouched for years.
## How it works
1. **SCAN** – press the big button and choose a drive **or a single folder**. A quick read-only check of the
drive suggests how to analyze it: the Windows drive and drives with installed programs as a **whole drive**,
data / external / backup disks with a **folder analysis** (see below); the choice can be changed. The scan only
*lists* the drive or folder: it does not write, delete, move or modify a single file. It builds a private archive with the **names and properties** of every
file (never a copy of the files) in its own folder: `%LOCALAPPDATA%\SuperCleanerPlus\Index`.
2. **Analysis** – the archive is classified with a knowledge base of Windows locations and content heuristics:
* biggest redundant blocks, space by file type, where space is concentrated;
* folders untouched for years; groups that accumulated data in the last 30 days;
* duplicate files, found quickly: same size, same SHA-256 checksum of the first and last 64 KB and of 16 samples spread over the whole file (1 MB read per file, whatever its size; files up to 2 MB are checksummed whole), results cached between scans so only new or changed files are read; the most recent copy of each set is marked;
* caches of browsers, mail programs, Windows Update, Google Drive, OneDrive, Dropbox, chat apps, IDEs,
package managers, GPU drivers, games;
* AI agents: Claude Desktop and Claude Code (CLI), Codex (desktop app and CLI), Antigravity (IDE) and Gemini CLI.
3. **Report** in four sections:
| Section | Content | Deletion |
|---|---|---|
| **SAFE** (green) | Regenerable caches and temporary files. **Explore** on every row opens a read-only tree (3 levels) of the files of that cache; **AUTOSELECT** under the badge is ticked by default together with the recommended categories; unticking it clears every tick of SAFE, ticking it again re-checks running programs and restores the recommended ticks | Delete → scrollable review → second confirmation → progress |
| **SAFE ▸ Developer tools** | Besides IDE and package-manager caches: **Android Studio & Gradle projects** – `build`, `.gradle`, `.kotlin`, `.cxx`, `.externalNativeBuild` of every Gradle module (what *Build ▸ Clean / Rebuild Project* deletes and regenerates; a `build` folder counts only if it really contains Gradle output). Never: `.idea` (shelved changes, run configurations), `local.properties` (SDK path, often signing keys and API keys), the `gradle` folder (wrapper, version catalog), `captures` (profiler recordings), `*.iml`, sources, `app\release`. **JVM crash logs & heap dumps** (`hs_err_pid*.log`, `replay_pid*.log`, `java_pid*.hprof`, `.attach_pid*`) older than 24 hours | Same as SAFE |
| **SAFE ▸ Phones, TVs & disk checks** | **Disk check leftovers**: `FOUND.000`, `FOUND.001`... and `LOST.DIR` at the root of a drive (fragments and orphan folders recovered by CHKDSK or by an Android TV / phone). **Android leftovers**: `.thumbnails` caches and – on a data / external disk – the empty folders an Android phone, TV or box creates (`Android\data`, `Android\obb`, `Movies`, `Music`, `Pictures`, `DCIM`...) with their zero-byte `.nomedia` markers. A folder with any file of yours is never touched | Same as SAFE; the folders are removed only if they are really empty at that moment |
| **SAFE ▸ Empty folders** (opt-in) | Folder analysis only (data / external disks and folders you choose, never the Windows drive as a whole): every folder that holds no file. Unreadable folders, links and online-only folders never count as empty; the analyzed folder itself and the standard folders of Windows and of the user profile are never removed | Same as SAFE |
| **SAFE ▸ GRAPHIC** (green, always the last block of SAFE) | Regenerable caches of game engines, 3D, CAD and visual production tools. **Unreal Engine projects**: the whole block `DerivedDataCache`, `Intermediate`, `Saved` (all of it, including `Saved\Config`), `Binaries` of every folder that contains a `.uproject` – the project's own `Config`, `Content`, `Source` and `Plugins` are never touched; shared UE DDC/Zen caches and the Epic Launcher vault; Unity projects (`Library`, `Temp`, `obj`, `Logs`) and shared caches; Godot `.godot`/`.import`; Blender `blendcache_*`; DaVinci Resolve CacheClip (optimized/proxy media opt-in); Adobe media cache and Camera Raw cache; Lightroom previews (never Smart Previews); 3ds Max temp; Revit collaboration cache; Redshift and Omniverse caches. **Explore** groups engine caches by project. Categories that are expensive to rebuild are opt-in | Same as SAFE; emptied cache folders are removed |
| **CUSTOM** (yellow) | Generic files grouped by **Size**, **Type**, **Date** (Straight/Inverted, Week/Month) or **Duplicates** (one row per kind of file plus **All duplicates** to handle every kind at once; in the duplicates window many copies can be selected at once: in every set all copies except *the most recent* or *the oldest*, or *select* / *keep* the copies in a chosen folder; a selected copy that lives in CRITICAL escalates to the CRITICAL confirmation; one copy of every set is always kept) | Delete on a group → tree (3 levels) with every file selectable, all unticked → scrollable review = second confirmation → progress |
| **CRITICAL** (red) | **SYSTEM**, **WORKS**, **PROGRAMS**, **MISCELLANEA**, sortable by Size or Date (Straight/Reverse) | Delete on a group → tree (2 levels), all unticked → scrollable review + acknowledgement → type `DELETE` → progress |
| **PROGRAMS** (light blue) | Installed programs and Microsoft Store apps with the size of their files, data folders and caches, the runtimes they depend on (Visual C++, .NET, WebView2, Java, Electron, Qt…) and which programs use each runtime | **Explore** (read-only tree), **Clean caches** (SAFE flow), **Uninstall…** (proprietary: full plan review → typed confirmation → registry backup → removal) |
### Folder analysis (single folder, data or backup disk)
For a folder (documents, images, Unreal / Unity / Android Studio projects, AutoCAD or 3ds Max work...) or a whole
data / backup disk the report is different:
* **Projects found** – Unreal, Unity, Godot, Android Studio, Gradle, Visual Studio / .NET, Flutter, Node.js, Python,
Rust, Go, Maven, CMake, Git repositories, 3ds Max, Maya, Premiere Pro, After Effects, Revit, Blender, AutoCAD,
SketchUp, Cinema 4D and Houdini, each with its size, its regenerable caches, its last activity and how often it is
opened; **Explore** shows its files. Unmistakable project files (`.uproject`, Unity layout, `.sln`, Android
manifest...) always define a project; weak markers (a stray `build.gradle` or `package.json`, `.git`, a few drawings)
never turn a folder that contains other projects into a single project.
* **What you open** – read-only from what Windows and the programs already record: jump lists (with how many times
each file was opened), Recent items, Office recent documents and the recent projects / files of Android Studio and
JetBrains IDEs, Unreal Editor, Unity Hub, Blender and AutoCAD; NTFS last-access dates only when Windows keeps them
and they look meaningful.
* **Activity window** (7 / 30 / 90 days / 1 year) – files changed or opened within it, files opened 5 times or more,
files in the recent lists of programs and *every* file of a project in active use are **CRITICAL** (groups ACTIVE
PROJECTS, OPENED OFTEN OR RECENTLY, CHANGED RECENTLY, plus PROGRAMS & SETTINGS and PROTECTED); the other files that
are not caches are **CUSTOM** (dormant files, grouped by **Project** – a dormant project also brings its caches so it
can be removed as a whole – Size, Type, Date or Duplicates). A folder of films, music or photos starts grouped by
**year in chronological order**, and in the Type grouping videos, music and photos open in chronological order.
There is no PROGRAMS section.
* Deleting is limited to the analyzed folder: the guard refuses any path outside it and never removes the folder
itself (on a whole data disk, emptied top-level folders may be removed). A file in active use always requires the
CRITICAL double confirmation, even when it is selected from CUSTOM ▸ Duplicates.
In the trees, folders deeper than the limit are not listed, but ticking the folder that contains them includes
their files (they appear in the review). Only the files of the group are deleted; other files in the same folders
are never touched, and a folder ticked as a whole is removed only if it ends up empty.
## LIFE, DIAGNOSE and BENCH
The home screen has four round buttons: **LIFE** (orange), **SCAN** (blue), **DIAGNOSE** (green) and **BENCH** (purple).
Each tool opens in its own window; closing it brings back the home screen (closing SCAN during an analysis asks first
and stops it). Reports of previous analyses also open in a SCAN window.
* **LIFE – health of your drives.** Reads the S.M.A.R.T. data of every connected disk (NVMe health log page 02h;
ATA S.M.A.R.T. directly or through a USB bridge with SAT ATA PASS-THROUGH; attribute blocks with a wrong checksum
are refused) and then does a quick read test spread over the whole surface of every drive, plus an optional 16 MB
write-and-verify test (the test file is always deleted). Only a device fault counts against the drive: a full,
write-protected or read-only drive simply skips the write test, with the reason. On cloud and network drives the write
test writes a 64 KB file in the first folder that accepts it (e.g. Google Drive's "My Drive"), reads it back and deletes
it at once (the cloud service may show it for a moment). On cloud drives nothing is ever written at the top level
(`H:\`), neither the file nor a folder: only inside the first existing folder that accepts it. The report has three blocks:
* **Live temperatures** – one card per drive that reports its temperature (NVMe log, Windows' temperature property
with the limits stated by the manufacturer, or S.M.A.R.T. 194 / 190), read every 3 seconds with read-only queries:
current value, minimum and maximum of the session, a 5-minute chart and a colour that follows the level –
green normal, yellow *warm* (from 8 °C below "hot"), orange *hot*, red *critical*. When a drive gets hot an alert
banner explains what to do, and the taskbar button flashes if the window is in the background. Limits: those of the
drive when it states them, otherwise typical ones (NVMe hot 70 / critical 80 °C, SSD 60 / 70 °C, hard disk 50 / 58 °C).
* **In plain words** (light blue) – one row per drive (internal system disk, external disk, pendrive, cloud drive)
with its life left, how long it may last at the same pace, anything worrying, and an overall status on a 9-step
scale, from the best to the worst: *Perfect*, *Excellent*, *Optimal*, *Good*, *Fair*, *Average*, *Poor*,
*Critical*, *Replace*. The step comes from the life left (wear reported by an SSD, estimate from the power-on time
for a hard disk, whose age alone never goes below *Average*), lowered by every problem found. SSDs are judged by
wear and spare-block reserve as established tools do (a few retired blocks or uncorrectable reads are reported, not
alarming); hard disks strictly (reallocated, pending or unreadable sectors). A drive that predicts its own failure,
or whose surface has unreadable areas, is *Replace*. Drives without health data (USB sticks, memory cards, cloud
and network drives) are **OK** when they pass the read / write test, **CHECK** (red) when they do not. When Windows
cannot tell whether a drive behind a USB adapter is an SSD, its S.M.A.R.T. attributes decide.
* **Technical report** (blue) – serial, firmware, bus, power-on time, power cycles, unsafe shutdowns / sudden
disconnections, data written and read, temperature, spare blocks, media errors, every S.M.A.R.T. attribute with
its threshold, and the result of the read / write tests.
Data are only read: the S.M.A.R.T. commands used are read commands. Without administrator rights some disks cannot be
queried. Setting the environment variable `SUPERCLEANERPLUS_LIFE_NOWRITE=1` unticks the write test by default.
* **DIAGNOSE – file system check.** Choose a drive: Super Cleaner Plus reads the file system structures directly and
**never writes to the drive** (the volume is opened read-only).
* **NTFS**: boot sector and its backup, `$MFT` / `$MFTMirr`, every file record (update-sequence fixups, attributes,
data runs, attribute lists), folder indexes (`$I30` B-trees against the records they point to), the MFT bitmap and
the cluster bitmap (clusters used by two files, clusters in use marked free, lost clusters).
* **FAT12/16/32**: boot sector, FSInfo, the copies of the FAT, every cluster chain (loops, cross-links, chains of
the wrong length), `.` / `..` entries, long-name checksums, lost clusters.
* **exFAT**: boot region checksums, entry-set checksums, up-case table, allocation bitmap, cluster chains.
On a drive in use some differences are just files changing during the check: suspects are re-read and reported only
if they persist. If real damage is found, **Repair** explains what CHKDSK will do and runs Windows' `chkdsk X: /f /x`
(optionally `/r`) **only after your confirmation**, showing its output live; on the Windows drive the repair is
scheduled for the next restart.
* **BENCH – drive speed test.** Choose a drive: a temporary test file of up to 1 GB (at most a fifth of the free
space) is written and read for **30 seconds sequentially** (1 MB blocks) and **30 seconds at random** (4 KB blocks,
4 in parallel = IOPS), bypassing the Windows cache so the drive itself is measured. The report shows MB/s, IOPS,
latency (average, 99th percentile, slowest), a second-by-second chart and a plain-English comparison (USB stick,
hard disk, SATA SSD, NVMe...). Every block read is compared with what was written; the test file is always deleted
at the end, also when the test is stopped; if the program was closed by force during a test, the leftover file is
removed the next time BENCH or LIFE tests that drive. Cloud and network drives are not offered.
## Safety design
* **Read-only analysis**: only directory listings are read. Junctions, symbolic links and mount points are never
followed; online-only cloud folders are not expanded; virtual drives (Google Drive `G:`/`H:`, SUBST) are excluded,
because reading them would download files from the cloud.
* **Duplicates are re-verified at deletion time**: right before a copy is deleted, both it and the copy that stays must be unchanged since the analysis (same size and modification time) and still identical, otherwise the copy is skipped. Files up to 64 MB and kinds where two versions of the same size can differ in a small area only (virtual disks and disk images, databases and mailboxes, encrypted containers, uncompressed audio and images) are compared byte by byte; larger files by the checksum of their edges and of 16 samples spread over the whole file, so deleting copies of films takes a moment instead of reading them whole.
* **Duplicate check leaves no trace**: files are opened read-only with `FILE_FLAG_OPEN_NO_RECALL` (no cloud
download) and their *last access* time frozen (`SetFileTime(-1)`); hard links are recognized and never reported.
* **Nothing is ever pre-selected** in CUSTOM and CRITICAL. SAFE categories whose program is running are unticked;
Google Drive's cache cannot be cleaned while Google Drive is running and keeps files of the last 3 days
(they could still be waiting to be uploaded); temp folders keep files of the last 24 hours.
* **Locked forever** (shown, never selectable): Windows, boot/recovery files, paging & hibernation files,
System Volume Information, WinSxS (use DISM), Windows Installer cache, WindowsApps, registry hives, credentials
& encryption keys, SSH/GPG/cloud keys, online-only cloud files, links, Google Drive's sync database and the
program's own data.
* **Safety guard at deletion time**: every single path is re-validated right before deletion (syntax, hard-coded
deny list, protection rules) and the file must be *exactly* the one seen by the scan (same size and
modification time): anything changed, in use, a link, or protected is skipped and reported. A file whose folder
has become a junction, symbolic link or mount point since the analysis is refused too, so a deletion can never be
redirected to another place (cloud folders such as OneDrive are not links and work normally).
* Paths are handled in the `\\?\` form, so names with trailing dots/spaces or longer than 260 characters can
never resolve to a different file.
* Optional **Recycle Bin** mode (default for CUSTOM and CRITICAL). Items already in the Recycle Bin are deleted
together with their `$I` metadata.
* Every deletion writes a **log** in `%LOCALAPPDATA%\SuperCleanerPlus\Logs`.
* The program runs with normal rights; **Restart as administrator** gives access to system folders and Windows
caches (Windows Update, `Windows\Temp`).
## Any PC, any language of Windows
Nothing is tied to a particular computer: the rules describe where programs keep their caches for **every user
profile** (`Users\*\AppData\...`), on whatever drive Windows and the profiles live. Programs that are not in the
catalog are still recognized by structure: the caches of any Chromium / Electron / WebView2 application, Python and
test-runner caches, dependency and build folders of any project (Node.js, .NET, Gradle, Rust, Unreal, Unity, Godot...),
`Thumbs.db` and macOS leftovers. Browsers popular in other parts of the world (Naver Whale, Cốc Cốc, 360, QQ Browser,
Avast / AVG Secure Browser, Yandex...) are listed by name. CHKDSK questions, its progress and the "repair at restart"
outcome are recognized in any language; numbers and dates read from the registry or from files never depend on the
regional settings. Virtual disks (disk images, virtual machines, Storage Spaces) are recognized as such by LIFE.
## Proprietary uninstall (PROGRAMS)
Super Cleaner Plus removes a program by itself, without running the program's uninstaller:
* **Plan built fresh from the system**: program folder, data folders (personal data such as mail profiles, "User Data",
saves are unticked), the "Apps & features" entry (and stale entries of older versions), settings keys
(`Software\Publisher\Product`), App Paths, start-up entries, services, scheduled tasks, Start menu / desktop
shortcuts, COM classes, file types and "Open with" registrations pointing into the folder, and for MSI products the
Windows Installer registration and its cached `.msi`.
* **Never removed this way** (the button is disabled with the reason): Microsoft runtimes and SDKs, Visual Studio,
drivers, programs with a kernel driver, Microsoft Store apps, programs whose folder cannot be identified safely, is
shared with another program, is a publisher folder, a system location or among personal files.
* **Before anything changes**: programs running from the folders must be closed; a `registry-backup.reg`
(double-click to restore) and a manifest are written to `%LOCALAPPDATA%\SuperCleanerPlus\Backups`; if the backup
fails nothing is touched.
* Files go to the Recycle Bin by default; with permanent deletion, files in use are scheduled for removal at the next
restart (administrator). Every step is logged.
## Build
Requirements: .NET 8 SDK on Windows.
```
dotnet build SuperCleanerPlus.sln -c Release
dotnet test tests/SuperCleanerPlus.Tests
```
Standalone single-file executable (self-contained, compressed; no .NET installation needed on the target PC).
The ready-made `SuperCleanerPlus.exe` in the repository root was produced with:
```
dotnet publish src/SuperCleanerPlus/SuperCleanerPlus.csproj -c Release -r win-x64 -o publish
```
## Project layout
* `src/SuperCleanerPlus.Core` – scanner, rule catalog and classifier, duplicate finder, archive, report builder,
safety guard and deletion service (no UI); `Diagnostics` (read-only NTFS / FAT / exFAT checkers, CHKDSK runner),
`Health` (S.M.A.R.T. / NVMe, surface tests, LIFE assessment), `Bench` (speed test).
* `src/SuperCleanerPlus` – WPF application.
* `tests/SuperCleanerPlus.Tests` – unit tests (classification, safety guard, grouping, archive, real deletions on
temporary files).