A private, native macOS file organizer that keeps Downloads tidy without uploading, indexing, or profiling your files.
🍎 macOS 13+ · 🔒 Local-only file processing · ↩️ Conservative undo ·
⚡ Low-overhead background work · 🧩 Apple Silicon + Intel
⬇️ Download TidyDrop 1.3.0 Community Preview · Release notes · Security
Important
The current Community Preview is ad hoc signed and is not Apple-notarized.
macOS requires a one-time Open Anyway approval. Install only from the
official bugroo/tidydrop release and never disable Gatekeeper.
Downloads folders quickly become a mix of documents, images, installers, archives, media, and unfinished downloads. Cleaning them manually is repetitive, but many automatic organizers are difficult to trust: they may overwrite files, move downloads that are still being written, require broad permissions, or send file information to another service.
TidyDrop provides a small, predictable alternative built around a few clear promises:
- Private by default. File names, metadata, and content stay on the Mac.
- Safe before automatic. Every installation and folder change returns to a non-moving preview before organization can be enabled.
- Transparent. Categories and decisions are visible, logged locally, and auditable.
- Reversible. Completed moves are journaled for a conservative undo that refuses unsafe restores.
- Quiet. The background agent sleeps on FSEvents when nothing changes and avoids periodic scans and repeated log writes.
- TidyDrop watches the first level of one selected folder.
- It waits for downloads to stop changing before classifying them.
- It previews the result or moves each stable file into a clear category.
- It records successful moves locally so the latest transaction can be undone.
- Organizes only the first level of one selected folder.
- Waits until a file appears stable before moving it.
- Ignores hidden files, folders, apps, symbolic links, and incomplete downloads.
- Never overwrites an existing file.
- Records completed moves so the latest transaction can be undone safely.
- Responds to filesystem events, reconciles once at startup, and uses one short-lived timer only while a candidate is still changing.
- Background organization uses no network connection, telemetry, advertising, or cloud processing. The optional Update Center contacts only the official GitHub release channel after an explicit button press.
The default folder is ~/Downloads. TidyDrop creates category folders only when
they are needed. Folder labels come from the installed configuration and may be
localized; the categories are:
- Documents
- Images
- Videos
- Audio
- Archives
- Installers
- Code
- Disk images (
ISOs) - Data
- Torrents
- Other
TidyDrop never reorganizes subfolders recursively.
TidyDrop 1.3.0 Community Preview is available as a Universal 2 DMG from GitHub Releases. It contains a native setup app and a bundled background agent, so recipients do not need Terminal or development tools.
The native workbench provides four focused sections: Active Folder, Activity, Rules, and History. Its inspector explains the selected item and exposes rule editing or conservative undo only where those actions are valid.
Choose TidyDrop → Software Updates…, then press Check for Updates.
TidyDrop makes one ephemeral HTTPS request to the official bugroo/tidydrop
GitHub release channel. It sends no file names, folder paths, cookies,
credentials, device identifier, or telemetry.
The Community Preview Update Center reports a newer strict Community tag and can open its official release page. It does not download, install, or roll back the application. Update and recovery automation remain blocked until signed release metadata, safe staging, external recovery, agent migration, and TCC gates are implemented and verified.
This preview is not signed with Apple Developer ID and is not notarized by Apple. macOS therefore requires a one-time manual exception. The notarized general-public release remains a later milestone.
Requirements:
- macOS 13 or later. The current installed-source path has been verified on Apple silicon; the Universal 2 release candidate still requires a real Intel installation test.
- Apple Command Line Tools only when building or installing from source.
The DMG requires neither Xcode nor Apple Command Line Tools. Full Xcode, Homebrew, Python, administrator privileges, and Full Disk Access are not required.
- Download the DMG and checksum from the official prerelease.
- Open the DMG and drag
TidyDrop.appto Applications. - Try to open TidyDrop once. macOS is expected to block the first launch.
- Open System Settings → Privacy & Security and select Open Anyway.
- Open TidyDrop, enable background organization, and let it verify a safe preview run.
- Enable automatic organization only after the preview reports zero errors.
Never disable Gatekeeper, remove quarantine attributes, grant Full Disk Access,
or install TidyDrop through a remote curl | sh command.
Download the matching SHA-256 checksum and verify the DMG with:
shasum -a 256 -c TidyDrop-1.3.0-community-preview-macos-universal.sha256The source installation remains available for contributors and auditors:
git clone https://github.com/bugroo/tidydrop.git
cd tidydrop
./scripts/install.shThe installer adds TidyDrop only to the current user account and leaves automatic moving disabled. Review the initial dry-run before enabling it:
"$HOME/.local/bin/tidydrop" status
"$HOME/.local/bin/tidydrop" folder show
"$HOME/.local/bin/tidydrop" run --dry-runEnable automatic organization only when the preview looks correct:
"$HOME/.local/bin/tidydrop" activateDisable moving at any time:
"$HOME/.local/bin/tidydrop" deactivateTidyDrop manages one active folder at a time.
"$HOME/.local/bin/tidydrop" folder show
"$HOME/.local/bin/tidydrop" folder choose
"$HOME/.local/bin/tidydrop" folder set "/path/with spaces"
"$HOME/.local/bin/tidydrop" folder validate
"$HOME/.local/bin/tidydrop" folder reset-downloadsChoosing or changing the folder always returns TidyDrop to dry-run and does not move anything immediately.
The filesystem root, the complete home folder, ~/Library, TidyDrop's own data,
symbolic-link roots, and unavailable or unwritable folders are rejected. A local,
writable subfolder in iCloud Drive, Google Drive, a network volume, or an external
drive may be selected, but macOS permissions and offline availability must be
checked separately.
Preview a pass without moving files:
"$HOME/.local/bin/tidydrop" run --dry-runPreview the latest available undo:
"$HOME/.local/bin/tidydrop" undoRestore that transaction:
"$HOME/.local/bin/tidydrop" undo --applyUndo refuses to overwrite a new file or restore an item whose identity no longer matches the recorded move.
File names, file metadata, and content stay on the Mac. TidyDrop does not transmit usage information. A manual update check necessarily discloses normal HTTPS connection metadata, such as the source IP, to GitHub; it is never run by the background agent or on a timer.
macOS may request access to Downloads, Documents, Desktop, removable volumes, or network volumes. Grant access only under:
System Settings → Privacy & Security → Files & Folders
Do not grant Full Disk Access. If the selected folder becomes unavailable or permission is revoked, TidyDrop moves nothing and tries again on a later pass.
"$HOME/.local/bin/tidydrop" status
"$HOME/.local/bin/tidydrop" folder showLocal logs and reversible transaction records are stored under:
~/Library/Logs/TidyDrop
~/Library/Application Support/TidyDrop
Logs are size-limited and rotated. Empty scheduled passes do not continuously append log entries.
Remove the app, command, and scheduled agent while preserving configuration and history:
./scripts/uninstall.shAlso remove TidyDrop's configuration, logs, and transaction history:
./scripts/uninstall.sh --purgeUninstalling TidyDrop never removes organized files or category folders.
- One active folder is supported at a time.
- The Community Preview is ad hoc signed and requires a manual Gatekeeper exception; it is not Apple notarized.
- App Sandbox and security-scoped bookmarks are validated prototypes but are not enabled in the Community bundle without a stable Developer ID identity.
- A macOS or TidyDrop update may require Files & Folders permission again.
- Community updates are installed manually. The current build has update discovery, not automatic installation or automatic app rollback.
- Cloud and removable-volume files must be available locally before they can be organized.
- A file-writing application can still change a file in the very small interval between the final safety check and the move.
Please report vulnerabilities through GitHub's private security reporting. Do not publish unpatched vulnerability details in a public issue.
Bug reports, macOS compatibility results, accessibility feedback, documentation improvements, and focused pull requests are welcome. Please review the architecture decisions and run the repository's validation scripts before submitting code.
If TidyDrop is useful to you, starring the repository helps other people find a private macOS Downloads organizer without ads, telemetry, or cloud processing.