Skip to content
ciro-macielPublic

About

Cleaner by Ciro Cesar Maciel: the Mac cleaner that shows you everything before it deletes anything. Public rules, 7-day quarantine, menu bar monitor. Native Swift, MIT.

Topics

Resources

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Repository files navigation

Cleaner by Ciro Cesar Maciel

A Mac cleaner that shows you everything before it deletes anything.

One of six free, open-source Mac apps by Ciro Cesar Maciel.

Watch the 1-minute video

As seen on Open Source Alternatives Cleaner by Ciro Cesar Maciel | AlternativeTo

Every rule it cleans by is in one readable file, rules.json. Nothing is deleted on the spot: whatever you remove waits 7 days in a quarantine and goes back where it was with one click. A native Swift app for macOS 14+ on Apple Silicon, with no network code at all.

Português

Cleaner overview: 4 GB that can be freed, disk usage and the four tools

Install

curl -fsSL https://blob.ciromaciel.click/tools/cleaner/install.sh | bash

The script downloads the latest .dmg, copies Cleaner to /Applications and opens it.

Prefer the disk image? Download Cleaner-macos.dmg. Open it and drag Cleaner to Applications. It is signed with Developer ID and notarized by Apple, so macOS opens it with no warning.

For a complete scan, turn on Cleaner in System Settings → Privacy & Security → Full Disk Access. Without it, macOS hides the Trash, Mail and app containers, and Cleaner tells you so instead of pretending.

Check it yourself

Cleaner is published in two places only: this repository and ciromaciel.click/tools/cleaner, whose downloads are the ones above. Any other copy is not mine.

Every copy is signed by my team, 4X58N3TK8V, and notarized by Apple:

codesign -dv /Applications/Cleaner.app 2>&1 | grep TeamIdentifier   # TeamIdentifier=4X58N3TK8V
spctl -a -vv /Applications/Cleaner.app                              # source=Notarized Developer ID

And it has no network code. The app links no networking framework and calls no networking API, so both commands print nothing:

otool -L /Applications/Cleaner.app/Contents/MacOS/Cleaner | grep -i network
nm -u /Applications/Cleaner.app/Contents/MacOS/Cleaner | grep -iE "URLSession|NWConnection|CFSocket"

Why another Mac cleaner

The well-known cleaners ask you to trust a "junk" number. Cleaner shows you how it gets that number:

  • The rules are public. rules.json lists every folder Cleaner looks at, why it is safe to clear and what is excluded. If a rule is wrong, you can read it, and you can send a fix.
  • Nothing disappears. Removal moves items to a quarantine batch that remembers each original path. Restore is one click; after 7 days the batch empties itself.
  • Removal takes a 3-second hold. No accidental clicks.
  • It says what it can't do. When macOS refuses a file, Cleaner tells you why: the item belongs to the system and needs your password, or it is protected and no password would help.

Cleanup: every item, the rule that found it and its size

What it does

Screen What it does
Overview One scan for everything: space you can free, disk, apps, startup items, quarantine
Cleanup Applies the rules in rules.json: app caches, logs, Trash, old installers, Xcode, developer caches, Mail downloads, downloaded AI models (off by default)
Uninstaller Lists apps with size and last use, then removes the app and its leftovers in 38 places, .pkg receipts included
Disk map Measures a whole folder in parallel and lets you walk into the biggest parts
Startup Turns LaunchAgents and LaunchDaemons on and off without deleting the file
Quarantine Batches with their original paths: restore with a click, emptied after 7 days
Menu bar CPU, memory, network, disk and battery, live, plus how much you can free right now

The menu bar panel: processor, memory, network, disk and battery

The rules

Nine rules today. Each one says what it is, why it is safe (in Brazilian Portuguese and in English), how risky it is and whether it is on by default:

{
  "id": "app-caches",
  "title": "Caches de aplicativos",
  "why": "Arquivos temporários que cada app recria sozinho quando precisa.",
  "titleEn": "App caches",
  "whyEn": "Temporary files each app recreates by itself when it needs them.",
  "risk": "low",
  "mode": "children",
  "paths": ["~/Library/Caches"],
  "exclude": ["com.apple.*", "CloudKit", "FamilyCircle", "GeoServices", "click.ciromaciel.cleaner", ".*"],
  "skipRunningApps": true,
  "defaultOn": true
}

