PureMac
Free, open-source macOS cleaner. CleanMyMac alternative with zero telemetry. Native SwiftUI, scheduled auto-cleaning, Xcode/Homebrew/system cache clea
About PureMac
Free, open-source macOS cleaner. CleanMyMac alternative with zero telemetry. Native SwiftUI, scheduled auto-cleaning, Xcode/Homebrew/system cache cleanup. MIT licensed.
What's New in vv2.1.0
v2.1.0
Universal binary (Intel + Apple Silicon).
Security hardening
Five reported vulnerabilities closed - all exploitable with a prior same-UID foothold, no admin/root required.
- Allow-list bypass via
hasPrefixwithout trailing separator (#47) - sibling paths like/tmpfoo/victim.secretcould pass the whole-subtree check for/tmp. Fixed with separator-anchored prefix match inCleaningEngine.isSafeToDeleteandOrphanSafetyPolicy.isSafeCandidate. - Zero-click cache deletion via
HOMEBREW_CACHE+ pre-seededScheduleConfig(#48).scanBrewCachenow stripsHOMEBREW_*from the child env and validatesbrew --cacheoutput against a known-roots allow-list.Downloads,Documents, andDesktopremoved from the whole-subtree allow-list (still deletable as per-file large-file items).SchedulerService.initdiscards a stalenextRunDate;AppState.initgatesscheduler.start()onOnboardingComplete. - TOCTOU between symlink check and
removeItem(#49).CleaningEngine.cleanItemsnow deletes through the resolved URL and re-resolves + re-verifies the resolved path immediately before theunlink. - App-uninstaller short-name bomb + unchecked
removeItem(#50). Minimum 5-char token length enforced on app-name / path-component / letters-only / bundle-last-two / base-bundle / stripped-name / company / team-ID matches. Bundle-ID condition matching is now anchored (==,hasPrefix(cond + "."), orhasSuffix("." + cond)) instead of an unanchoredcontains- stopscom.evil.jetbrainsappfrom hijacking thejetbrainsrule.AppState.removeSelectedFilesandOrphanSafetyPolicyrefuse any high-risk home dotpath. - Removing Claude.ai webapp deleted
~/.claude(#51).Locations.appSearch.pathsno longer includes bare$HOME, so top-level home dotfiles are not scanned as app artifacts. A newhighRiskHomeDotPathslist inConditions.swift(~/.claude,~/.ssh,~/.aws,~/.kube,~/.docker,~/.gnupg,~/.config, cloud/CLI-tool configs, shell histories) is unconditionally skipped by the scanner and the uninstaller selection guard.
UI fixes
- Home page lost after redirecting to side tabs (#69). Smart Scan is now pinned to a dedicated
Homesection at the top of the sidebar, so it is always reachable. - Installed Apps sort not working (#59).
ApplicationandSizecolumns are sortable viaKeyPathComparator. - Sidebar expands indefinitely in Installed Apps (#60). Left pane of the internal
HSplitViewcapped atmaxWidth: 600. - About-box version mismatch (#44, #46, #57, #64).
Info.plistnow uses$(MARKETING_VERSION)/$(CURRENT_PROJECT_VERSION)macros instead of hardcoded1.0.1/3. The shipped bundle now reports 2.1.0 (5).
Other landed work
- Data-race fix in
AppPathFinder.shouldSkipItem(#67) - CLI dispatch only enters CLI mode for known commands - Xcode's
-NSDocumentRevisionsDebugModeand LaunchServices-psn_<pid>no longer hijack launch (#68) - New Docker Cache cleaning category (#36, closes #1)
- Spanish (es) localization + multilingual README (#65)
Install
brew tap momenbasel/tap
brew install --cask puremac
Or download PureMac-2.1.0.dmg below.
Legal Notice
This software is provided by its original developers. We only index and provide links to official download sources. All downloads are from the original publishers and are completely legal and safe.
Download Information
Related Apps
Mole
GitHub🐹 Deep clean and optimize your Mac.
Kap
GitHubAn open-source screen recorder built with web technology
Kap
GitHubAn open-source screen recorder built with web technology
ImageGlass
GitHub🏞 A lightweight, versatile image viewer