Strata

Features

Every layer, explained.

From the raw Master File Table to the pixels on screen: how Strata finds every byte, keeps it current, tells you what it is and removes it without risk.

01MFT scanning

Reads the table of contents, not the book.

Every NTFS volume keeps a Master File Table: one record per file and folder. Strata reads it straight from the volume device instead of opening millions of folders one by one.

  • Raw, unbuffered reads. Opens \\.\C: with sector-aligned buffers and follows the $MFT runlist from record 0, so a fragmented table is read fragment by fragment in 8 MiB chunks.
  • Parallel parsing. One I/O thread feeds a bounded channel; a worker pool applies update-sequence fixups, parses attributes and merges extension records.
  • Exact sizes. Hardlinks count once, compressed, sparse and CompactOS files count the clusters they use, cloud placeholders count what is local, and alternate streams and folder indexes are included.
  • Hardened. Torn and corrupt records are counted and skipped. The parser is fuzzed and never panics on malformed input.
  • A fallback that agrees. Without administrator rights, or on ReFS, FAT, exFAT and network shares, a parallel standard scanner emits the same records, without ever recalling cloud files.
Parse 1M records
155–291 ms
Full system drive
26.2 s
\\.\C: · raw volume $MFT runlist frag 1frag 2frag 3frag 4 I/O thread 8 MiB chunks bounded channel worker 1 worker 2 worker 3 torn · skipped worker 4 fixupsattributesextensionsassemble ScanRecord batches → index
The table is read in large sequential chunks and parsed in parallel; the disk, not the CPU, sets the pace.

02Live index

Scan once. Stay current.

NTFS records every change in its USN change journal. Strata follows it and patches its in-memory index in place, so the map you are looking at is the disk as it is now.

  • Deltas, not rescans. Journal records are coalesced per tick, the changed MFT records are re-read, and only the affected entries and their parent folders are updated.
  • Silent when idle. Reads block until something changes, so an idle volume costs no CPU: 0 wake-ups in the benchmark.
  • Opens at once. Each volume’s index is cached with per-section checksums and caught up from the journal at the next launch; any mismatch falls back to a scan.
  • Honest about gaps. A wrapped or recreated journal shows a notice and can trigger a rescan. Volumes indexed by the standard scanner are watched folder by folder.
  • Compact. A struct-of-arrays index uses 59.2 B of memory per entry, plus its name.
Change to view
251–265 ms
500,000 new files
1.9 s
USN change journal tick CLOSERENAMECLOSEDELETE CREATEEXTENDEXTEND coalesce · re-read records UsersProgram FilesWindows Videos +1.2 GB parent chain updated in O(depth)
Only the changed entries and the folders above them are touched; the rest of the layout is reused.

03Explains every file

What it is, who made it, and what deleting it means.

240 built-in rules in 11 packs classify every file and folder into one of 14 categories, name the app that owns it among 72 they recognise, and assign a safety tier.

  • Four safety tiers. Safe regenerates by itself, probably is likely junk, careful is your data or a large re-download, and never has no delete action anywhere.
  • Owner attribution. Installed-program registry keys (machine, 32-bit and per user), AppX packages, rule labels and folder names, each with a confidence and its evidence.
  • “Why is this X?” Every classification shows the rule that won, the folder it was inherited from, and every candidate that was considered.
  • Yours to extend. Add TOML packs to your rules folder to cover your own tools. A user rule can tighten any tier, but it can never relax a built-in never.
  • Safe87Regenerable, no user data
  • Probably34Likely junk; review recommended
  • Careful74User data or large re-downloads
  • Never45No delete action anywhere
C:\Users\me\AppData\Local\ npm-cache npm-cache Folder · 4.2 GB allocated · 61,204 files Safe CategoryAppRuleRegenerable CachesNode.js / npmdev.npm_cacheYes confidence: exact pack: dev · path rule npm’s download cache. Safe to delete; packages are downloaded again when needed. Why C:\Users\menpm-cache matched here, by path
The details panel for a folder the rules recognise. Paths are illustrative.
The 11 built-in rule packs
  • dev54Package caches, dependency folders, build output, SDKs, Docker/WSL disks and git.
  • windows37Windows system files, caches, dumps and the never-delete defaults.
  • apps32Discord, Slack, Teams, VS Code, Cursor, Spotify, Zoom, Notion, Figma, Obsidian, Telegram and generic Electron caches.
  • claude21Claude Code (CLI, native install, npm package, IDE extensions) and Claude desktop.
  • ai19Hugging Face, Ollama, LM Studio, ComfyUI, Automatic1111/Forge, torch hub, Whisper, Copilot, Tabnine and model file types.
  • browsers19Chrome, Edge, Brave, Opera/Opera GX, Vivaldi, Arc, Chromium and Firefox profiles and caches.
  • games18Steam, Epic, Battle.net, EA app, Ubisoft Connect, GOG, Xbox and Roblox.
  • userdata15Known personal folders and generic content-type categories.
  • media10OBS, Adobe Premiere / After Effects, DaVinci Resolve, CapCut and Lightroom.
  • generic9Temp files, Office owner files, big logs, dumps, backups, empty files and folders, old & large files.
  • downloads6Old installers, already-extracted archives, disk images, partial and repeated downloads.

