Exactly what Pelmet sends, and how to stop it
Pelmet is a menu bar utility, not a data business. It makes two kinds of network call — update checks and one anonymous daily ping — and you control both. Every field is listed below, and the sending code is one small file you can read.
Update checks
Handled by Sparkle. Pelmet asks you once before enabling checks, then looks every 6 hours. If a scheduled check hits a temporary network failure it performs at most three recovery checks and shows the retry state in Settings. An ↑ in the menu bar means an update is ready to review — Pelmet never installs one without your approval, and downloads are EdDSA-signed.
One anonymous ping a day
A single small event, at most once a day, so the project knows how many people use Pelmet and what to prioritise. An in-app notice appears before the first one is ever sent. It goes over HTTPS to PostHog Cloud US, and IP addresses are discarded on arrival.
Every field
The complete contents of that event
Nothing here is abbreviated for the website. This is the whole payload.
| Field | Value | Why it is collected |
|---|---|---|
| distinct_id | A random UUID | Counts one Mac once per day and month. Not derived from any hardware identifier, and resettable. |
| app_version | e.g. 0.6.1 | Shows which versions are still in use, so old ones can be supported or retired knowingly. |
| macos | Major.minor only | Decides which macOS versions are worth continuing to support. |
| arch | Apple silicon or Intel | Tells us whether Intel builds still matter. |
| notch | true / false | Measures how relevant the notch-specific features actually are. |
| shelf_enabled | true / false | Feature adoption — is the Shelf being used? |
| one_click_enabled | true / false | Feature adoption for the opt-in Accessibility feature. |
| auto_rehide | true / false | Feature adoption for auto-rehide. |
| manages_items | true / false | Whether Pelmet is actually managing anything, or was installed and forgotten. |
| prev_session_clean | true / false | A single boolean standing in for a crash rate. No stack traces, no crash contents. |
The authoritative version of this table lives in docs/TELEMETRY.md in the repository. If the two ever disagree, the repository is correct.
Never collected
What is not in that list, and never will be
- Your name, email address, or any account
- The contents of your menu bar
- Anything about the other applications you run
- File paths or window titles
- Hardware identifiers or serial numbers
- Location data
- A behavioural stream — no clicks, no timings, no sessions
Opting out
Three ways, pick any one
- In the app. Settings → General → Privacy, and turn it off.
- In Terminal.
defaults write com.ismatbabirli.Pelmet telemetryEnabled -bool NO
- With an environment variable. Set
DO_NOT_TRACK=1and Pelmet respects it without any further configuration.
This website
And what pelmet.xyz collects
This site uses PostHog for basic page analytics, configured with memory-only persistence: no cookies and no local storage are written to your browser, which is why you are not being asked to dismiss a consent banner.
Analytics requests are proxied through this domain rather than sent to a third-party host directly. There are no advertising trackers, no social embeds, no external fonts, and no third-party scripts of any kind.
FAQ
Privacy questions
- Does Pelmet need any macOS permissions?
- No, not for its core features. Hiding and showing icons, the notch overflow counter, and the Shelf all run with zero special permissions. Only the optional one-click access feature asks for Accessibility, and declining it leaves everything else working.
- Does Pelmet include Google Analytics, Amplitude, or any tracking SDK?
- No. Pelmet embeds no third-party analytics SDK. It sends one small JSON event per day from a single file of its own code, to a PostHog Cloud US endpoint, and that is the entirety of its analytics.
- How do I turn telemetry off?
- Toggle it off in Settings → General → Privacy, run `defaults write com.ismatbabirli.Pelmet telemetryEnabled -bool NO`, or set the DO_NOT_TRACK=1 environment variable. Any one of the three is enough.
- How long is the data kept?
- Raw events are deleted after at most 12 months. IP addresses are discarded on arrival and never stored alongside events.
- Are crash reports uploaded automatically?
- No. Crash data never leaves your Mac by itself. After a crash Pelmet offers to open a prefilled GitHub issue, which you read and submit yourself.
Questions or corrections? Open an issue on GitHub, or read the general FAQ.