The other eight are logs, trash, installers, xcode-derived-data, dev-caches, xcode-device-support, mail-downloads and ai-models (Hugging Face and LM Studio downloads, off by default). Every rule, one per section, with where it looks, what it leaves out and how risky it is: docs/RULES.md. A new rule or a better exclusion is the most useful contribution you can make.

Build it yourself

You need the Xcode Command Line Tools. Xcode itself is optional.

git clone https://github.com/ciro-maciel/cleaner.git
cd cleaner
scripts/build.sh                 # dist/Cleaner.app
open dist/Cleaner.app

The illustrations on each screen come from a licensed gallery and ship only in the official build; a build from this repository draws the Tabler icon of each screen instead. To use your own, drop 560 × 560 PNGs into Resources/Illustrations.

scripts/build.sh signs with a Developer ID Application certificate when your keychain has one (the official build does). Otherwise scripts/signing-identity.sh creates a local signing certificate once: with it, Full Disk Access survives each rebuild; without it, the build is signed ad hoc and macOS asks again every time.

Tests run against your own Mac without changing it:

CLEANER_NO_ADMIN=1 dist/Cleaner.app/Contents/MacOS/Cleaner --selftest   # reads only; quarantine runs in a temp folder
dist/Cleaner.app/Contents/MacOS/Cleaner --uninstall-test                # fakes an app with every leftover, removes, checks, restores
dist/Cleaner.app/Contents/MacOS/Cleaner --screenshots /tmp/shots        # captures every screen

Limits

  • Apple Silicon and macOS 14 or newer only.
  • The interface is in English and Brazilian Portuguese, following the Mac's language.
  • Items protected by System Integrity Protection stay where they are. That is macOS working as intended.
  • No duplicate finder, no malware scan and no app updater.

Contributing

Issues and pull requests are welcome, especially for rules.json. See CONTRIBUTING.md.

Learned from

Ideas this project took from other open-source Mac cleaners, with thanks:

  • Mac Sai: letting anyone verify the no-network claim with two commands ("Check it yourself").
  • Peel: naming the only official sources and showing how to check the signing team.
  • Vervain: treating downloaded AI models as their own category, never pre-selected (ai-models).
  • Kudu: a readable page with every cleaning rule (docs/RULES.md).
  • Sweep: on uninstall, a vendor folder with a version at the end still names the app (JetBrains/DataSpell2024.2), while a longer name is another app and stays.
  • BHUninstaller: every leftover says why it belongs to the app (named after its identifier, its name, or inside its vendor folder).

License

MIT. Fonts and icons keep their own licenses: see NOTICE.


More from Ciro Cesar Maciel

I build software on my own, with a team of AI agents, and open what I can. Six native Mac apps, all free, MIT, signed and notarized by Apple, in English and Brazilian Portuguese: Cleaner, the Mac cleaner that shows you everything before it deletes anything (this one) · Screenshots, capture, annotate and record the screen, with nothing leaving your Mac · Speech to Text, dictation by shortcut, with Whisper running on your Mac · Assistant, Claude Code by voice · Windows, snap windows into place with a shortcut or by dragging them to the edge · Text to Speech, select text in any app and hear it read aloud.

Beyond the apps: free tools for the browser, books, and Infrastructure, the infrastructure AI agents already know how to run.

Curated lists. Nineteen awesome lists in Brazilian Portuguese, translated into 14 languages: AI at work by profession, Pix, NF-e, payments, Open Finance, WhatsApp, Brazilian APIs, MCP servers, Claude Code and more. Every link was opened before it went in.

Support. Everything here is free and stays free. If it saved you time, buy me a coffee: you choose the amount, by Pix or card.

Follow along. Follow @ciro-maciel for the next open-source apps, click Watch → Custom → Releases above for every new version, and see how it is all made on YouTube and at ciromaciel.click.

About

Cleaner by Ciro Cesar Maciel: the Mac cleaner that shows you everything before it deletes anything. Public rules, 7-day quarantine, menu bar monitor. Native Swift, MIT.

Topics

Resources

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages