Document 01 · Privacy
Privacy Policy
01Introduction
Zero Lap is a GPS speedometer and vehicle performance meter for Android, developed by Zoran Gojkovic. It is built local-first: your speed, drives, tests, videos and settings are computed and stored on your phone. A small number of optional features — some free, some Pro — need our server or a third-party service to work, and the app sends us anonymous usage statistics; this policy names every one of them, says exactly what is sent, and why.
For the rules governing your use of the app, see our Terms of Service.
◆ Our commitment in one line
No advertising SDKs, no third-party analytics or tracking SDKs, no selling of data. Nothing leaves your phone except what Sections 03 and 04 describe — and your route leaves it only when you yourself share a drive as a web link, start live tracking or switch on the cloud backup, and when the phone's geocoder names the places and streets along it (Section 04).
02Information the app handles
2.1 Location (GPS)
The app reads your position, speed and heading from the Android location services (or, if you choose, from an external Bluetooth GPS receiver). This powers the speedometer, trip statistics, performance tests, drive logs with route maps, Waypoints, and crash detection. Location is processed on the device. It leaves the phone only in the specific cases listed in Sections 03 and 04 (map tiles, weather, place and street names, the SOS text message) and when you choose to publish a drive as a shareable web link (Section 3.6), which uploads that drive's route to our server, or start live tracking (Section 3.10), which sends your position to our server while you drive, or switch on the cloud backup (Section 3.11), which keeps a copy of your drives on our server.
2.2 Motion sensors
Accelerometer, gyroscope, gravity and rotation sensors are used for G-force display, sensor fusion in performance tests, lean and tilt angles, the compass, the floating speed bubble's orientation, and crash detection. Sensor readings are processed on the device and never transmitted.
2.3 Camera and microphone (Pro video)
When you record a drive video, the camera and microphone are used only while recording. The video and its telemetry log are saved on your device. The optional AI vehicle counter analyzes the camera frames on the device with a bundled model; no frames are uploaded anywhere.
2.4 Vehicle data over Bluetooth (Pro)
With an OBD-II adapter the app reads live engine data, trouble codes, freeze frames, readiness monitors and the vehicle identification number (VIN) from your car. Once connected, the adapter link is kept alive while you use other screens of the app, with a visible notification, and the app can reconnect automatically to the adapter you last used (you can switch this off on the OBD screen). While the vehicle answers, the live readings are recorded automatically into the OBD recordings on your device. With Bluetooth tyre-pressure sensors it reads pressure, temperature, battery level and the sensor's own identifier. All of this data is stored on your device. OBD data is sent to our server only when you explicitly request an AI diagnosis (Section 3.2); the VIN also leaves the phone if you include it in an AI vehicle specification request (Section 3.8).
2.5 Service log (Pro)
Vehicles you add (name, make, model, year, odometer, notes), service entries (date, odometer, cost, notes) and reminders are stored on your device and, while your Pro licence is active, backed up to our server (Section 3.3).
2.6 Emergency contacts and SOS (Pro)
If you enable crash detection, the names and phone numbers of up to three emergency contacts are stored on your device only. When a crash is detected and you do not cancel the countdown, the app sends an SMS from your phone to those contacts containing the time, a Google Maps link to your last known position and your speed before the impact. Nothing about the event is sent to us.
2.7 Waypoints (Pro)
Places you save (coordinates, name, time, GPS accuracy) are stored on your device only.
2.8 Measurement history and settings
Performance test results, drive logs, lap sessions, OBD history and recordings, the drive links you have created (their address and expiry), and all preferences are stored in a local database and preference files on your device.
2.9 Purchases
The Pro licence and AI credit packs are sold through Google Play Billing. We never see your payment details or Google account. The app receives a purchase token, which it uses as described in Section 3.1.
2.10 Install identifier
On first run the app generates a random identifier (UUID) that is not linked to your Google account, phone number or device serial. It is sent with requests to our server so a purchase can be tied to an installation and abuse can be limited. Resetting the app's data or reinstalling generates a new one.
2.11 Crash reports and usage statistics
If the app crashes, Android and Google Play may collect an anonymous technical report (app version, Android version, device model, stack trace) and show it to us in Google Play Console. In addition, the app itself keeps anonymous daily usage counters and error notes and uploads them to our server, as described in Section 3.9. Neither contains your location, routes, speeds or any text you typed.
03What reaches our servers
Our server (zerolap.zorangojkovic.com and zorangojkovic.com) is operated by the developer. Requests carry the app package name, your Google Play purchase token where relevant, and (except for the licence check) the install identifier from Section 2.10. Connections use HTTPS.
3.1 Pro licence check
When you buy Pro, the purchase token and order ID are registered on our server; on later starts the app asks the server whether the licence is still valid. No personal data is included.
3.2 AI diagnostics (Pro, on request only)
When you tap the AI analysis button, the app sends the OBD report you are looking at — trouble codes, freeze-frame values, readiness monitors, on-board test results, in-use performance counters, the VIN, calibration IDs, ECU name, adapter and protocol names — plus your chosen report language. Our server forwards the report to OpenAI to generate the analysis and returns the text to you. The report and its analysis may be cached on our server so that repeating the same analysis does not consume another credit. The AI credit balance and credit-pack purchase tokens are also handled by our server.
⚠ Before you tap analyze
The VIN identifies your vehicle. Do not use AI diagnostics if you do not want the VIN and diagnostic data of that vehicle processed by our server and by OpenAI.
3.3 Service log backup (Pro, automatic)
While Pro is active, the complete service log (vehicles, entries, reminders, including the notes you write) is uploaded to our server after every change and downloaded again after a reinstall or on a new phone, so the data survives the device. It is stored under your purchase token. If you do not want this, do not enter data into the service log; deleting entries in the app deletes them from the server on the next sync.
3.4 In-app announcements and update check
On start the app fetches the current announcement from our server and the latest version number from a public file hosted on GitHub. These are plain downloads; they carry nothing beyond the request itself (your IP address is visible to the server, as with any download).
3.5 Rating and feedback
If you answer the in-app rating prompt, the app tells our server that you tapped Rate (no content) or sends the feedback text you typed, together with the app version. Do not include personal information in feedback you do not want us to have.
3.6 Drive links (free, on request only)
From the drive log you can publish a drive as a web page with a shareable link (an address under zerolap.zorangojkovic.com/drive/). When you tap Share as link and choose how long the link should live (1, 7, 30 or 90 days), the app uploads that one drive to our server: the route (positions with time, speed and G-force at each point), the drive's title (its number and the place name the log found for the starting point), the places and streets the drive went through with the time it reached each (once the app has looked them up), start time, distance, duration, average and top speed, peak G-forces, the eco score if the app shows one, the unit you use, the app version and the install identifier from Section 2.10.
⚠ A drive link is public
Anyone who has the address can open the page — no login, no app required — and see the route on a map, replay it, read the figures and the places and streets it went through, until the link expires or you delete it. The page carries the Zero Lap name, icon and a link to the app on Google Play. Share the address only with people you want to see where you drove. The server counts how many times the page was opened and shows you that number in the app; it does not record who opened it.
You can delete a link at any time from the same drive in the app (the page then stops working immediately), a link is removed automatically when it expires, and the app asks the server to remove it when you delete the drive from the log. Each drive has at most one link; creating a new one replaces the previous one. The number of live links per installation is limited.
3.7 AI drive analysis (Pro, on request only)
When you ask for an AI analysis of one or more drives from the log, the app sends a summary of each selected drive — date and time, weekday, duration, distance, average and top speed, the number of stops and the time spent standing, how much the road climbed, the eco score and its parts with the hard-braking and hard-turn figures behind them, the throttle use measured against the EU limit, the energy the brakes turned into heat together with the vehicle weight set in the app, the share of time spent standing, in town, on open road and on the motorway, the longest stretch without stopping, in which part of the drive the hard brakings and turns happened, and the vehicle count if the counter was on — together with your chosen report language. No route, no coordinates and no place names are sent. Our server forwards the summary to OpenAI and returns the text to you. Like AI diagnostics, the analysis may be cached on our server so that repeating it does not consume another credit.
3.8 AI vehicle specification (Pro, on request only)
From a vehicle in the service log you can ask for its factory specification. The app sends the make, model and year you entered and, if you filled them in, the fuel type, engine size, power and the VIN, plus your report language. Our server forwards these to OpenAI, returns the specification to you and may cache it under your licence so that asking again is free. Leave the VIN empty if you do not want it processed.
3.9 Anonymous usage statistics and error notes (automatic)
To see which features are used and to find faults, the app uploads to our server, about twice a day when a network is available, one record per calendar day containing: the device model, manufacturer, Android version, screen size, language and country of the phone, app version, whether Pro is active, first-launch date and launch count; the values of your settings (for example the unit, the speed-limit value, the vehicle weight you entered, which options are on, how many waypoints you have saved); counts of how often things happened that day (screens opened, tests run, videos recorded, adapter connections that failed and similar); and daily totals from the local database (number of drives, kilometres and minutes driven, number of tests by type). If the app crashes or hits an internal error, a note with the error message, the technical stack trace and the app version is uploaded with the next record.
These records are tied to the random install identifier of Section 2.10 only. They contain no location, no routes, no speeds of individual drives, no vehicle data and no text you typed, and they are not linked to your Google account or purchase. We use them in aggregate to prioritise development and fix crashes; they are not used to profile individual users.
3.10 Live tracking (Pro, on request only)
Live tracking gives you a link that lets others follow your drive on a map while you drive (an address under zerolap.zorangojkovic.com/live/). It starts only when you tap the live tracking button and confirm, and the address goes only to the people you share it with yourself. When it starts, the app registers it on our server with your Pro purchase token (to check the licence), the install identifier from Section 2.10, the unit you use, the make and model of the phone, the app version, the start time and whether the phone has a barometer.
While it runs, the app sends our server, about once a second, every second of the route it records: time, position, speed, heading, height and G-force, with the GPS accuracy and the number of satellites in use. With them go the phone's battery level, whether it is charging and the battery temperature, whether the GPS has a signal and whether positions come from the phone or an external GPS receiver, how many positions are still waiting to be sent, the distance, time, average and top speed of the drive so far, and timing figures of the connection. To see why a tracking lags or stops, the app also sends how the phone is connected — Wi-Fi or mobile network, whether that network reaches the internet, whether it is metered or a VPN, its signal strength and the link speed the phone estimates — and whether the app is on screen, whether the screen is on and whether power saving is on. It does not send which mobile operator or cell you are on, or whether the network is 4G or 5G. As the drive goes on, the app also sends the names of the places and streets it passes through, with the time it reached each (looked up as described in Section 04). Without internet the positions wait on the phone and are sent when the connection returns. At the end the app sends why it ended and the drive's eco score (if the app shows one), its stops, the places and streets of the whole route, distance, times and speeds.
⚠ A live link is public
Anyone who has the address can open the page — no login, no app required — and see where you are as you drive, your speed, the route so far with the places and streets you have driven through, the GPS accuracy and your phone's battery level. After the end the same address shows the whole drive, like a drive link. The number of people who can watch at the same time is limited, and the app shows you how many are watching. Share the address only with people you want to see where you are.
Live tracking ends when you switch it off in the app or close the app (Back twice, swiping it away, Stop in the notification). If the phone stops the app (an empty battery, Android closing it), the tracking is ended the next time you open the app, and our server ends a tracking it has not heard from for 24 hours. Starting a new live tracking ends the previous one, and the number an installation can start per day is limited. For the people who open the page, the server keeps a random identifier their page creates for itself, their browser's identification string and connection timings — no IP address — to enforce the viewer limit and to watch the load on the server.
3.11 Cloud backup (Pro, only after you switch it on)
A Pro user can keep a copy of the app's data on our server, to restore it on a new phone or after reinstalling. Nothing is sent until you tap Back up in the cloud backup card once. From then on, whenever something changes, the app sends a fresh copy a few minutes later when a network is available, and the server keeps only the latest one.
The copy holds the same as the backup file: your drives with their routes, place names and the places and streets they went through, performance tests, tracks and laps, Lean & tilt rides, OBD scans and sensor recordings, vehicles with the service log, reminders and fuel entries (including the VIN if you entered one), and your settings, including waypoints and emergency contacts (names and phone numbers). Videos stay on the phone. With the copy go your Pro purchase token, the install identifier from Section 2.10, the app version, its size and a short count of what it contains.
The copy is stored outside the public part of the server, under a name derived from the purchase token, and is handed back only to the same Pro purchase, when you tap Restore. Delete copy in the app removes it from the server and switches the automatic upload off; nothing on the phone is deleted.
04Third-party services
Besides Google Play (billing, crash reports) and the Android platform services, the app contacts the following services directly from your phone. Each is governed by that provider's own privacy policy.
- OpenStreetMap tile servers — the route map in the drive log, the track setup map, the Waypoints map, the shared drive page and the live tracking page (in the browser of whoever opens them) download map images. The tile server sees the IP address of the device and the map area being viewed, which corresponds to the location shown.
- Esri — ArcGIS Location Platform (ibasemaps-api.arcgis.com) — when you switch the drive log's route map, a shared drive page or a live tracking page to the satellite view, the imagery tiles are downloaded from Esri using our developer key. Esri sees the IP address of the device and the map area being viewed. No other data is sent.
- MET Norway (api.met.no) — the air-density correction for performance tests requests the current weather for your approximate coordinates (four decimal places).
- Android Geocoder (Google) — the app asks the device's geocoder for place and street names: for the starting point of a drive, so the log can show a town instead of coordinates, and for points along the route — roughly every 60 to 400 metres while the car moves — to list the places and streets a drive went through, also while a live tracking runs. The geocoder receives the coordinates of those points. It needs an internet connection; a drive logged offline is looked up later, and a drive restored from a backup that carries its list is not looked up again.
- OpenAI — receives OBD reports for AI diagnostics (Section 3.2), drive summaries for AI drive analysis (Section 3.7) and vehicle descriptions for AI vehicle specifications (Section 3.8), always via our server and only when you ask.
- GitHub — hosts the version file used for the update check.
None of these receive your name, contacts or purchase data. Map and weather providers never receive your measurement history; OpenAI receives only the report, summary or vehicle description you explicitly submit.
We do not sell, rent, trade or share personal data with anyone for their own marketing or analytics. We may disclose data only if legally required by a valid court order or other binding legal process, and then only the minimum technically available.
05How we use information
Information described above is used exclusively to:
- Show your speed, heading, G-force, lean and tilt, and trip statistics
- Measure and store performance tests, laps and drives
- Record drive videos with the data overlay and count vehicles on the device
- Read and analyze your vehicle's OBD data and tyre pressure
- Publish a drive as a web page when you ask for a link, and show you how often it was opened
- Show your drive as it happens to the people you give a live tracking link, and show you how many are watching
- Produce the AI drive analysis and AI vehicle specification you request
- Keep your service log and back it up while you are a Pro user
- Alert your emergency contacts if a crash is detected
- Verify your Pro licence and AI credits
- Show announcements, offer updates, and receive your feedback
- Diagnose crashes and errors of the app and see, in aggregate, which features are used
✓ What we do not do
No advertising, profiling, lead generation or resale. The usage statistics of Section 3.9 are daily counts, not a record of where or how you drove. Your driving habits, location history and vehicle data are not sold or shared with insurers, data brokers, advertisers or employers.
06Where your data is stored
6.1 On your device
Drives, tests, laps, videos, OBD history and recordings, tyre-pressure settings, waypoints, emergency contacts and all preferences live in the app's sandboxed storage. Other apps cannot read them unless you export or share a file yourself.
6.2 On our server
Only what Section 03 lists: licence records, AI diagnostic reports, drive summaries and vehicle descriptions with their cached AI answers, service-log backups, the cloud backup copy if you switched it on, the drives you published as links, the live trackings you started and who watched them (Section 3.10), anonymous usage statistics and error notes, feedback messages.
6.3 Backups you make
The file backup and the export functions write files to the location you choose. Those files are under your control and are not sent to us. The cloud backup (Section 3.11) is kept on our server.
07Your rights
7.1 All users
- Delete — uninstalling the app removes all local data. Drive links can be deleted in the app at any time and expire by themselves; live tracking can be stopped in the app at any time; the cloud backup copy can be deleted in the app at any time. To have other server-side data (service-log backup, live trackings, AI reports and answers, usage statistics, feedback) deleted, email us with your order number or install identifier.
- Export — drives, tests, OBD data and the service log can be exported from the app (CSV, GPX, KML, PDF, backup file).
- Information — ask us at any time what data we hold.
- Withdraw permissions — revoke location, camera, microphone, Bluetooth, SMS or overlay access at any time in Android settings.
7.2 European Union / EEA (GDPR)
- Right of access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction (Art. 18), portability (Art. 20), objection (Art. 21)
- Right to lodge a complaint with your national data protection authority
Legal bases: performance of the contract with you (licence check, service-log backup, cloud backup, AI diagnostics, drive analyses and vehicle specifications you request), your consent (drive links you publish, live trackings you start, SOS text messages, feedback), and our legitimate interest in keeping the app working, improving it and preventing abuse (install identifier, crash reports, anonymous usage statistics and error notes).
7.3 California residents (CCPA / CPRA)
- Right to know, right to delete, right to non-discrimination
- Right to opt out of sale or sharing — not applicable, we do neither
To exercise any right, contact fenixjzdev@gmail.com. We respond within 30 days.
08Children's privacy
Zero Lap is not directed at children under 13 years of age (or the minimum digital-consent age in your jurisdiction, whichever is higher). We do not knowingly collect personal data from children. If you believe a child has used the app, contact us and we will assist with removal.
09Data security
Local data is protected by Android's application sandbox; its security is tied to your device, so keep it locked and updated and install the app only from Google Play. Server connections use HTTPS. Server-side data is stored under your purchase token or the random install identifier, not under a name or account. A drive link or a live tracking link is protected only by its address: it is deliberately public, so treat the address like the content itself. No method of storage or transmission is 100% secure.
10Permissions requested
Runtime permissions are requested only when the related feature is first used, with an in-app explanation. You can revoke any of them in Android settings; the related feature stops, your data is unaffected.
The app does not request storage permissions: exports and backups are written through the Android file picker to the location you choose, and videos through the system media store.
11Data retention and deletion
- Local data stays until you delete it in the app, clear the app's data, or uninstall.
- Service-log backups are kept while your Pro licence exists; entries you delete in the app are removed on the next sync; the whole backup is deleted on request.
- The cloud backup is one copy per Pro purchase, replaced by every upload; it is kept until you delete it in the app, and is deleted on request.
- Drive links and the uploaded drive are kept until the expiry you chose (1, 7, 30 or 90 days) or until you delete the link or the drive in the app; expired links are removed by the server.
- A live tracking link works for 30 days from the start; after that the page stops working. The tracking itself (route, figures, places and streets, and the viewer records of Section 3.10) stays on our server until we delete it, and is deleted on request by install identifier.
- AI diagnostic reports, drive summaries, vehicle descriptions and their cached answers are kept to serve repeat requests; ask us to delete them.
- Anonymous usage statistics are kept in aggregate for as long as they are useful for development; error notes are kept until the fault is fixed. Both can be deleted on request by install identifier.
- Licence records are kept as long as the purchase is valid, as required to honour it.
- Feedback messages are kept until dealt with.
- Anonymous crash reports are retained by Google according to Google's policy.
12Changes to this policy
When a new feature sends new data anywhere, this policy is updated first: the "Last updated" date changes and the app shows a notice. Where the law requires it, we ask for renewed consent. Continued use after an updated policy takes effect means you accept it.
13Contact us
◆ Data controller
Zoran Gojkovic
Email: fenixjzdev@gmail.com
Response time: within 30 days of receipt
If we have not resolved your concern, you have the right to lodge a complaint with your national data protection authority.