Schema, matchers and precedence are in docs/RULES.md.

04Safe cleanup

Every layer fails closed.

Deletion is the only destructive thing Strata does, so it passes through independent checks, each able to stop it, and lands somewhere you can take it back from.

  • A never-delete list in code. Volume roots, the Windows folder, Program Files, every profile root, known-folder roots, boot and paging files, NTFS metadata and more, enforced by the app and again by the elevated helper.
  • Every spelling checked. \\?\ and \??\ prefixes, UNC and admin shares, volume GUID paths, mount points, trailing dots and 8.3 short names all resolve to the same protected location.
  • Re-verified by file id. Right before acting, the item is opened without following links, and its volume serial, file id, size and modification time must still match the scan.
  • Recycle Bin by default. The undo log is written before anything is touched, and a restore puts files back without ever overwriting.
  • Locks, named. Restart Manager shows which program holds a file. Closing it is a polite request after you agree, never a kill.
never-listcanonical pathfile id + sizeRecycle Bin 01020304 Temp\build-cache System32\drivers refused: protected location undo log written first · recycled · restorable Restore
A request must pass every gate; any one of them can refuse it.

06History and snapshots

See what grew, and when.

Each scan can store a snapshot of folder sizes. Compare any two and Strata lists what grew, what shrank and what appeared, folder by folder.

  • Small by design. Snapshots keep aggregate sizes of folders above a threshold (16 MB by default), about 12 bytes per folder, never individual files.
  • Self-pruning. Thinned to one a week after 30 days and removed after 90 days by default; both limits are in Settings.
  • Kept apart. History lives in its own database, so resetting it never touches your settings or the undo log that restores depend on.
Used space · weekly snapshots 400380360340 GB W1W2W3W4W5W6W7now Since the last snapshot +15.2 GB Videos\Captures+9.8 GB AppData\Local\Docker+4.1 GB projects\app\node_modules+1.6 GB Downloads−0.3 GB
A diff between two snapshots, sorted by growth. Figures are illustrative.

07Duplicates

Real copies only. Nothing downloaded.

Files are narrowed down in stages, so most candidates are ruled out without reading a byte, and only true byte-for-byte copies reach you.

  • Three stages. Group by size, then hash the first, middle and last 64 KiB, then hash the whole file. Hashes are cached, so a rerun reads 0 bytes from disk.
  • Hardlinks are one file. Paths that share a file record are never reported as copies of each other.
  • Cloud files stay in the cloud. Placeholders are never opened, and every open forbids recalling cloud content.
  • Can’t lose the last copy. A selection can never include every copy in a group; Strata suggests which to keep and says why, then re-checks before deleting through the same safe cleanup.
same sizepartial hashfull hash no reads3 × 64 KiBwhole file hardlink · skipped cloud · not opened keep · oldest Group · 3 copies · 2.4 GB each 4.8 GB reclaimable Keep: Pictures\2023\trip.mov — oldest, not in Downloads
Each stage reads more only for files still in the running. Names are illustrative.

08Activity · opt-in

Which program is filling your disk, right now.

Turn on activity tracking and Strata records which programs write, create and delete files, per folder and per hour, plus the last program that wrote each path.

  • Off by default. It needs administrator rights and runs inside the elevated helper as one kernel trace session.
  • Light. Tracing stays under a CPU cap (2% by default); above it, Strata samples writes and scales them, and suggests turning tracking off.
  • Accurate attribution. Processes are keyed by id and start time, so a reused process id is never blamed for another program’s writes.
  • Local and temporary. Activity data stays in the history database and is deleted after 30 days by default, or whenever you clear it.
Written · last hour by hour, today obs64.exe6.1 GB steam.exe3.6 GB Code.exe1.2 GB chrome.exe710 MB MsMpEng.exe96 MB Last writer Videos\Captures\2026-10-09 21-14.mkv Program obs64.exe · OBS Studio Tracing CPU 2% cap
Per-program writes with hourly rollups. Programs and sizes are illustrative.

09Views

Five ways to see the same drive.

Layouts are computed in Rust, in device pixels, and streamed to the window as fixed 32-byte records that WebGL2 draws directly. Switching colour modes is a shader change, not a relayout, and hover never waits on the backend.

  • Treemap

    Squarified, with cushions and folded small items.

  • Sunburst

    Rings by depth; the angle is the size.

  • Icicle

    Depth top to bottom, size left to right.

  • Circle packing

    Nested circles for nested folders.

  • Mind map

    The biggest branches, readable at a glance.

Blocks on screen
503,464
Frame rate
100 fps
Hit test
on the GPU buffer

See it on your own drives.

Free for Windows 10 22H2 or Windows 11, on x64 and ARM64.