Back to Documents
Privacy Policy
🎯 Privacy at a Glance
Bus Commander prioritizes your privacy while providing real-time transport information.
- ✅ No personal information collected - We don't ask for your name, email, or account
- 📍 Location used locally only - For nearby stations; never uploaded or shared
- 💾 Data cached on your device - Train times and station info stored locally
- 📊 Anonymous analytics - Crash reports and usage statistics (no personal data)
- 📢 Optional notifications - Train alarms and disruption alerts (you control)
- 📱 Ad-supported - Google AdMob displays ads to keep the app free
- 🔒 No data selling - Your data is never sold or shared with third parties
1. Introduction
Welcome to Bus Commander! This privacy policy explains how J Pearson ("we", "us", or "our") handles information
when you use the Bus Commander mobile application (the "App") for Android devices.
We are committed to protecting your privacy. Bus Commander is designed to provide real-time
London transport information while respecting your privacy. We collect only the minimal data necessary to
deliver core features like nearby stations, journey planning, and service alerts.
Independent App Notice: Bus Commander is an independent app and is not affiliated with,
endorsed by, or sponsored by Transport for London (TfL).
2. Information We Collect
Bus Commander collects the following types of information to provide transport services:
2.1 Location Data (Optional, Used Locally Only)
Purpose: To show nearby stations, calculate walking distances, and provide location-based journey planning.
How Location Works in Bus Commander:
- Foreground only: Location is accessed only when you use the app (not in background)
- Local processing: Your location is processed on your device to find nearby stations
- Never uploaded: Your GPS coordinates are NEVER sent to our servers or third parties
- Optional: You can deny location permission and still use most features
- No tracking: We do not track your movements or store location history
What happens with your location:
- You tap "Find Nearby Stations" → App requests location permission
- Device GPS provides coordinates (e.g., 51.5074° N, 0.1278° W)
- App calculates distances to stations using local station database
- Results are sorted by distance and displayed to you
- Location data is immediately discarded after use
2.2 Cached Transport Data (Local Storage)
Purpose: To enable offline access and faster loading of station information.
The following transport data is cached on your device:
- Station lists: Names, ICS codes, and coordinates of London stations
- Route information: Bus routes, stops, and live arrivals
- Recent arrivals: Train times you've viewed (cached for 5-20 minutes)
- Journey results: Routes you've searched (temporary cache)
- Service status: Line status and disruption information
Storage duration: Cached data expires automatically (5 minutes to 7 days depending on type).
All cached data is deleted when you uninstall the app.
2.3 User Preferences & Favorites (Local Storage)
The following preferences are stored locally on your device:
- Favorite stations: Stations you've starred for quick access
- Recent searches: Recent station and journey searches
- App settings: Theme, notification preferences, default transport modes
- Alarms: Train arrival reminders and journey notifications
This data is stored using Android's secure SharedPreferences and LocalStorage mechanisms.
We cannot access this data - it remains on your device only.
2.4 Usage Analytics (Anonymous, Optional)
Purpose: To understand how users interact with the app and improve features.
We collect anonymous usage statistics through Firebase Analytics:
- Feature usage (which pages you visit, buttons clicked)
- App performance (loading times, API response times)
- Device information (Android version, screen size, manufacturer)
- App version and language settings
- Session duration and frequency
Important: Analytics data is completely anonymous and cannot be linked to you personally.
Google Analytics assigns a random User ID that does not identify you. You can opt-out of analytics in app settings.
2.5 Crash Reports & Diagnostics
Purpose: To identify and fix bugs that cause app crashes.
We use Firebase Crashlytics to collect technical diagnostic information when the app crashes:
- Device model and Android version
- App version and state at time of crash
- Error logs and stack traces (technical debug data)
- Memory usage and available storage
No personal data: Crash reports do not contain personal information, location, or user-generated content.
Reports are encrypted and used solely for debugging.
2.6 Advertising Data (Google AdMob)
Purpose: To display advertisements that keep the app free.
Bus Commander uses Google AdMob to show banner ads at the bottom of the screen.
AdMob may collect device information to serve relevant ads:
- Advertising ID (Android Ad ID)
- Device type and operating system
- IP address (approximate location for regional ads)
- Ad interactions (views, clicks)
Third-party service: Ad data is collected by Google AdMob, not by us. We do not have access
to this data. AdMob is subject to Google's privacy policy:
https://policies.google.com/privacy
Personalized ads: You can opt-out of personalized ads in your device settings:
- Android: Settings → Google → Ads → Opt out of Ads Personalization
- Or reset your Advertising ID to clear ad tracking
3. Information We Do NOT Collect
Bus Commander does NOT collect:
- ✗ Personal identification information (name, email, phone number, address)
- ✗ Location history or movement tracking
- ✗ Payment information (the app is free)
- ✗ Social media accounts or login credentials
- ✗ Camera, microphone, or photo access
- ✗ Contacts, calendar, or SMS messages
- ✗ Browsing history or other app usage
4. How We Use Information
| Data Type |
Purpose |
Stored Where |
| Location (GPS) |
Find nearby stations, calculate distances |
Local device only (not stored) |
| Cached transport data |
Offline access, faster loading |
Local device storage |
| Favorites & preferences |
Personalize experience |
Local device storage |
| Anonymous analytics |
Improve features, fix bugs |
Google Firebase (anonymous) |
| Crash reports |
Debug and fix errors |
Firebase Crashlytics (anonymous) |
| Ad data |
Display ads to keep app free |
Google AdMob servers |
We do NOT use your information for:
- Selling or sharing with third parties (except ad providers)
- Marketing or promotional emails
- Building user profiles or tracking across apps
- Any purpose other than improving Bus Commander
5. Third-Party Services
Bus Commander integrates the following third-party services:
5.1 Transport for London (TfL) API
5.2 Google Firebase Analytics & Crashlytics
5.3 Google AdMob
- Purpose: Display advertisements to keep the app free
- Data collected: Advertising ID, device info, ad interactions
- Privacy: https://policies.google.com/technologies/ads
- Opt-out: Settings → Google → Ads → Opt out of Ads Personalization
6. Data Storage and Security
We implement appropriate security measures to protect your data:
6.1 Local Storage (On Your Device)
- Encrypted storage: Favorites, preferences, and cached data use Android's secure SharedPreferences
- Sandboxed: App data is isolated from other apps
- No cloud sync: Data stays on your device (not synced to cloud)
6.2 Network Communication
- HTTPS encryption: All API calls to TfL and Firebase use encrypted connections
- No authentication: APIs use public endpoints (no login or passwords sent)
- Timeout protection: Requests timeout after 10 seconds to prevent hanging
6.3 Data Retention
| Data Type |
Retention Period |
Deletion Method |
| Cached arrivals |
5-20 minutes |
Automatic expiration |
| Cached station data |
7 days |
Automatic refresh |
| Favorites & preferences |
Until app uninstall |
Uninstall app or clear app data |
| Anonymous analytics |
14 months |
Automatic deletion by Firebase |
| Crash reports |
90 days |
Automatic deletion by Firebase |
7. Your Rights and Choices
You have complete control over your data:
7.1 Location Permission
- Grant/deny: Android Settings → Apps → Bus Commander → Permissions → Location
- Impact: If denied, you can still search stations manually (no nearby feature)
7.2 Notification Permission
- Grant/deny: Android Settings → Apps → Bus Commander → Permissions → Notifications
- Impact: If denied, bus alarms and service alerts won't appear
7.3 Analytics Opt-Out
- Currently managed through device settings (app-level opt-out coming soon)
- Android: Disable Firebase Analytics via developer options
7.4 Ad Personalization Opt-Out
- Android Settings → Google → Ads → Opt out of Ads Personalization
- Or reset your Advertising ID to clear ad tracking history
7.5 Data Deletion
- Clear cache: Android Settings → Apps → Bus Commander → Storage → Clear Cache
- Clear all data: Android Settings → Apps → Bus Commander → Storage → Clear Data
- Complete removal: Uninstall the app to delete all local data
8. Children's Privacy (COPPA & GDPR-K)
Bus Commander is suitable for all ages, including children under 13. We take children's privacy seriously:
- We do not knowingly collect personal information from children under 13
- No account registration required (no age verification needed)
- No social features, chat, or user-generated content
- Ads are family-safe and comply with Google's policies
- Location permission requires parental approval on supervised devices
9. International Data Transfers
Most data is stored locally on your device (no transfers). However, anonymous analytics and crash reports
may be processed by Google's servers worldwide. Google complies with international data protection laws:
- EU-US: Google adheres to Privacy Shield principles
- UK: Google complies with UK GDPR
- Encryption: Data in transit is encrypted via HTTPS
10. Legal Basis for Processing (GDPR)
For users in the European Economic Area (EEA) and UK, our legal basis for processing information is:
- Consent: Location access, analytics, and notifications require your explicit consent
- Legitimate interests: Caching data for offline access, crash reporting for bug fixes
- Contract performance: Providing core transport information services
11. California Privacy Rights (CCPA)
California residents have specific rights under the California Consumer Privacy Act (CCPA):
- Right to know: See this policy for data we collect (location used locally, analytics anonymous)
- Right to delete: Uninstall the app or clear app data
- Right to opt-out: We do not sell personal information
- Right to non-discrimination: No penalty for exercising privacy rights
12. Changes to This Privacy Policy
We may update this privacy policy from time to time to reflect changes in the app or legal requirements.
We will notify you of significant changes through:
- In-app notification on first launch after update
- Updated "Last Modified" date at the top of this policy
- Google Play Store update notes
Your continued use of the app after changes indicates acceptance of the updated policy.
Review this policy periodically for updates.
13. Contact Information
If you have questions about this privacy policy or how your data is handled, please contact us:
Developer: J Pearson
Email: support@buscommander.app
Location: London, United Kingdom
Response time: We aim to respond within 48 hours
14. Disclaimer & Independent Status
Important Notice:
Bus Commander is an independent app and is not affiliated with, endorsed by, or sponsored by
Transport for London (TfL). All trademarks, logos,
and brand names are the property of their respective owners.
Train times and service information are provided for informational purposes only and are sourced
from official TfL APIs. Always check official sources before making critical
travel decisions.
Summary:
Bus Commander prioritizes your privacy while delivering real-time London transport information.
We collect minimal data, store most information locally on your device, and never sell or share
your personal information. Location data is used locally only for nearby stations and never uploaded.
Key points: No personal data collection • Location processed locally • Anonymous analytics • Ad-supported • Free forever
Bus Commander by J Pearson
Privacy Policy Last Updated: March 13, 2026
Effective Date: March 13, 2026