What we store

Every field on our server, in plain language.
No more, no less.

Pulli doesn't use usernames or passwords. When you sign up, we generate a random account key (like pulli-XXXX-XXXX-XXXX). That key is your account. Everything below is linked to it, not to your name or email. If you never attach an email, nothing on our server connects your account to you.

The data

License keypulli-XXXX-XXXX-XXXX
This is your account. We look up your license and activations with it. No email required.
Emailoptional
Only if you attach one. We use it for receipts and account recovery. Leave it blank and we never see it.
License typefree or pro
The app checks this to know which features to unlock. Your key stays the same if you upgrade.
Coarse countryderived from IP
We derive your country from your IP at key generation, then throw the IP away. Powers the install map on this page.
Hashed machine IDSHA-256, salted
Your Mac's hardware UUID, hashed with a server-side salt before storage. Lets us count distinct machines without identifying them.
Generic device labele.g. "MacBook Pro"
Helps you tell your devices apart. We store the model name, never your Mac's hostname.
App versione.g. 1.4.2
Tells us when to prompt you about an update.
OS platform, architecture, versione.g. macOS, arm64, 15.4
Diagnostics. If something breaks on a specific macOS build, this helps us find it.
Last usedtimestamp
When the app last checked in. Feeds the "active this week" counter.
Eventspage views, downloads, update checks
Type, source, country, and timestamp. Anonymous for website events (no link to your key). App events include your key and machine ID.

What we don't store

This list covers our server. The app on your Mac stores your download queue and settings locally, which never leaves your device unless you turn on the setting below.

  • Your IP address
  • Your browsing history
  • URLs or filenames of anything you download
  • Payment details (Polar.sh handles billing as our merchant of record)

Optional: help improve Pulli

Settings includes a "Help improve Pulli" toggle, off by default. When you turn it on, the app sends two things: anonymized crash and error logs to Axiom, our logging provider, and aggregated resource metrics (memory, CPU, thread count, active download count) plus feature-usage flags (your appearance, scheduler, and extension preferences) to our API. Logs contain error messages, component names, and timing data. We filter out URLs, file paths, emails, tokens, and credentials before anything leaves your device. The metrics tell us how the app performs on real Macs and which features people use, without revealing what you download. Turn it off anytime; transmission stops immediately. A separate "Share full diagnostic logs" toggle sends the complete trace for when you ask us to help debug a problem. See our privacy policy for the legal details.

Install activity

Total installs
Active this week
Countries reached