Repository navigation
First run and permissions
SDTally needs Full Disk Access before it does anything (see below). Apart from that, it asks for nothing until you click something. Once access is granted, it shows a short welcome sheet (Welcome, what it does, how it does it, permissions). You can open it again with SDTally > Welcome and Tips.
All permissions are listed in Settings (⌘,), each with its current state, what it is for, what is lost without it, and a button.
What it is for: lets SDTally read folders that macOS hides even from administrators, such as Mail, Messages and Safari.
Without it: the app does not measure or read anything. The window and the menu bar show only the steps to grant it, and the app starts by itself as soon as access is on (it checks every 2 seconds). Without this rule, macOS would ask about each protected folder the app touches.
How:
- In SDTally, click Open Privacy & Security (or go to System Settings > Privacy & Security > Full Disk Access).
- Turn on SDTally. If it is not in the list, add it with the + button.
- Quit and reopen SDTally if macOS asks you to.
macOS has no API to request this permission with a prompt; it has to be granted by hand.
Settings shows Full Disk Access twice: for the app now, and for the latest full measurement. If the app has it but the latest full measurement ran without it, a banner says so. Check the Full Disk Access list and measure again.
For the CLI, Full Disk Access stays optional: grant it to your terminal app (Terminal, iTerm, and so on). Without it the measurement is marked incomplete (no_full_disk_access).
A Full Measurement runs sdtally as root so it can open every folder. Choose Measure with Administrator Password… (⌘R, in the Measurement menu or on the System Data screen). macOS shows its standard password prompt.
- The app uses
osascriptwithwith administrator privileges, the standard macOS way to run one command as root after a password prompt. - A measurement started this way cannot be stopped midway.
- Your account must be an administrator.
Without root, the full measurement still runs and is marked incomplete (no_root): deleted-but-open files are only counted for your own processes, and folders without read permission are counted through APFS directory statistics where available.
What it is for: measuring as administrator without typing the password every time. It is a service that is part of SDTally, approved once in Login Items.
Without it: each full measurement asks for the password and cannot be stopped midway.
How:
- Settings > Passwordless Root > Install… (or Measurement > Install Passwordless Root…).
- Read the explanation and confirm. The app registers its helper with macOS.
- The state changes to Waiting for Approval in Login Items. Click Open Login Items and allow SDTally there.
- The state changes to Active. The measure command becomes Measure as Administrator and no longer asks for a password.
To remove it: Settings > Remove, or Measurement > Remove Passwordless Root.
Requirements:
- The app must be signed with an Apple Development or other Apple-issued certificate with a Team ID. With an ad hoc signature (for example a local build without a signing identity) the helper cannot register and refuses to serve.
- Your account must be an administrator; the helper refuses other users.
Read Passwordless Root helper for the security model before installing it.
In Settings > Behavior:
| Setting | What it does |
|---|---|
| Menu Bar Icon | Keeps SDTally in the menu bar; the app keeps running with the window closed |
| Show in the Menu Bar | Free Space, Freed Automatically, or Icon Only |
| Send Notifications | Notifies when the disk grows 10 GB in a day or has less than 10 percent free. Without it, the warning appears only on the icon. macOS asks for notification permission when you turn it on |
| Open at Login | Gets the menu bar icon ready after the Mac starts, without opening the window. Appears in Login Items |
Settings > Automatic Refresh sets how often each quick reading runs. Settings > Appearance sets the language and which screen the app opens to.
SDTally reads the System Data value from the log the Storage pane writes. The log keeps it for less than about 21 hours. If SDTally says there is no record, open System Settings > General > Storage (the app has Measurement > Open Storage in System Settings, ⌥⌘A), wait for it to finish loading, and measure again. Reading this log requires an administrator account.
Getting started
Understanding
Reference
Trust
Development