Privacy Policy
Last updated: 3 September 2026
This policy explains what happens to your information when you use Watch London
Move — the website at watchlondonmove.maybeitssoftware.co.uk and the iOS and
Android apps of the same name (together, the "App"), published by
MaybeItsSoftware Ltd.
The App shows London's buses, trains and trams moving in real time. It has no accounts, no sign-in, and nothing to personalise, so there is very little to say here — but what there is, is said precisely.
1. What we do not collect
We do not collect, store or transmit personal data about you.
- No account, no sign-in, no identifier. The App never asks who you are and never assigns you a user id, advertising id, or any other persistent token.
- No location history, and no location without you asking. The App has one
optional "centre the map on my location" control. Tapping it asks your device
for an approximate position once; the position is used immediately to move the
map and is never stored, logged, or sent to our server or anyone else. If you
decline the permission the control simply does nothing and the rest of the App
is unaffected. Nothing else in the App reads your location, and there is no
background or continuous location tracking of any kind. The Android build
requests
INTERNETandACCESS_COARSE_LOCATION(approximate, not precise); the iOS build declaresNSLocationWhenInUseUsageDescriptionfor the same control. Because your position never leaves the device, it is not "collected" in the sense either app store uses, which is why the App's store privacy labels declare no data collection. The map otherwise shows you where vehicles are, not where you are. - No analytics, tracking or advertising. There is no analytics SDK, no
tracking pixel, no advertising network, and nothing is shared with data
brokers. The iOS privacy manifest (
PrivacyInfo.xcprivacy) declares tracking asfalseand an empty set of collected data types. - No cookies. The App sets no cookies and stores no personal data in the browser.
2. What is stored on your device
Everything the App stores is local, and none of it describes you.
- Cached map data. On the web, a service worker caches the application code, the map's route geometry and its stop index (roughly 5 MB) so that a second visit loads quickly and costs no bandwidth. In the iOS and Android apps the same files are bundled into the app itself.
- One session flag. If you disable the service worker using
?sw=off, the App records that choice insessionStorageunder the keywlm-sw-offso it is not immediately re-enabled. It is discarded when you close the tab. - Your display preferences. Whether the sidebar is open, whether route lines
are shown, and whether you have dismissed the legend are kept in
localStorageunderwlm.prefs.v1. Three settings describing the App's appearance; nothing about you. - The address bar. Where the map is pointing, which lines you have filtered to and which vehicle you have selected are written into the page URL so that reloading returns you to the same view and you can share a link to it. This is visible to you, travels only if you choose to share it, and contains nothing but map coordinates and route identifiers. It is never your location — the camera is wherever you have panned to.
You can remove all of it by clearing the site's storage in your browser, or by uninstalling the app.
3. What is sent to our server
The App connects to a backend that collects live vehicle positions from Transport for London and relays them to you.
- The area of the map you are viewing. So that we send you only the vehicles on your screen rather than all of London's, your app tells the server the geographic bounds of the current map view. This is the part of the map you have scrolled to. It is not your location, it is not derived from your location, and it is not stored — it is held in memory for the life of the connection and discarded when you disconnect.
- Your IP address, in the ordinary course of being connected. Any server you connect to necessarily sees your IP address. We use it for one purpose: rate limiting, so that one client cannot exhaust a service whose costs are shared. It is held in memory in a counter that is discarded once it goes idle.
- Server logs. The server writes operational logs which, for abnormal events only — a connection refused for exceeding a limit, a request rejected as coming from an unexpected origin — include the IP address involved. Ordinary connections are logged with a random per-connection id and no address. These logs exist to keep the service running and are not used to build any profile.
We do not sell, rent or share this information, and there is nothing in it that identifies you.
4. Crash reporting
To find and fix faults, the App can report errors to Sentry, a service provided by Functional Software, Inc. When an error occurs, a report may include:
- the error message and a stack trace,
- the app version and release,
- your browser or WebView user-agent string,
- the time it happened.
It does not include your IP address as a user identifier, any account details, the contents of your screen, or session recordings. Session replay and performance tracing are switched off. Reports are deduplicated and capped per session, so a repeating fault does not generate an unbounded stream.
The reporting code is only ever active in builds configured with a Sentry key. Where no key is configured, the reporting library is not included in the build at all.
Sentry's own policy: https://sentry.io/privacy/
5. Third parties
Using the App necessarily involves a few other services, each of which will see your IP address because your device connects to them directly.
| Service | Why | Their policy | |---|---|---| | OpenFreeMap | Serves the background map tiles. | https://openfreemap.org/ | | Vercel | Hosts the website. | https://vercel.com/legal/privacy-policy | | Railway | Hosts the live-data backend. | https://railway.com/legal/privacy | | Sentry | Crash reporting, as above. | https://sentry.io/privacy/ |
Vehicle data comes from Transport for London's open data API. That is a request we make from our server, not one your device makes, so TfL does not see you. Powered by TfL Open Data.
If you installed from the App Store or Google Play, Apple or Google may collect information about the download under their own policies, which we do not control.
6. Children
The App is not directed at children and collects no personal data from anyone, including children.
7. Your rights
Because we hold no personal data about you, there is nothing for us to retrieve, correct or delete on request. If you believe otherwise, contact us and we will look into it.
Where UK GDPR applies to the limited processing described in Section 3, our lawful basis is legitimate interest: operating the service and protecting it from abuse.
8. Changes
If this policy changes, the "last updated" date above changes with it. The history of this file is public in the project's Git repository, so any change can be inspected in full.
9. Contact
MaybeItsSoftware Ltd, a company registered in the United Kingdom, is the data controller for the limited processing described in section 3.
Questions about this policy: privacy@maybeitssoftware.co.uk
Watch London Move is open source. Its complete source, including everything described here, is at https://github.com/MaybeItsSoftware/watch-london-move.