Train Tracker
PRIVACY POLICY

Train Tracker

Version 1.2 · Effective 9 September 2026 · Android & iOS

Train Tracker does not require an account. This policy describes the data used by the app.

Location

The app reads your location when you use nearby train discovery, activate a private destination alarm, or choose to contribute a train's position.

Nearby discovery and the private destination alarm process your location on your device. Destination alarm coordination sends the train, selected station and notification threshold receipts to the server, not your device coordinates.

When you enable contributor mode, the app sends GPS coordinates, accuracy, speed, observation time, train number and your random device/session identifiers to the server. Sharing may continue in the background while the journey is active. You can stop sharing in the app. Other passengers see the resulting train position and delay, not your device identifier or individual report history.

Data stored on your device

Local SQLite stores favourites, search history, downloaded reference data, reminder/alarm settings and receipts, onboarding preferences, and a random device identifier and credential. Optional profile name/email fields remain local. Removing the app normally removes its local data; device backup and restore behavior depends on your operating system settings.

Data stored by the service

Retention

Scheduled cleanup removes submitted GPS reports older than 24 hours, train-state records older than seven service days, and expired journey sessions after at least a further day when no longer referenced. Expired alarm subscriptions and share capabilities are removed after a further day.

These are cleanup thresholds, not exact deletion times. Train-level aggregate history may remain longer. Device credential hashes do not currently have an automatic deletion schedule. Infrastructure backups and logs have deployment-specific retention and may outlive live database rows.

Stopping an alarm requests cancellation of its server subscription. Offline cancellation is queued until connectivity returns; the subscription also expires. Uninstalling does not immediately delete records already sent to the service.

Service providers

Supabase infrastructure processes server-side data. Firebase Cloud Messaging processes push tokens and destination notification content. Builds configured with Sentry may send technical error and performance diagnostics. We do not intentionally attach profile fields or GPS history to diagnostics; technical request/device metadata may be included.

The app does not include advertising or advertising-profile analytics. We do not sell the data described here.

Controls

Contributor sharing is opt-in. Destination alarms and local departure reminders are optional. You can stop active journeys/alarms, remove reminders/downloads, clear local profile fields, and change notification or location permissions in the app or operating system.

Changes and contact

This policy's version and effective date will change when its contents change. For questions or a data request, contact hello.traintracker@gmail.com.