Privacy and trust

Today I want to write a little bit about your privacy and trust in the London Bus Pal application.  I will try and do this in a FAQ style format for questions you might have.

Q: If I don’t provide access to my precise location, how are you able to still access nearby stops?

A: The app uses one of two open-source packages called Geolocator (https://pub.dev/packages/geolocator) and location (https://pub.dev/packages/location)  which ultimately references the Android or Apple core services depending on your device.  Both packages are Flutter Favorites (https://docs.flutter.dev/packages-and-plugins/favorites), which means they are endorsed by a committee as libraries which are considered of high quality.  If you don’t provide access to your precise location, these packages use the underlying libraries provided by Android or Apple to detect your approximate location using other means (this is down to the underlying libraries to determine this and I would urge you to look into this if you have concerns – I have no code which overrides this functionality or does it any different to what Google or Apple provides to me – how they do it is completely transparent to me.

The code to get your location is simply a call to the underlying libraries where I get back the latitude and longitude provided by them to then form a call to the TfL API in order to get nearby stops.  The call to TfL only contains this data and nothing else (although, it should be noted that since this call comes from your mobile device directly to TfL, they are able to see your IP address from this – there’s no way to prevent this from happening).

Q: Why are you using two different packages?

A: Technically, each version of the app uses one or the other, I don’t actually use both in the same app version.  I’ve had to switch between the two as earlier versions of one didn’t handle timeouts very well and also gave some issues during testing using simulators.  I’ve had to switch again due to using a new maps package which works better with Geolocator than Location.  Ultimately, both still access the same underlying libraries provided by Google and Apple.

Q: Where do you store this location information?

A: I don’t.  At all.  The app passes it in the API call to TfL and it’s only available in memory until the next call.  It doesn’t get logged, it doesn’t get stored.  Whilst it may be interesting to see where my app gets used the most, I simply don’t possess the storage capacity or computing power to store all of this data.  By a rough calculation as I don’t log this, assuming each user only logs into the app for 3 minutes in the day and storing only location data against a user ID and timestamp in compressed format, it would be an accumulation of approximately 1GB of data per month.  It’s actually not as bad as I thought, but what would I even do with this vast amount of data?  I track buses however – I have a database full of bus data, but user data – I have no interest.

Q: All apps claim to respect user privacy, what makes you different?

A: Actions speak louder than words.  You will see that LBP never asks for background location – users download a bus app in order to track buses, not have themselves tracked.  I do what you would expect with your location data – I use it to provide you with the nearest bus stops or to plan journeys, it never gets sent to third parties for any reason other than you would expect (asking TfL for your nearest stops or to plan a journey).  The app also functions perfectly well without location data – I have zero incentive to force you to give your location data and it makes absolutely no difference to the income I make from the app.

Q: Do you share data with advertisers? 

A: The app shows small ads through Google AdMob. I use Google’s standard consent forms (Android) and Apple’s AppTrackingTransparency framework (iOS) to ensure you have control over ad tracking. If you consent, Google may collect information for personalised ads, but this is entirely your choice and managed by Google’s systems, not me.

Q: What about analytics – do you track how I use the app? 

A: I use Google Analytics to understand how the app is used (like which features are popular), but this data is completely anonymous and doesn’t include any location information. I also use Crashlytics to help fix bugs – this shows me where crashes occur in the code and basic device info, but no personal or location data.

Q: Why does privacy matter anyway? Some apps give rewards like free coffee – isn’t that a win-win?

A: It’s worth considering what’s really happening behind those rewards. Location tracking allows companies to build detailed profiles of your daily routines, habits, and movements – even when you’re not using their app. This data is often used to influence and change your behaviour in ways you might not expect or want. Ask yourself: when you downloaded a transport app, did you sign up to have companies track your movements 24/7 and potentially manipulate your choices? The “free” coffee comes at the cost of your behavioural autonomy.

Q: But you show ads too – aren’t you sharing my data anyway?

A: There’s an important distinction in scope and control. With LBP, you choose what gets shared through the consent prompts, and you have the alternative option to purchase a subscription to stop ads entirely. Crucially, ads only appear when you’re actively using the app – I earn a small amount when the app is open, but nothing when you’re not using it.

This feels ethical to me: you get what you see, with no hidden revenue streams or earning money from activities completely unrelated to the bus app you downloaded. The business model is transparent and directly tied to the service you’re actually using.

Final words

I created London Bus Pal as the bus app I wanted to use myself. This has always been my guiding principle – building something I’d be genuinely happy to use as my go-to app for London bus travel.

As someone who values privacy, I don’t want apps that track me in unexpected ways. When I install a bus app, I want it to help me catch buses – nothing more, nothing less. The app should do exactly what it says and respect my choice about what data to share.

London Bus Pal reflects this philosophy. Yes, it shows ads and offers subscriptions because running an app costs money, but beyond that essential business model, the app exists purely to help you navigate London’s bus network efficiently and privately.

LBP: we track buses, not people

Scroll to Top