patrick@fribourg:~$ cat PRIVACY.md
Privacy policy
nowplayingd collects no data. I don't run a server, there's no account with me, no tracking, no analytics, no advertising. Nothing you listen to ever reaches me. The app talks directly, from your Mac, to your speakers and to the services you choose, and keeps everything else on your Mac.
← about nowplayingd help applies to: nowplayingd for Mac updated: 10 October 2026
whoami
nowplayingd is written by me, Patrick Ostertag, in Fribourg, Switzerland, on my own. This page explains, in plain words, what the app does with your information. The short answer: it keeps it on your Mac, and sends to each service only what that service needs to answer.
ls ~/Library
What stays on your Mac
- Your credentials, in the keychain of this Mac (not synced to iCloud): your Last.fm API key, shared secret and session key, your ListenBrainz token, your Mastodon and Bluesky sessions, and the pairing keys between a hub and its displays. nowplayingd never asks for the password of any of these services: you sign in on their own page, in your browser.
- Settings, history and caches, in the app's own folder: your preferences, recent tracks, artwork and the information already looked up (Wikipedia, Wikidata, haiku, translations), so the app doesn't ask twice.
- Scrobbles waiting to be sent, if you turned scrobbling on and the connection drops: on your Mac's disk, and nowhere else, until they go out.
- The widget reads the current track from a folder shared between the app and its widget, on your Mac.
- The haiku and translations are produced on your Mac by Apple Intelligence and Apple's Translation framework. Translation languages are downloaded by macOS when you ask for them.
lsof -i -a -c nowplayingd
What leaves your Mac, and where
nowplayingd only connects to the places below, directly from your Mac. Like any connection on the internet, each service sees your IP address; the app also identifies itself by name and version, as these services ask. What they do with it is governed by their own privacy policies.
| Where | When | What is sent |
|---|---|---|
| Your Sonos speakers, on your local network | If Sonos is on (Settings → Sources) | Requests asking what's playing, and play, pause, next when you click them. The speakers also notify nowplayingd of every change: for that, the app opens a small server on your Mac, reachable from your local network only, which accepts nothing but these notifications. Nothing about you. No Sonos account or cloud involved. |
| Your other Macs, on your local network | Only if you choose a hub and displays (Settings → Role) | What's playing and the recent history, from the hub to the displays you paired with its code. |
| Last.fm | Only if you connect it | Your username and your own API key, to read your recent listens. Artist and title, to recognise songs on the radio and fetch details. If you turn scrobbling on: what you listen to, with your session key. |
| ListenBrainz | Only if you connect it | Your username, to read your recent listens. If you turn scrobbling on: what you listen to, with your token. |
| Wikipedia, Wikidata, Wikimedia Commons, MusicBrainz, Cover Art Archive | When a track plays, to show the artist and album | Artist and album names, and public identifiers. Nothing about you. |
| Apple's iTunes catalogue | When artwork is missing | Artist and album names. |
| LRCLIB | Only if you turn lyrics on | Artist, title, album and duration of the track. |
| Your Mastodon server | Only if you connect it, and when you click “Post” | The post you reviewed, with the artwork and its description. |
| Bluesky | Only if you connect it, and when you click “Post” | Your handle, to find your Bluesky server (via the public Bluesky directory), then the post you reviewed, with the artwork. |
Nothing is sent to me, or to any analytics, advertising or crash-reporting service.
Radio. The address of some radio streams (TuneIn) contains your approximate location. nowplayingd uses it only in memory, to recognise the source: it is never logged, stored or sent anywhere.
Bluesky sign-in. When you connect, Bluesky reads a short public description of nowplayingd hosted on this website. That request comes from Bluesky's servers, not from your Mac, and carries nothing about you.
cat /etc/apple
Apple and TestFlight
nowplayingd is distributed by Apple, through the App Store and, during the beta, TestFlight. If you allowed macOS to share crash and usage data with app developers (System Settings → Privacy & Security → Analytics & Improvements), Apple may pass me anonymous crash reports and usage statistics. During the beta, the feedback and screenshots you send through TestFlight reach me through Apple. That is Apple's system, under Apple's privacy policy; you can turn it off there.
The free trial and the purchase go through the App Store, with your Apple Account: Apple handles the payment, and nowplayingd only asks the App Store, on your Mac, whether your trial is running or your purchase is done. I see the sales figures Apple shows every developer, never who you are.
nowplayingd --purge
How to erase everything
- In Settings → Accounts, click Disconnect for each account, and Remove for your Last.fm API key. This deletes the matching keychain items. On a hub, Settings → Role → Forget all displays.
- Quit nowplayingd and move it to the Trash.
- Delete the folder
~/Library/Containers/ch.patrickostertag.nowplayingd(settings, history, caches, waiting scrobbles) and, if it's there, the shared widget folder~/Library/Group Containers/PU9BSXN2V5.ch.patrickostertag.nowplayingd. - If you skipped step 1: open the Keychain Access app and delete the items named
ch.patrickostertag.nowplayingd. - To be thorough, revoke access on the services themselves: Last.fm (Settings → Applications), ListenBrainz (reset your token), and the authorised apps in Mastodon and Bluesky.
What you scrobbled stays on your Last.fm or ListenBrainz account, and what you posted stays on Mastodon or Bluesky: that's your data on your accounts, which you manage there.
git log PRIVACY.md
Changes and contact
If the app starts talking to a new service, this page will say so before the version that does it is released, with a new date at the top.
A question about your privacy? Reach me on Mastodon.
This policy covers the nowplayingd app. This website has its own notes, in French, on the backstage page.