Available languages: English Български Čeština Dansk Deutsch Ελληνικά Español Eesti Suomi Français Hrvatski Magyar Italiano 한국어 Lietuvių Latviešu Norsk Nederlands Polski Português Română Slovenčina Slovenščina Svenska
Sparkilo is a free, open-source fuel and EV charging price comparison app with optional trip recording. It is built local-first: everything the app knows about you lives on your phone unless you switch on a feature that says otherwise. There are no ads, no tracking pixels, no advertising identifiers and no analytics SDK. This policy is written to meet the EU General Data Protection Regulation (GDPR); it applies to every user, wherever you are.
The app is open source — every statement below can be verified in the code. A machine-readable summary of what is processed is kept in docs/privacy/data_inventory.json and the app's own tests fail if this page, the store declarations and the code drift apart.
The controller for the app and for the optional Sparkilo Community sync service is:
Florian DITTGEN (individual developer)
Email: fdittgen@gmail.com
Source code and issue tracker: github.com/fdittgen-png/tankstellen
Depending on how you use TankSync, the controller of your synced data changes:
The app tells you which of these applies before you connect, and shows it again in Settings → Privacy Dashboard.
The table lists every kind of personal data the app processes, why, on which legal basis (Art. 6 GDPR), where it goes, and how long it is kept. "Device" means it never leaves your phone.
| Data | Purpose | Legal basis | Where it goes | Retention |
|---|---|---|---|---|
| Approximate / precise location (search) | Find stations near you | Consent (you grant the location permission and confirm the in-app explanation) | Sent as search coordinates to the price data source of the country you are in (Section 5). Not stored on any server we operate. | Last position kept on the device for the home-screen widget until you delete data |
| Precise GPS route, speed, altitude, motion sensors (trip recording) | Record a trip, compute distance and consumption | Consent (you start a recording; auto-record needs a separate background-location grant per vehicle) | Device. With TankSync and trip sync switched on: your TankSync database. | Device: until you delete the trip or all data. Server: trip summaries until you delete them; the detailed GPS samples are pruned 90 days after the trip. |
| Vehicle profile (make, model, year, tank size, VIN, OBD2 adapter identifier) | Consumption calculation, adapter reconnection | Contract (providing the feature you configured) | Device. With TankSync: your TankSync database. | Until you delete the vehicle or all data |
| VIN (17 characters) | Decode make/model/engine online | Consent (separate toggle, off by default; an offline decoder runs otherwise) | NHTSA vPIC (US public service), only the VIN | Not stored by us; see NHTSA's policy |
| Fill-ups (date, station, litres, cost, odometer), charging logs, service reminders | Your fuel log and statistics | Contract | Device. With TankSync: your TankSync database. | Until you delete them or all data |
| Favorites, ignored stations, price alerts, search profiles, itineraries, settings | Personalise the app; fire local price-alert notifications | Contract | Device. With TankSync: your TankSync database. | Until you delete them or all data |
| Anonymous user ID (random UUID), optional e-mail address, per-install device ID | Identify your TankSync account across devices; mark which device deleted a record | Consent (Cloud Sync toggle) / Contract | Your TankSync database (Supabase) | Until you delete the account |
| Community price reports, shared station ratings, content reports | Crowd-sourced price corrections and moderation | Consent (you submit them; a notice explains that they are stored under your pseudonymous ID and readable by other signed-in users) | Your TankSync database — in Sparkilo Community, readable by every signed-in user | Until you delete the report or the account |
| Crash reports and performance traces (app version, OS version, screen size, locale, stack trace, the last app actions) | Fix bugs | Consent (Error reporting toggle, off by default) | Sentry | Device: 50 most recent traces, 7 days, scrubbed of e-mails, coordinates and tokens before they are stored. Sentry: 90 days. |
| Receipt or pump photo (camera / photo library) | Read the receipt on the device (on-device OCR) | Consent (you take or pick the photo) | Device only. Attached to a GitHub issue only if you file a "bad scan" report and confirm. | Deleted after the scan; the report copy lives on GitHub until you delete the issue |
| Map viewport (tile coordinates) and IP address | Draw the map | Legitimate interest (a map needs tiles) — you can switch the proxy off | The Sparkilo tile proxy (same Supabase project, EU) which fetches from OpenStreetMap; or tile.openstreetmap.org directly when the proxy is switched off (Settings → Privacy) or in the F-Droid build | Not stored beyond standard server logs (proxy: 7 days) |
| Route origin and destination, road-network queries | Route search, glide coaching | Contract | OSRM (router.project-osrm.org), Overpass API (overpass-api.de), Nominatim (nominatim.openstreetmap.org) | Not stored by us |
| Address text or coordinates you type | Geocoding | Contract | Nominatim, or your phone's built-in geocoder (Apple / Google) | Not stored by us |
| API keys you enter (Tankerkönig, OpenChargeMap) | Call those services on your behalf | Contract | Only to the provider the key belongs to | Encrypted on the device (Keystore / Keychain) until you delete them |
| Wrong-name / wrong-address station reports, bad-scan reports | Fix the data | Consent (you confirm before sending; a personal GitHub token is required) | GitHub (a public issue in the project repository) | Public until the issue is deleted |
The app does not make automated decisions with legal or similarly significant effects about you. Price predictions are computed on the device from public price data.
Brand logos are bundled with the app. Loading them from the internet (logo.clearbit.com, which would receive your IP address) is off unless you switch it on in Settings → Privacy.
The app communicates with the following services. Each has its own privacy policy. The app never shares data between them and never sends more than the columns above describe.
Under Articles 15–22 GDPR you have the right to access, rectify, erase, restrict and port your data, to object to processing based on legitimate interest, and to withdraw consent at any time without affecting the lawfulness of earlier processing. Each right has a button in the app:
You can delete everything yourself, directly in the app — no support request needed:
If you can no longer access the app, you can request deletion by contacting the developer (Section 11); please write from the e-mail address linked to your account so we can verify ownership. An anonymous account that was never linked to an e-mail cannot be identified by anyone — including us — without the device it was created on.
The app is not directed at children under 16. We do not knowingly collect personal information from children; if you believe a child has created a TankSync account, contact us and we will delete it.
Changes are published at this URL with a new version number and date; the app records the version you consented to and shows this page again when the version changes.
Developer and controller: Florian DITTGEN
Email: fdittgen@gmail.com
Source code: github.com/fdittgen-png/tankstellen