Private, reversible file organization for Windows.
FileNest turns cluttered Downloads, Desktop, and Documents folders into a reviewable cleanup workflow. It scans only folders the user selects, identifies exact duplicates and stale files, proposes move-only actions, and records every approved operation for integrity-checked undo.
View the complete interface gallery
| Exact duplicate review | Explicit cleanup approval |
|---|---|
![]() |
![]() |
| Integrity-checked undo history | Local filename and path search |
![]() |
![]() |
| Safety settings and local-history controls | |
![]() |
All screenshots use fictional browser-demo data under C:\Users\Demo; the packaged desktop starts empty and never presents demo findings as local scan results.
Most cleanup utilities optimize for aggressive deletion. That is the wrong default for personal files. FileNest optimizes for trust:
- FileNest has no upload, telemetry, or network client. Cloud-synchronized folders may still trigger provider-controlled hydration or synchronization.
- A scan never mutates files.
- Cleanup plans contain moves, not deletes.
- Every selected source is hashed and rechecked immediately before execution.
- Existing destinations are never overwritten.
- Undo stops rather than overwriting a changed or occupied path.
- Windows Known Folder discovery for Downloads, Desktop, and Documents
- User-selected multi-folder scans
- Hidden and system entry exclusion by default
- Link/junction traversal disabled
- File categorization, stale-file detection, large-file insights, and issue collection
- Streaming BLAKE3 hashing only for same-size duplicate candidates
- Parallel exact-duplicate verification
- SQLite scan snapshots, settings, operation journal, and Unicode FTS5 search
- User-confirmed clearing of scan, search, and plan metadata without touching personal files; operation journals remain available for undo
- Explicit cleanup-plan selection
- Crash-aware pending-operation recovery
- Windows same-volume atomic moves; cross-volume actions are refused rather than emulated with a risky copy/delete sequence
- Integrity-checked one-click undo
- Local browser demo mode using fictional data for visual review
- Windows NSIS packaging and GitHub Actions CI
flowchart LR
UI[React + TypeScript UI] -->|typed Tauri commands| CMD[Tauri command boundary]
CMD --> SCAN[Rust scanner + BLAKE3]
CMD --> PLAN[Cleanup planner]
CMD --> OPS[Verified move + undo engine]
CMD --> DB[(SQLite + FTS5)]
SCAN --> FS[Selected local folders]
OPS --> FS
PLAN --> DB
OPS --> DB
The React layer cannot access arbitrary files directly. The only frontend filesystem permission is the native folder picker. Rust owns traversal, hashing, path validation, planning, mutation, recovery, and persistence.
See Architecture and Safety model for the complete boundaries and trade-offs.
- Windows 10 or 11
- Node.js 24
- Rust stable with the MSVC target
- Visual Studio 2022 Build Tools with Desktop development with C++
- Microsoft Edge WebView2 Runtime
npm ci
npm run tauri devThe standard verification commands are:
npm run check
cd src-tauri
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-featuresnpm run tauri build -- --bundles nsisThe unsigned development installer is generated under src-tauri/target/release/bundle/nsis/. Windows code signing is intentionally not claimed or configured in this repository.
The FileNest application has no network client. If Microsoft Edge WebView2 Runtime is absent, the NSIS installer may download Microsoft's WebView2 bootstrapper so it can install that prerequisite.
cd src-tauri
cargo run --release --example benchmark -- \
--files 10000 \
--repeats 5 \
--output ../docs/benchmarks/windows-10000.jsonThe checked-in Windows run scanned a generated 10,000-file corpus with exact duplicate detection at a median 5,042.35 files/second. Median duration was 1,983.20 ms and measured-run p95 was 2,083.42 ms across five repeats.
This is an in-process synthetic microbenchmark. It excludes UI rendering, SQLite persistence, application startup, and real-user disk distributions. It is not a promise of end-to-end or production performance. See benchmark methodology.
FileNest defends against stale plans and accidental overwrites by checking:
- The approved root still exists.
- The canonical source remains inside that root.
- The destination and its nearest existing ancestor remain inside the root.
- No parent traversal is present.
- The destination is unoccupied.
- Source size and BLAKE3 hash still match the plan.
- A journal entry exists before mutation.
- File mutation is restricted to Windows same-volume renames; cross-volume actions fail without copying or deleting the source.
- Undo targets remain unchanged and the original path remains free.
FileNest is a local single-user utility, not a hardened boundary against a malicious process already running as the same Windows user. See limitations and the checked security and dependency review.
CI runs on Windows and verifies:
- React tests, ESLint, TypeScript, and production frontend build
- npm high-severity dependency audit
- Rust formatting and Clippy with warnings denied
- Rust scanner, persistence, planner, operation, recovery, and undo tests
- Synthetic benchmark smoke test
- Tauri NSIS installer build and artifact upload
The 2026-08-09 local verification passed 26 Rust tests and 13 frontend tests. Frontend coverage was not rerun for this focused repair; an earlier run measured 93.33% of lines. Tauri command wrappers and rare filesystem failure branches keep aggregate Rust coverage lower, so no blanket backend coverage claim is made.
src/ React desktop interface and browser demo adapter
src-tauri/src/scanner.rs Read-only inventory and exact duplicates
src-tauri/src/planner.rs Move-only cleanup suggestions
src-tauri/src/operations.rs Preflight, journaled execution, recovery, undo
src-tauri/src/store.rs SQLite, FTS5, settings, plans, journal
src-tauri/examples/ Reproducible synthetic benchmark
docs/ Architecture, safety, evidence, interview notes
FileNest is Windows-first and intended for trusted local evaluation. The repository does not currently claim code signing, macOS/Linux verification, cloud synchronization, semantic content search, or automatic deletion.
See the changelog for release details.





