01Who we are
Zavoy is built and run by an independent developer, not a company. We are responsible for the personal data described in this policy: we decide why and how it is used, and we answer for it.
For anything about your data, write to [email protected].
02Data we collect
- Account— your email address. With Google sign-in we also receive your Google account identifier and basic profile (name and profile photo). With Sign in with Apple we receive your Apple user identifier, your name (only on your first sign-in) and your email — if you choose Apple's "Hide My Email", we receive and store the private relay address Apple generates and never attempt to uncover your real one. If you sign up with email and password, the password is stored only as a salted hash — we can never read it.
- Email confirmation— if you sign up with email and password, we send a link to that address to check it's yours, and record whether and when you confirmed it. Google and Apple have already confirmed the address, so those sign-ins skip this step.
- Profile — display name, profile photo, rider type and riding preferences such as alert thresholds, lean-warning settings and your unit system.
- Garage — the motorcycles you add: brand, model, year, nickname, colour, tank range and, if you choose to enter them, the licence plate and a photo of your bike. A bike photo you attach is uploaded to our storage and shown in your garage and, like the rest of your garage, to friends you have accepted.
- Saved places — places you save, such as home or work, including their label, address and map coordinates.
- Ride & route data — planned and saved routes, and your ride history including the full recorded GPS track, distance, duration, average and top speed, and fun score.
- Riding telemetry— aggregated cornering events from your phone's motion sensors: maximum lean angle, lateral g-force, warning level, time and location. See section 09 for how this works on-device.
- Hazard reports — the hazard type and location you report to warn other riders; reports expire automatically after about 6 hours.
- Ride posts & recaps— the captions you write and the ride cards and recap videos we render from your stored ride, and whether you share them to your friends' feed.
- Social connections — the friends and riders you follow, requests you send or accept, and your standing on distance leaderboards.
- Messages — in-ride group chat and one-to-one direct messages you send to other riders.
- Presence— whether you're online and, while you ride, which group ride you're on — so friends can see you're riding and ask to join.
- Device tokens — push-notification identifiers for your device.
- Device details — when you sign in, the app reports the phone model, OS version and app version it is running on, so we can reproduce the bugs you hit and know which builds are in use. No serial number, advertising ID or phone number.
- Install source (Android)— the first time the app opens, it reads the campaign tags on the Google Play link you installed from (source, medium and campaign name, such as "instagram / social / spring_reel") through Google Play's Install Referrer service, and sends only those tags to our product analytics, so we know which posts and emails bring riders in. Nothing else from the referrer is kept, and it is not read at all if you have switched analytics off.
- Crash and diagnostic reports — when the app hits an error, freezes or a ride is cut short, it sends us a report with the error, the app and OS version, the phone model, the state of the ride at the time, and your position rounded to about 100 metres. Reports go to our server logs and are not linked to your profile.
- Subscription status — your plan and entitlement, provided by RevenueCat and Apple/Google. We never see your card number or full payment details.
- App feedback — if you rate the app under Profile → Help us improve, we store your rating, the area you chose, anything you write, and the app version, platform, device model and OS version you were on, linked to your account so we can follow up. Leaving feedback is entirely optional.
- Reports & blocks — if you report a rider or a piece of content, we store who filed the report, the rider and the message, post, route or profile it names, the reason you picked and anything you typed, so the report can be reviewed and acted on. If you block a rider we store that you blocked them. Blocks are private: the rider you blocked is never told, and never sees your blocked list.
- Website forms — if you use the contact form, join the launch list or report a bug on this website, we store what you submit (such as your email, name and message, and for a bug report the device details and any screenshot or video you attach) together with your IP address and browser user-agent to prevent abuse.
What other riders can seeZavoy has a social side, so some data is shown to riders you connect with. Your rider profile — display name, total distance, bikes and ride history — and any ride you post are visible to friends who follow you; a friend viewing one of your rides can also see the route you rode. Your name and distance appear on leaderboards to other riders. You choose who can find and follow you, and whether your active rides are joinable, from your profile settings. Deleting a post removes it from the feed while keeping the ride in your own history.
03Why we use your data, and on what legal basis
Data-protection law (the EU and UK GDPR, and Serbia's Law on Personal Data Protection) only lets us use personal data when we have a legal basis for it. These are ours:
- To provide the app you signed up for (contract) — running your account, planning and navigating routes, recording rides and keeping your history, your garage and saved places, the social features you use (friends, messages, posts, group rides), AI route insights, your subscription, and the emails and push notifications the service depends on, such as confirming your email or resetting your password.
- Because you chose to switch something on (consent) — device permissions such as background location, motion sensors, notifications, media access and Bluetooth; sharing your live position in a group ride; connecting Spotify; pairing a camera; and feedback you send us. You can withdraw consent at any time in your device settings or in the app. Withdrawing doesn't make earlier processing unlawful.
- To keep the service safe and working (legitimate interests) — preventing abuse and fraud (including the IP address stored with website forms), handling reports and blocks and keeping moderation records, crash and error reporting, product analytics in the app, visit statistics on this website, and recording device details so we can reproduce bugs. We have weighed these against your privacy and kept each to the minimum it needs. You can object to any of them (see section 07), and you can turn app analytics off yourself in Profile → Share usage analytics.
- Because the law requires it (legal obligation) — keeping payment and tax records, and answering lawful requests from authorities.
04Location data
Location is core to Zavoy, so we treat it with extra care. We collect it only for the purposes below.
- Continuous GPS during navigation and free-roam — to draw your position, give turn-by-turn guidance and re-route.
- Background location during active rides — so navigation and ride recording keep working when your screen is off or another app is open. It runs only while a ride is active, and on Android a persistent notification shows whenever Zavoy is recording your ride.
- Ride history — completed rides, including the GPS track, are stored to your account so you can revisit them; you can delete them anytime.
- Cornering telemetry — lean-angle events are tagged with the location where they happened, so you can review them on the map after a ride.
- Service providers — route and location coordinates are shared with the mapping, weather and AI providers listed in section 06, including the public OpenStreetMap services, strictly to provide those functions (directions, place names, forecasts, route analysis).
Live location sharing — opt-inIn a group ride you can opt in to share your live position. Only participants of that group ride can see it, it appears for the duration of the ride, and it stops automatically when the ride ends. You can turn sharing off at any time in the ride controls; turning it off removes you from the live map immediately. Live positions are deleted from our servers within 24 hours.
05AI processing
To generate route analysis, trip suggestions and the plain-language ride summary, we send route context to third-party AI services: Google (Gemini) and, as a fallback, Anthropic (Claude).
- What is sent— start, end and stop place names and coordinates, a sampled version of the route geometry, your food, amenity and point-of-interest preferences, fuel range, your current location when you ask for nearby suggestions, and any free-text trip prompt you type. We don't send your account email or your messages.
- Search grounding — Gemini requests may use Google Search grounding, meaning the route and place context can be included in web-search queries to improve suggestions.
- Third parties— processing happens on the providers' infrastructure under their API terms; these API calls are not used to train their models.
- Retention— the generated insights are saved with your route so you don't pay to regenerate them; we don't otherwise retain the prompt context.
06Third-party processors
We rely on these named providers to run the service. Each receives only the data needed for its function.
- Mapbox — maps, tiles, directions, elevation profiles and static route images; receives route and viewport coordinates.
- HERE — place search; receives your search text and approximate location.
- OpenStreetMap (Nominatim & Overpass) — geocoding fallback, place names for your current position, and fuel-station / road-surface data along a route; receives search text and coordinates. Some of these requests go straight from your phone to the public OpenStreetMap services, which then also see your IP address. They are run by the OpenStreetMap community under their own usage policies rather than on our behalf.
- Google (Gemini) & Anthropic (Claude) — AI route analysis and trip suggestions; receive the route and place context described in section 05.
- OpenWeather — forecasts and route weather alerts; receives coordinates.
- CARTO — map tiles for some offline map downloads, fetched through our server; receives only which map tiles are needed, never your account or IP address.
- Google Sign-In — authentication; we verify your Google ID token, which carries your email, name and photo.
- Sign in with Apple— authentication on iOS; we verify your Apple identity token, which carries your Apple user identifier and email (or Apple's private relay address if you hide it). Your name is shared only on first sign-in. When you delete your account, we ask Apple to revoke Zavoy's access to your Apple ID.
- RevenueCat, Apple App Store & Google Play — subscription billing; receive an app user id and purchase/receipt data. Payment details stay with Apple/Google. When you delete your account, we ask RevenueCat to delete its record of you.
- Resend — sends our emails: the link to confirm your email address, password resets, and replies to requests you make. Receives your email address and the content of the email.
- Expo — over-the-air app updates; receives standard device and update metadata (app version, platform, update channel).
- Firebase Cloud Messaging (FCM) & Apple Push (APNs) — push-notification delivery; receive your device token.
- Cloudflare R2 & Turnstile — R2 is file storage for the photos and videos in your account: bike photos you upload, ride post images, and the recap videos we render for you. Turnstile checks that website forms are sent by a person; it receives your IP address and browser details when you submit one.
- Render — hosts our backend; account and ride data are processed on its infrastructure.
- Supabase — hosts our database in the EU. Your account, profile, rides, routes, messages and the rest of the data in section 02 are stored there.
- Spotify (iOS, optional)— if you connect Spotify for the in-ride media controls, sign-in and playback control happen through Spotify's own app and SDK; what you're playing stays on your device and is never sent to us. Connecting is always a deliberate action you take in Settings, and it never starts playback on its own.
- Apple Music (iOS, optional)— the in-ride media controls read the current track from Apple's media framework on your device. No third party is involved and nothing about your listening is sent to us or to anyone else.
- PostHog (EU) — product analytics for the app; receives which screens you open and product events such as signing up, planning a route, starting and finishing a ride, and the outcome of a purchase, tied to your Zavoy account id. Ride events carry only coarse figures (distance in kilometres, duration in minutes), never your route, GPS positions or place names. No name or email. Hosted in Frankfurt. You can turn it off in the app. See section 10.
- Sentry (EU) — crash and error reporting for the app and backend; receives the error, a stack trace, your app version and device model, a trail of what the app did just before (screens opened, web addresses it called), and, for backend errors, your Zavoy account id. Any coordinates in that trail are cut to about 11 km before they leave your phone. Configured not to collect personal data, request bodies or cookies.
- Plausible Analytics — cookie-free visit statistics for this website (zavoy.io); receives the pages you view, the referrer, browser and device type, and your country (derived from your IP address, which is not stored). No cookies, no persistent identifier, no cross-site profile; data is processed and stored in the EU.
The app contains no advertising SDKs and no cross-app trackers, and we never sell your data. The analytics and crash reporting listed above are EU-hosted, tied to your Zavoy account id rather than to you personally, and used only to see which features are used and what is breaking. This website uses cookie-free, aggregate-only visit statistics — see section 10.
07Your GDPR rights
If you're in the EU/EEA (and many other regions grant the same), you can:
- Access — request a copy of the data we hold about you.
- Rectification — correct inaccurate details (most are editable in-app).
- Erasure — delete your account and data — see Delete your account & data.
- Portability — get your data in a format you can take elsewhere. Email [email protected] from your account address and we'll send a full export of your account data in a machine-readable file within 30 days. You can also export any saved route as GPX from the app at any time.
- Objection— object to processing we base on legitimate interests (section 03). For app analytics you don't need to ask: switch off Profile → Share usage analytics.
- Withdraw consent — for anything you switched on yourself, such as a device permission or live location sharing, by switching it off again.
To exercise any of these, email [email protected] — or, for erasure, use the request form on Delete your account & data. We reply within 30 days, and may ask you to confirm the request from your account email first. You also have the right to complain to your local data-protection authority.
08Data retention & deletion
- Account, profile, garage, saved places, routes, ride history, posts and social connections — kept while your account is active; permanently deleted within 30 days of account deletion.
- Chat messages, direct messages, notifications and cornering telemetry — automatically deleted after 6 months, even if you keep your account.
- Live group-ride locations — deleted within 24 hours of the ride.
- Hazard reports — expire after about 6 hours.
- Content reports & moderation records — kept for as long as we need them to moderate the service, so repeated behaviour stays visible to us and an enforcement decision can be reviewed or appealed. A report survives either account being deleted, but the rider it names and the rider who filed it are detached from it at that point.
- Blocks — kept until you remove the block, or either account is deleted.
- Place-search caches — kept between 24 hours and 30 days to avoid repeating identical lookups.
- Payment records — retained where law requires (typically up to 7 years).
- Operational logs & backups — short-lived server logs may contain request data and rotate automatically; backups are rotated out within the normal backup cycle after deletion.
When you delete your account
You can delete your account in the app, or ask us to on the Delete your account & data page. Here is what happens and when:
- Straight away— you're signed out on every device and the account is closed. Your email address, name, profile photo and password are removed from it, and your sign-in and push-notification tokens are deleted. Your name and photo are also replaced with "Deleted rider" wherever other riders could still see them: group-ride chat, the rider lists of group rides you joined, and routes you shared. Your bike photos, ride post images and recap videos are deleted from our file storage. We ask RevenueCat to delete its record of you and, if you used Sign in with Apple, ask Apple to revoke Zavoy's access to your Apple ID. Your email address is freed, so you can sign up again with it later.
- Within 30 days — everything else tied to the account is permanently deleted: rides and GPS tracks, routes, garage, saved places, messages, posts, notifications and connections, along with the account record itself.
- Backups — copies in our database backups are overwritten as those backups rotate out on their normal cycle. We never restore a deleted account from them.
- What we keep — moderation records, detached from your account as described above, and payment records where the law requires them. Website form submissions (contact, bug reports, launch-list sign-ups) are not linked to your account; email [email protected] to have those deleted too.
A request made on the website is checked by email first, since you can't sign in there. Once it's confirmed, the same steps apply, and deletion is complete within 30 days of the request being confirmed. Deleting your account does not cancel an App Store or Google Play subscription; cancel that in your store account.
09Device permissions we use
The app requests these device permissions only to power specific features. Several work entirely on your device and send nothing to us.
- Location — turn-by-turn navigation and ride recording, including in the background while a ride is active (covered in detail above).
- Motion & fitness sensors — raw accelerometer and gyroscope readings are processed live on your phone to estimate lean angle and cornering forces, and are never uploaded. What we store are aggregated cornering events — maximum lean angle, g-force, warning level, time and location — attached to your ride and deleted automatically after 6 months. You can turn lean tracking off in settings.
- Notifications — to deliver ride invites, messages and hazard alerts (see device tokens above).
- Phone status (Android,
READ_PHONE_STATE) — we detect when a call is ringing or active so navigation can stay on screen. We do not read your phone number, contacts or call log, and nothing about your calls leaves your device. - Display over other apps (Android,
SYSTEM_ALERT_WINDOW) — lets the turn-by-turn overlay stay on top of the incoming-call screen. It grants no access to any data. We only ask for this and phone status when you set up the call overlay. If you say no, navigation works as normal; it just won't stay on top during a call. - Media— to show and control what's currently playing from the ride HUD. On Android this uses notification access to read only the active track's metadata. On iOS, Apple allows no general access to other apps' playback, so Zavoy works with two sources only: Apple Music, through Apple's own on-device media framework (this is what the "Apple Music & media library" prompt asks for, and it reads only the track playing right now), and Spotify, if you choose to connect it. We never access your library, playlists or listening history, and nothing about your listening leaves your device.
- Offline maps— map areas you download are kept in the app's own storage on your phone, for places with no signal. This needs no storage permission.
- Photos — Zavoy does not ask for permission to read your photo or media library. To add a bike photo to your garage you pick it in your phone's own photo picker, and only the photo you pick reaches the app. To save a ride post or recap video to your gallery, the app asks only for permission to add files (on iOS, "Add Photos Only"), which doesn't let it see what is already there. A bike photo you attach is uploaded to our storage so it can be shown in your garage; you can replace or remove it at any time, which deletes the stored copy.
- Bluetooth (camera pairing)— if you choose to pair an action camera (currently GoPro), Zavoy uses Bluetooth Low Energy to connect to it and exchange camera control commands only — the device identifier needed to keep the pairing, and status signals such as whether it's recording and its battery level. We never access, collect or store footage, photos or any media from the camera, and the pairing stays on your phone — nothing about your camera is sent to us. You can unpair it at any time in Camera settings, which stops all Bluetooth communication with it.
You can review or revoke any of these at any time in your device settings; features that rely on them simply stop working until you re-grant them.
10Cookies & analytics
The app uses PostHog for product analytics, hosted in the EU (Frankfurt). It records which screens you open and product events — signing up or in, planning a route, starting and finishing a ride, viewing the plans screen, tapping a Premium-only feature, and the outcome of a purchase or restore — plus, on Android, the campaign tags of the Play link you installed from. Events are tied to your Zavoy account id only: no name, no email, no GPS positions, routes or place names (ride events carry just the distance in kilometres and the duration in minutes), and no advertising or cross-app profiling. Nothing is sold. Screen and session recording is switched off. Signing out unlinks your id from any further events.
App analytics is optional. Switch off Profile → Share usage analytics and the app stops sending events to PostHog on that device until you switch it back on.
This website uses Plausible Analytics, a privacy-first tool, to count visits in aggregate — pages viewed, referrers, countries and device types. Plausible sets no cookies, stores no IP addresses and builds no visitor profile — nothing identifies you personally and there is no cross-site tracking, which is why this site shows no cookie banner. Measurement data is processed and stored in the EU.
11Children
Zavoy is not directed at children under 16 and we do not knowingly collect their data.