Muni Tracker privacy
Muni Tracker is published by oddrefresh. This page describes what the app actually does with data, based on its source code.
Your location
The app asks macOS for your location so it can find nearby stops. Apple's Location Services supplies it, under Apple's own terms.
Your coordinates are not sent to oddrefresh or to 511.org. The app compares your position against a list of Muni stops bundled inside it and picks the nearby ones on your Mac.
What leaves your Mac
To the Muni Tracker server, a Cloudflare Worker run by oddrefresh. About every 90 seconds while the app is running, it requests:
- the citywide live arrivals feed, which is the same for everyone and contains nothing about you;
- stop monitoring and schedule data for the stop codes of the stops near you.
Each request carries an app token that identifies Muni Tracker, not you. As with any internet request, the server also sees your IP address and the time. A list of nearby stop codes shows roughly where you are, so that is what the server learns.
The server's code does not save who asked for what. It keeps a shared cache of transit responses, stored by stop code rather than by person. Live data is kept for up to 5 minutes and schedule data for up to a day. Cloudflare runs the platform and may keep its own logs of requests.
To 511.org. The server gets transit data from 511.org, the Bay Area transit data service, using its own key. 511.org receives stop codes from the server, not your IP address or location.
To muni-tracker.pages.dev, on Cloudflare Pages. At launch, once a day, and when you choose Check for Updates, the app downloads a small file listing the latest version number. It sends nothing else.
To Apple Maps, only when you ask. Tapping a stop opens it in Maps, which sends that stop's name and coordinates to Apple, not your location.
What stays on your Mac
In the app's folder under ~/Library/Application Support:
- your settings: pinned routes, alert preference, the Home, Work, and Other spots you saved (with their coordinates), and your last known location;
- the latest arrivals, also copied into the widget's own folder so the widget can show them;
- cached stop and schedule data taken from the bundled schedule.
These files stay until you delete them. The app's log at /tmp/muni-tracker.log can include a search location when no stops are found. macOS normally clears /tmp when the Mac restarts.
Leave-now notifications are posted on your Mac by macOS. They are not sent through any server.
What the app does not do
The app contains no analytics, advertising, or tracking code, and it has no accounts. oddrefresh does not sell data from it, and the app sends nothing that could be used to train AI models.
Questions
Questions go to the Contact me button on this page.