Privacy policy
Last updated: 5 July 2026
The short version
TrainWake has no account, no backend of our own, and runs no analytics on you. Everything the app records — your journeys, your route polylines, your trip history — stays on your phone in the app’s private storage and is never uploaded anywhere.
The one exception is advertising. The free version shows ads through Google AdMob, which — like every ad network — collects some data (including your device’s advertising ID) to serve and measure those ads. That’s the only third-party SDK in the app, and the Advertising section below spells out exactly what it does. TrainWake Pro is completely ad-free — with Pro, no ad is ever requested and the ad SDK stays dormant.
What the app stores on your device
- Journeys you configure: the two destination names + coordinates and, for recorded journeys, the GPS polyline of the route. Stored in the app’s private Room (SQLite) database.
- Trip history: which journey, which destination was approached, and start/end timestamps. Stored alongside the journeys.
- App settings: nudge and alarm distances.
- Diagnostic log: a rolling ~2 MB file written under the app’s private storage to help diagnose bugs. Only shared if you tap “Export logs” in Settings.
Uninstalling the app removes all of this. None of it is uploaded anywhere.
What the app does not store
- Raw GPS traces. Live position is read from the OS while a trip is in progress, used to compute distance-to-destination, and then discarded. Only the journey’s saved polyline + the trip log entry are persisted.
- Identifiers of our own. TrainWake itself creates no account, no device fingerprint, and stores no advertising ID. On the free tier the Google AdMob SDK does read your device advertising ID to serve ads — see Advertising — but that ID is handled by Google, not stored by us, and Pro removes it from the picture entirely.
- Cross-app data. The app doesn’t read contacts, calendars, photos, or other apps’ storage.
Permissions and what they’re used for
- Location (foreground and background) — required to detect that you’ve boarded your train and to compute distance to your stop. While the phone is stationary the app uses a hardware motion sensor plus a low-rate GPS check (~one fix per 90 s); GPS switches to continuous tracking only once you’re confirmed moving at vehicle speed.
- Activity recognition — tells the app when you board a vehicle, so GPS can stay off until then.
- Notifications — to show the always-on status chip, the gentle nudge a few stops out, and the alarm at the station.
- Full-screen intent — for the alarm screen to appear over your lock screen.
- Wake lock + boot completed — to keep the detection service alive long enough to fire the alarm, and to bring it back after a reboot.
- Internet — used only to fetch map tiles from OpenStreetMap (see below).
Network requests
The app makes one kind of network request: tile fetches to OpenStreetMap to render the in-app map (in the setup wizard, the route recorder, and the home-screen mini map during a trip). OpenStreetMap’s own privacy policy applies to those requests; they receive your IP address and the tile coordinates you load. They do not receive any TrainWake identifier or any other data about you.
On the free version, the Google AdMob SDK also makes network requests to fetch and measure ads — see Advertising below. Beyond OpenStreetMap tiles and (free tier only) AdMob, no servers are contacted: we run no analytics and no crash reporting of our own.
Advertising
The free version of TrainWake is supported by ads served through Google AdMob — a small banner on the home screen and, at most once a day, a single full-screen ad when you leave the Settings screen. To serve and measure those ads, the AdMob SDK collects and processes data on Google’s behalf, which can include your device advertising ID, IP address, coarse location, and general device information. Google acts as an independent data controller for this; how it uses the data is governed by Google’s privacy & terms. TrainWake does not receive, store, or combine any of this data.
You can limit ad personalisation at any time from your device’s Settings › Privacy › Ads, where you can also reset or delete your advertising ID.
TrainWake Pro removes all ads. Once Pro is active, the app requests no ads and the AdMob SDK stays dormant, so none of the above applies to Pro users.
Third parties
TrainWake uses Google Play Services for two on-device APIs — the fused location provider (which serves the GPS fixes the app already needs) and Activity Recognition. Both run inside Google Play Services on your phone. TrainWake does not send Google any additional data. The only other third party is Google AdMob on the free tier, described in Advertising above.
Children
TrainWake is not directed at children under 13. It collects no personal data from anyone.
Changes to this policy
If we ever change what the app does with data, this page will be updated and the new “last updated” date will reflect the change. Material changes to data practices will also be called out in the app itself.
Contact
TrainWake is published by Smith Built Concepts Pty Ltd. Reach us at sbc.software.