Browse documentation

The safety model

What iSweepy is structurally incapable of doing to your Mac, and why every removal is reversible.

Preview is not optional

Every module scans first and shows you a list before anything happens. There is no “clean now” path that skips review — the scan and the removal are separate actions, and the second one always requires your click.

Each row tells you what the item is, where it lives, how large it is, and what happens if it goes. Items the app considers risky are unchecked by default; you have to opt in, not opt out.

Removal means the Trash

The default path for every module is a move to the macOS Trash — the same operation Finder performs. Files keep their contents and can be dragged back out until you empty it yourself.

Permanent deletion exists, but it is deliberately hard to reach: it requires Expert Mode to be enabled and a separate typed confirmation for that specific action. Two independent gates, not a checkbox.

Six checks before any path is touched

Before a file can enter a removal list at all, its path passes a guard that resolves symlinks and then applies a series of hard blocks. These are structural — a module cannot opt out of them, and a bug in one scanner cannot bypass them.

  • Symlinks are resolved first, so a link cannot smuggle in a protected target.
  • Protected bundle types (.app, and similar package extensions) are refused.
  • Anything inside such a bundle is refused, not just the bundle itself.
  • iSweepy's own support folder is refused — the app cannot modify itself.
  • A list of absolute system roots is refused outright.
  • Everything must resolve inside your home folder or an explicit allowlist.

A snapshot before large cleans

On APFS volumes iSweepy attempts to take a local snapshot before a significant clean, so the state can be rolled back through Time Machine if something unexpected happens.

If the snapshot cannot be created, the app tells you plainly and lets you decide whether to continue without that safety net — it does not silently proceed.

Everything is written down

Every operation lands in a local activity log: which module ran, how many items, how many bytes, and when. My Activity turns that log into readable history and can export it as PDF, CSV or JSON.

The log is a plain file on your Mac. It is never uploaded, and you can delete it whenever you like.

Commands that need admin rights

A few maintenance tasks — flushing DNS, reindexing Spotlight, verifying the boot disk — need administrator authorisation. macOS shows its own password prompt; iSweepy never sees or stores your password.

These commands are fixed at build time. The app cannot construct an arbitrary shell command, and the few that accept a value (a snapshot date, a launch item label) validate it against a strict pattern before it is used.