Local Storage, Third Parties and Map Attribution
DRAFT – awaiting legal approval. This text has not been through legal review yet, and the final version may differ. It will be replaced by the final text before the first sale.
Version: draft, 2026-11-09.
What TrailBuffer stores in your browser, which external servers it contacts, and where the map data comes from.
1. In short
TrailBuffer uses only the local storage it needs to work: this is what lets it run without internet and keeps your walk when the browser restarts. It sets no cookies of its own, and there is no analytics, measurement or advertising code. It therefore does not ask for consent.
[DATA – to be checked] Whether the hosting (Azure App Service, e.g. ARRAffinity) or Cloudflare sets a technical cookie under trailbuffer.com.
[LAWYER – Ü3] Whether this notice is sufficient without a consent dialog.
2. Local storage (localStorage)
| Purpose | Keys (trailbuffer_…) |
|---|---|
| Own routes, time limits, rests, route settings | custom_routes, route_cutoffs, route_rest, own_route_limits, hidden_presets |
| The state of the walk, restoring an interrupted or stopped walk, the state of the GPS filter | app_state, interrupted_run, last_stopped_session, gps_state, kalman_state |
| Learned pace (Pro) | adaptive_kalman |
| Settings: sound, vibration, theme, map layer and engine, twilight, battery saver, app mode | audio_config, haptic_enabled, theme, theme_preference, preferred_map_layer, map_engine, solar_twilight, battery_saver, app_mode |
| Interface language | turakopilot_lang |
| Version and time of accepting the safety notice | safety_accepted |
| License: key, entitlement token, activation identifier; the random device identifier generated on the device | license, device_id |
| First start | first_run_done |
The turakopilot_… keys are storage under the app's former name; the app takes over the old data. The app deletes the weather keys of earlier versions (trailbuffer_enrich_…, trailbuffer_mud_factor_enabled) at startup.
Session storage (sessionStorage): the marker of an installed launch (tb_pwa_launched) and the hidden iOS install tip (trailbuffer_ios_banner_dismissed); they are cleared when the browser session ends.
3. IndexedDB and cache
- IndexedDB: the downloaded map regions (
TrailBufferRegionsDB) and the library of your own routes (trailbuffer_db). - Service worker cache: the app's files for starting offline; a pinned copy of the files used during a walk; the online map tiles you have viewed (up to 2,500), so that an area you have seen also shows without internet.
4. External servers
| Server | When | What it receives |
|---|---|---|
trailbuffer.com (Microsoft Azure, Cloudflare) | loading and updating the app, license activation and renewal | IP address, browser details; on activation the license key, the device identifier and the device name (Privacy Notice section 4) |
| Microsoft Azure Blob Storage | only on "Download region" (Pro), through a short-lived link from the TrailBuffer server | IP address, browser details, the name of the region |
| Lemon Squeezy | at purchase, on the Lemon Squeezy page | the purchase data, under Lemon Squeezy's notice |
OpenTopoMap (opentopomap.org) | the normal (raster) map, while online | IP address, browser details, the area viewed |
There are no other external requests: fonts (the map labels too) and code libraries come from TrailBuffer's own server, and the vector map shows the downloaded region from the device.
5. Map data and attribution
- Normal (raster) map: map data © OpenStreetMap contributors, SRTM elevation data; style: © OpenTopoMap (CC-BY-SA). The attribution shows in the corner of the map.
- Vector map and offline regions: © OpenMapTiles (the tile schema, CC-BY 4.0) and © OpenStreetMap contributors (the data, Open Database License, ODbL). The region package is made from OpenStreetMap data; the attribution shows in the corner of the map.
- Example route: the route data comes from OpenStreetMap, attributed next to the example route.
Offline the region shows the route, the trails, the water and the names; detailed topo (contour lines, relief) is online only, on the OpenTopoMap layer.
[LAWYER – Ü5] The mandatory wording and placement of the attribution (app, website, store), and the license text of the downloadable region package.
6. Deletion
The "Delete all my data" button in the app deletes the local storage above, IndexedDB and the cache from this device in one step; the app then restarts, which needs internet. You can also delete the site data in your browser settings.