Privacy policy
No accounts.
No ads.
TrainTrack is a small, independent app that watches NJ Transit's trains and buses for the trips you choose to follow. It has no sign-in and no advertising, and it never tracks you across other apps or websites. This page lists everything the app sends anywhere, so you can judge for yourself.
What stays on your phone
- Your trips, commutes, starred and recent stations, and your settings. Stored in the app's own storage on your device. Deleting the app deletes them.
Location
TrainTrack uses your location, only with your permission, for these things:
- Trips from where you are. When you plan from Current location or look for stops near you, your position is sent to TrainTrack's server to plan the trip, and the answer comes straight back. It is not stored or logged.
- While you follow a trip. From when a trip you follow goes live until it ends, the app follows your position, including with your phone locked, for two things. Leave-by alerts: while your train is still at its first station, your position (to about 100 m) sets when to leave; to estimate the travel time, it is sent to Apple Maps under Apple's privacy terms. Arrival at your stop: on board, your position (low power, then to about 100 m as your stop comes up) tells the app you've arrived, so the trip, its Live Activity and its alerts move on at once. This stays on your phone. It stops when the trip ends. To stop it altogether, turn off Location for TrainTrack in iOS Settings; the app still works, with times from NJ Transit alone.
TrainTrack never stores your location, keeps a history of where you've been, or shares it with anyone else.
What leaves your phone
- Requests for transit data. To show departures, stops, timetables and vehicle positions, the app asks TrainTrack's server, which relays NJ Transit's data. Those requests contain station and stop codes and train or route numbers, nothing about you.
- The trips you follow, for alerts. So alerts and your Live Activity keep coming with the app closed, the app sends TrainTrack's server the trips, commutes and stop watches you follow, which alerts you have switched on, a random identifier the app makes for this purpose, and the push tokens iOS gives the app for notifications and Live Activities. The server watches NJ Transit's boards for those trips and sends the alerts through Apple's push service. It keeps a trip only until it's over, and a commute or stop watch until you remove it. None of this includes your name, email address, Apple ID, phone number, advertising identifier or location.
- Feedback you send. Only when you tap Send in the app's feedback form: what you typed, any screenshots you attached, the email address you entered (optional, only so the developer can reply) and, unless you switch it off, app details (the app and iOS versions, the iPhone model, the trips and schedules you have in the app, and a few settings). It reaches the developer as an email and is used only to answer you and improve the app. It is never shared.
- The map. The Map tab is drawn by Mapbox. Your phone loads map tiles from Mapbox, and Mapbox counts map loads with an anonymous identifier for its billing. Mapbox's own telemetry, which would include location, is switched off; you can turn it on from the map's ⓘ button if you want to help improve their maps. Mapbox handles this under its own privacy policy.
- Share links. When you share a train, the link contains the station codes, the train numbers and the scheduled time. Nothing about you or the person you send it to.
- Your IP address reaches TrainTrack's server, as with any internet request. It is used only for rate limiting and isn't stored by TrainTrack. The server runs on Cloudflare, which keeps standard, short-lived request logs under its own privacy policy.
Analytics
From version 1.1, the app sends anonymous usage counts, so the developer can see what's used. They aren't linked to you or used to track you, and don't include your name, email address, Apple ID, advertising identifier or location.
- Usage counts (Mixpanel). Events such as opening the app or a tab, searching for trips, following or stopping a trip, saving a commute, arriving, and answering a permission prompt. Each carries a few details about that action: for a search or a follow, the station codes, the kind of place (station, address or current location, never the place itself), whether it's a train or bus, and minutes to departure. They are tied to a random identifier made just for this, not your device's identifier, plus the app version and whether it came from TestFlight or the App Store. Mixpanel receives your IP address with each request but is told not to use it to work out where you are. Mixpanel handles this under its own privacy policy.
The app sends no crash reports of its own. If you share crash data with developers in your iPhone's settings, Apple passes TrainTrack's crash logs on without anything that identifies you.
This website
The site is static and sets no cookies. Fonts are loaded from Google Fonts, which receives your IP address in the process. Share-link pages contain only the station codes, train numbers and times in the link itself.
Children
TrainTrack is not directed at children under 13 and does not knowingly collect information from anyone.
Deleting your data
Delete the app to remove everything on your phone. What the server holds for alerts goes when the trips are over or you stop following them; to have it removed sooner, or anything you sent as feedback, email support.
Changes
If any of this changes, this page and its effective date will be updated before the change takes effect.
Contact
Questions about privacy: email support.