Privacy
Last updated: 10 August 2026 · applies to WattMate 1.0 for macOS and to wattmateapp.com
The short version
WattMate measures your Mac on your Mac. The names of your apps and processes, their paths, your energy history and everything read from the system power log stay on the machine and are never sent anywhere.
Three things do leave, and each one is listed in full below: anonymous usage statistics (on by default, one switch turns them off), crash reports (same switch), and — only if you buy — a licence check with the store that sells the key.
There is no account, no sign-in and no password. Nothing you measure is sold, shared or used for advertising.
Who is responsible
The controller of the personal data described here is Vitali Staradubau, tax number 5252950301. Questions, requests and complaints: [email protected].
What stays on your Mac
Measurements are written to a local SQLite database at
~/Library/Application Support/WattMate/wattmate.sqlite. It is an ordinary
file on your disk. Nothing in it is uploaded.
| What | Contains | Kept for |
|---|---|---|
| Detailed measurement windows | Per-process energy, including app names, bundle identifiers and paths | 48 hours, then deleted automatically |
| Time-remaining readings | Paired estimates used to check our own accuracy | 30 days |
| Run summaries | Start and end of each run off the battery, charge spent, the shape of the power use, and the heaviest apps of that run with their shares and the paths to their icons | Indefinitely, until you erase them |
| Charge summaries | When the Mac was on the cable and what the adapter gave | Indefinitely |
| Battery health | Monthly capacity and cycle readings | Indefinitely |
| Quit receipts | The name and bundle identifier of an app that stopped while the Mac was on battery, what we promised for it beforehand and what was measured afterwards — apps that quit on their own are recorded too, not only the ones you quit here | Indefinitely, until you erase them |
| Sleep episodes | Sleep and wake events from the macOS power log, including the name of the service that requested each wake | Indefinitely |
To read the power log the app runs /usr/bin/pmset -g log — the only
outside program it ever starts. It does that when you open the statistics window or
ask for a night breakdown, and not more than once a day beyond that. What it reads
stays in the database above.
Settings, a random installation identifier, counters for the weekly summary and
the list of apps you hid are stored in the app's own preferences file. Your licence
key, its activation id, the expiry date and the date your trial started are written
twice — to that same preferences file and to a hidden .state file next
to the database — so that clearing one of them does not hand out a second free
trial. Both stay on this Mac; nothing there is sent anywhere except the key itself,
to the licence server, when it is checked.
What leaves your Mac
1. Anonymous usage statistics — on by default
Sent to TelemetryDeck, our analytics processor. They are switched off by Settings › General › Send anonymous statistics, and the switch takes effect immediately: the next event is not queued, not stored and not sent. If statistics were never enabled in a session, the analytics component is not started at all.
Fourteen events exist and no others. Thirteen mark the steps of getting started and buying. Most go once per installation; the ones that can repeat — the receipt after a quit, a tap on a locked feature, an opened price screen, an opened checkout, a failed activation — go every time. The quit itself is not among them: only your first quit on our advice is sent as an event, and the later ones are counted and leave once a week in the summary:
- first launch, and whether the app reached its first numbers (and how many minutes that took);
- which recommendation card met you, whether you quit an app on our advice, and what the receipt afterwards said — the minutes promised, the minutes measured, and whether the effect could be isolated;
- whether you opened the statistics window;
- whether the trial ended, and after how many days of use;
- whether the price was shown, from which place in the interface, and whether you tapped a locked feature;
- whether you went to pay and on which plan, and whether a licence activated or failed (and why: offline, activation limit, or invalid);
- whether this Mac has a battery at all.
The fourteenth is a weekly summary: roughly which week of this installation's life it is, how many of the seven days the Mac ran off the cable, how often the panel and the statistics window were opened, how often a night breakdown was opened, how many apps were quit, what share of the cards that met you named an app to quit, how much of the week's power use went to sleep, how many notifications were shown and tapped, which card came up most, whether the system permits notifications at all, and whether you are on the trial or licensed. Counts leave as ranges (0 · 1–2 · 3–9 · 10–29 · 30–99 · 100+), shares as quarters. The only exact numbers are the days spent off the cable and the minutes the app gave back.
Every event carries a random installation identifier — a UUID the
app generates for itself. For this channel there is no serial number, no hardware
hash, no advertising identifier and no user name — crash reports are a different
channel, and it is described below. The analytics library also attaches fields of its
own, and we list them as they are in the version we ship (TelemetryDeck SwiftSDK
2.14.2): the app version and build, the Mac model identifier (for example
Mac15,10), the processor architecture and platform, the macOS version,
your time zone, the language, locale and region set in Language & Region, the
light or dark appearance and writing direction, two accessibility flags, the screen
resolution and scale, fields derived from the moment the event happened (date, hour,
weekday, week and quarter of the year), a per-run session identifier, and a block of
retention counters it maintains itself: the date of your first session, how many
distinct days you have used the app, the number of sessions and their average length.
We switched off its own session tracking, but these five fields ride along with every
signal regardless. When that library adds a field, this list is what we update.
2. Crash reports
Sent to Sentry, in their European region
(o4511852742705152.ingest.de.sentry.io), and governed by the same switch.
IP address collection is turned off, performance tracing and automatic session tracking
are off, and the macOS library takes no screenshots and no view hierarchy. What does
arrive with a crash: the stack and the app build, the macOS version, the Mac model and
architecture, memory and disk figures, the locale and screen size, recent breadcrumbs
— and a device identifier the library computes itself from the machine's network
address and model. It is the same for every report from one Mac; we cannot connect it
to a person, and we do not try. One
limitation is worth stating plainly: if crash reporting has already started in the
current run, switching statistics off stops the analytics immediately but the crash
reporter keeps running until you quit the app. At the next launch it does not start.
3. Licence activation and checks
Only if you buy a key. The app talks to api.lemonsqueezy.com — three
requests exist: activate, validate and deactivate.
On activation the name of your computer is sent as the name of the activated device, so that you can tell your two machines apart. Mac names often contain the owner's name (“Anna's MacBook Pro”). If you would rather not send it, rename the Mac in System Settings › General › About before activating.
After that the app validates the key when it starts and then not more often than once a day. A failed network call does not take your licence away; only an explicit “not valid” answer does.
4. Update checks
The app asks https://wattmateapp.com/appcast.xml whether a newer
version exists. That is an ordinary request for a small XML file on our own host: it
carries the app's name and version in the user-agent line, the language your Mac asks
web pages in, and your IP address, which the host sees for as long as it keeps its
request logs. The version of macOS does not travel with it, nor any identifier of
ours, and an update is verified by signature before anything is installed.
Checking automatically can be switched off in Settings › General; after that the app looks only when you ask it to from the menu.
Nothing else
Every other address in the app is a link that opens in your browser when you click it.
What never leaves your Mac
- the names of your apps and processes, their bundle identifiers and paths;
- your watt figures, your energy history and your run journal;
- the power log: sleep and wake times, and the names of the services that woke the Mac — none of it is sent, in any form.
This website
wattmateapp.com runs no scripts, no analytics, no embedded fonts and no third-party
content, and it sets no cookies of its own. Like every website, it is served by a
host, and the host records ordinary request data — IP address, time, page and browser
string — to serve the page and defend against abuse. The site is served by
Cloudflare, which may set a strictly necessary cookie of its own
(__cf_bm) as part of that defence. We set none.
Buying happens on the store's own domain, not here. See Refunds for who the seller is and what they hold.
What you can do
- Switch statistics off — Settings › General. It takes effect at once.
- Erase measurements — Settings › General. This clears the detailed history, the session log and the quit receipts — the running total of minutes you got back is derived from those and starts again from zero. Two lists of app names live outside the measurements and survive it: the apps you hid from the list, which goes with the settings below, and the licence data, which is kept apart from the measurements on purpose. Charge summaries, battery health, sleep episodes and the paired time-remaining readings remain, because the health history is meant to outlive a reset.
- Delete everything — quit the app and delete the folder
~/Library/Application Support/WattMate. Nothing measured survives it. The hidden.statefile with your licence and trial dates is inside that folder and goes with it. Settings and the installation identifier live separately, in the app's preferences;defaults delete com.wattmate.appin Terminal removes those too. One file is left after both: the analytics library keeps the date of your first session and the days you used the app in~/Library/Preferences, in a file whose name starts withcom.telemetrydeck. - Release a licence — “Deactivate on this Mac” on the licence screen.
Your rights
If you are in the European Economic Area, the GDPR gives you the right to ask what personal data we hold about you, to have it corrected or erased, to object to processing, to restrict it, to receive it in a portable form, and to complain to a supervisory authority — in Poland, the President of the Personal Data Protection Office (UODO).
In practice we hold very little that can be traced to you: statistics arrive under a random installation identifier, which we cannot connect to a person, and crash reports arrive without an IP address. If you have bought a key, your e-mail address and purchase are held by the store as the seller of record; a licence key and the name of the activated device are held there too. Write to [email protected] and we will do what we can — including asking our processors to delete data tied to an installation identifier you send us.
Legal basis: our legitimate interest in knowing whether the product works and in fixing crashes (Art. 6(1)(f) GDPR), and the performance of our contract with you for licence checks (Art. 6(1)(b)). You can end the first at any time with the switch.
Who processes data for us
| Processor | What for | What they receive |
|---|---|---|
| TelemetryDeck | Usage statistics | The events above, under a random installation identifier |
| Sentry (EU region) | Crash reports | Crash traces, app and system version, Mac model, memory and screen figures, breadcrumbs and a device identifier the library derives from the machine; no IP address |
| Lemon Squeezy | Selling keys and checking them | Your purchase and e-mail, the licence key, the name of the activated device. As the seller of record they decide for themselves what to do with the purchase data: for that part they are not our processor but a controller in their own right, and their policy governs it |
| Cloudflare | Serving this website and the update feed | Ordinary request logs |
How long the outside copies live, and where
Statistics and crash reports are kept by our processors under their own retention policies; we do not need them longer than a release cycle and ask for the shortest retention each service offers. Crash reports are received in the European Union. TelemetryDeck and Lemon Squeezy may process data outside the European Economic Area under the safeguards in their agreements (standard contractual clauses). Request logs on this website are kept by the host for as long as its abuse protection needs. Nothing measured on your Mac is part of any of it.
Children
WattMate is a tool for people who own a Mac and is not directed at children. We do not knowingly collect anything from them.
Changes
If this policy changes, the date at the top changes with it, and the change is described in the release notes of the version it applies to. We do not make quiet edits to what we said we send.