Privacy Policy
In brief
- Reading trails, maps and conditions needs no account, and Spoke Crew sets no cookies.
- With an account we keep your email address, your handle and what you choose to save or post. We don't sell any of it, and there are no ads.
- You choose who sees each ride. Other riders never see the first and last 200 m of its line, or the parts inside your privacy zones.
- Live location is shared only while you share it, only with people who have the link (and a crew if you pick one), and only your latest position is kept.
- When they're switched on, error reports and page-speed measurements are collected without cookies, with email addresses, sign-in tokens, locations and search terms removed.
- You can download your data or delete your account yourself, from your account page.
Who we are
Spoke Crew is a mountain bike trail app: a map of trails built from open data, ride recording, route planning, crews and group rides. This policy covers the website and the app you can add to your home screen. When it says “we”, it means the people who run Spoke Crew. To reach us about anything here, write to privacy@spokecrew.com.
What we collect, and why
Without an account we collect nothing that identifies you. Your browser asks our servers, our database provider and the map services below for pages, trail data and map tiles, and like every website those requests carry your IP address (see Services we use).
With an account, we keep only what the feature you use needs:
- Your email address, to sign you in. There are no passwords: you get a sign-in email from our email service, with a 6-digit code and a link. Your email is never shown to other riders. Each sign-in is noted in a sign-in log with your email address, the time and the address it came from, and while a device stays signed in we keep its IP address and browser type with that sign-in; signing out removes them.
- Google sign-in, if you choose “Continue with Google” where it is offered. Google sends us your name, email address and profile picture address. We keep them with your sign-in record, show your name only if you choose to use it as your display name, and never show the picture.
- Your profile: a handle (we start you with a random one, never made from your email), a display name if you set one, and when you joined.
- Rides you save: the GPS track with times and elevation, its name, date and stats, and which trails it matched. While you record, the track is kept on your device and sent to us only when you save the ride. To find matching trails for a GPX, TCX or FIT file on Analyze a ride, we receive a simplified line with no times, and we keep nothing unless you save. Heart rate, cadence and power in a file are read and then dropped.
- Your location, when you ask for something near you or for a route. “Near me” (on trail lists, the map, group rides and crews) sends your position, or a box around it, to our database to find what is nearby; we don't keep it. Searching for bike shops sends a point to our database to put the nearest first, rounded to about 100 m. For words that ask for a kind of shop, such as “bike shops near me”, it is your position, and the search box sends that only if you have already let Spoke Crew use your location: it never asks. For a shop's name it is the middle of the map you last looked at. In Explore it is the town or trailhead you picked, your position if you picked Near me and asked for a kind of shop, or otherwise the map area on screen. Planning a route sends the points it goes through, which can include where you are, to our server to work out the way; we keep them only if you save the route. “Use my location” on a group ride puts the meeting pin where you are; it is kept only if you post the ride, as its meeting place, until you delete the ride. “Add a zone here” saves where you are as a privacy zone, until you delete it.
- Privacy zones: the places you mark (home, say) and their size. Only you can see them.
- Live location, while you share it: your latest position, its accuracy, your heading and speed, your phone's battery level if the browser reports it, a short status message and the route you are riding.
- Photos you post. Your device and then our server re-encode every photo, which removes its location, camera details and other hidden data before anyone else can see it.
- What you post: trail reviews and ratings, condition reports, comments, kudos, crews, group rides and your replies to them, lists, saved trails, planned routes, trails you mark as ridden, and your bikes and their service history. If you are a verified trail manager, also the notes and official reports you post for your trails. Reports you send us about other riders' posts are kept private, for us to act on.
- Who you follow and your notifications (new followers, kudos, comments, RSVPs, crew requests).
- Who you block or mute, so they stay hidden from you (see Blocking and muting). Only you can see these lists.
- Records that keep the service fair: when you saved rides, and which trails and routes you downloaded as GPX files and when, so daily limits work.
Placeholder for legal review
Send to Garmin (not available yet; this text takes effect when it is). If you connect Garmin, we keep the link: your Garmin account's id, the access tokens Garmin gives us (encrypted, never shown to anyone), which permissions you granted, which version of the notice you agreed to, and when. Each time you send a trail or a route we keep a record of it: its name, when, whether Garmin took it, and Garmin's id for the course. The course itself (the line, elevation and junction cues) goes to Garmin. A route you planned from home includes where you start.
When something breaks, and once error reporting is switched on, your browser or our server sends an error report to Sentry: what failed, the page's address without its query or the ids in it, and which version of the app was running. It sends nothing else: no record of pages that worked, no timing traces, no IP address, browser details, time zone, headers or cookies. Before anything leaves, we remove email addresses, sign-in tokens, ids, coordinates and query strings from it. When Vercel Web Analytics and Speed Insights are switched on, they count page views and measure how fast pages load, without cookies and without anything that identifies you.
Our server's log: for each request to one of our own web services (a data download, a photo upload, the weather forecast and the like), and for each thing that goes wrong behind one (a step of deleting an account, a database read that had to be tried again), our server writes one short line: a random request number, which service, whether it worked, how long it took, an error code, and which of a fixed list of things went wrong. A line we write holds no email address, sign-in token, location, IP address, account number or anything you sent. The same request number goes on an error report, so we can match the two. Vercel's own log of the same request does have an IP address (see How long we keep it).
What's public and what's private
Public, to anyone, signed in or not (except that a rider in a block with you, while they are signed in, doesn't see your profile or what you post: see Blocking and muting):
- Your handle, display name and region, and, unless your profile is private, when you joined and how many rides, reviews, reports, followers and follows you have.
- Reviews, ratings and trail photos, with your handle. Condition reports too, with your handle, until they expire: most after 2 to 7 days, depending on what they say, and a trail manager's official notice when the manager says, up to a year ahead. A photo on a condition report is shown only while its report is; once the report expires, or is hidden or removed, others can't see the photo, and its file is moved out of public reach (at once if the report is hidden, within two days at the latest when it expires or is removed).
- Rides you share with “Everyone”, which is the choice already picked when you save unless you chose another for new rides in Account (you can still change it for each ride). Others see the line without its first and last 200 m or the parts inside your privacy zones, stats worked out from that shorter line, and never your moving time or top speed. Trails that pass through a privacy zone are left off the ride's list of matched trails and out of trail leaderboards. Zones don't change the ride's name, date or photos. Shared rides appear in the feed and add your times to trail leaderboards. A ride that passes close to a trail we hide is kept to “Only me” whatever you pick. With a private profile, an “Everyone” ride is seen only by riders you've approved.
- Comments on public rides. Public group rides with their host, how many are going, and the host's own comments. Public crews with how many members they have, their owner and admins, and, if you choose to show them, the public crews on your profile (a private crew never shows there).
- Lists and planned routes you make public (with a private profile, only to riders you've approved), and trail managers' notes on their trails.
Signed-in riders also see who is going to a public group ride, a public crew's members, and every comment on a group ride, with each rider's handle.
Your followers: rides you share with “Followers”, trimmed the same way as “Everyone” rides. Anyone can follow an open profile; with a private profile, only riders you approve. These rides never add times to trail leaderboards or crew boards.
With a private profile, riders you haven't approved see only your name, handle and region on your profile: not your rides, lists, plans, crews, counts, or who you follow and who follows you. Your reviews, condition reports, trail photos and comments still show your handle, and so do the group rides you say you're going to and the crews you join, to signed-in riders.
Search engines can index trail and trail system pages, and the reviews, current condition reports (with their photo) and trail photos on them, with your handle. Profile, ride, crew, group ride and list pages ask search engines not to index them.
Shared by link: a live location, and a list set to “Anyone with the link”. These pages are kept out of search engines. Anyone you send the link to can open it, so share it with care. You can stop a live share at any time, and reset a list's link.
Your crew: crew-only group rides, and your live location if you share it with the crew.
Only you: your email address, rides you keep to “Only me”, the full track of every ride, your privacy zones, private lists and routes, trails marked as ridden, your bikes, your notifications, your downloads, the riders you block or mute, and your condition reports once they have expired.
A photo on a ride is listed only to people who can see the ride. Its file is stored at a long, unguessable web address so it loads quickly, which means anyone who has that exact address can open it. If you make a ride private or delete it, our pages stop showing it within a few minutes, but a preview someone already shared in a chat app may stay there.
Blocking and muting
To stop seeing a rider, choose Block or Mute from the ⋯ menu on their profile, ride, comment, review, photo, condition report or group ride. Nobody is told, with one exception for crew admins, below.
Block, while you are both signed in:
- Neither of you sees the other's profile, rides, photos, reviews, comments, kudos, follows, lists, routes, live shares or RSVPs, crews included. The exceptions are below.
- Neither of you can follow, comment, give kudos, RSVP to the other's ride or invite the other, and no notification passes between you.
- A block ends the follows between you, each rider's RSVPs to the other's rides still to come, and the crew invitations one of you sent the other since November 3, 2026 that are still waiting. RSVPs to rides already past stay. Unblocking brings back what was hidden, not what was ended.
- The blocked rider's profile reads “This profile isn't available”, the same words as a profile that doesn't exist. That is all the profile shows.
What a block doesn't change:
- Public pages stay visible to anyone who isn't signed in. A rider you blocked who signs out, or opens a private window, reads your public profile, rides and lists like any visitor. A live-share link works the same way: someone who isn't signed in can still open it, because a link can't tell who is holding it. If you are sharing a live ride when you block someone, the app says so and offers to end the share.
- Crews. If you share a crew, you both stay members and are hidden from each other. A crew's owner and admins still see its members, so a rider who runs a crew you are in still sees you in its member list, and can tell from your unavailable profile that you blocked them. An admin can still remove either of you.
- Safety facts stay visible. Official closures and trail managers' notes still show to both of you. A blocked rider's condition report still counts toward the trail's status and is still listed on it, with its photo and without their name: a “tree down” from someone you blocked is still a tree down.
Mute a rider and their rides, reviews and condition reports leave your feed and the home page's “Fresh off the trail”. Nothing else changes, and they aren't told.
To undo either, go to Profile and privacy and open Blocked and muted: it lists everyone you have blocked or muted, each with Unblock or Unmute. Blocks and mutes are in your data download (the riders you blocked and muted, never who blocked you), and they go when you delete your account.
On your device
Spoke Crew sets no cookies. It keeps these in your browser's own storage instead:
- Your sign-in, so you stay signed in. Signing out removes it from that device.
- Your email address while you wait for a sign-in code, for up to an hour, so a reload doesn't lose your place.
- On the sign-in page, the check from Cloudflare Turnstile (see Services we use) can keep a small item of its own in your browser's storage. It isn't one of ours, and we can't read it.
- A ride while you record it, so a crash or a closed tab doesn't lose it, until you save or discard it, or sign out (signing out asks first, then throws it away, so the next person on the device can't see it). If your session ends by itself, the ride is kept for you and kept from anyone else who signs in on the device; once someone else is signed in there, it is deleted 7 days after its last recorded point unless you come back for it.
- Anything you save or post while offline, until it reaches us.
- Map regions you download for offline use, pages and map tiles you have opened (so they work offline), and your saved routes while you are signed in.
- Settings: theme, units, map layers, where the map was, the ride charts you picked, and voice and low-power choices for navigation.
- Explore's last view, so it can pick up where you left off: where you were looking (with a place you chose, its name and location), the mode, the sort and the filters. It stays until your next visit replaces it, and is used for up to 30 days, the filters for up to 7. Signing out doesn't remove it. Clear, on Explore's “Filters from your last visit” line, drops the filters. It also notes once you have measured from a place or your location, or closed Explore's “how far” tip, so the tip stays away.
- While you are signed in, when this device last asked us to clear away the files of photos you deleted.
Your browser's “clear site data” removes all of it. Rides or posts still waiting to be sent are lost if you do that while offline.
Services we use
We don't sell personal data or share it for advertising. These services handle it for us, to run Spoke Crew:
- Supabase holds the database, sign-in and photo files, so it holds everything in “What we collect”. Your browser talks to it directly, so it sees your IP address.
- Resend, our email service, sends your sign-in emails, so it sees your email address and the code.
- Cloudflare Turnstile checks, on the sign-in page only, that a request for a code comes from a person and not a script. Your browser loads it straight from Cloudflare, so Cloudflare sees your IP address and details about your browser while you are on that page. We don't send it your email address. It can keep a small item of its own in your browser's storage, which is Cloudflare's and not ours.
- Cloudflare Email Routing forwards mail sent to our @spokecrew.com addresses to our inbox, so it sees what you write to us and your email address.
- Vercel hosts the website and runs our server. When they are switched on, Vercel Web Analytics and Speed Insights count page views and measure load times without cookies.
- Sentry, when error reporting is switched on, receives the error reports described above, with personal details removed. We also set it not to store the address a report came from.
- OpenAI, when content screening is switched on, checks what you post before other riders see it. It receives the words you post, exactly as you wrote them: comments, condition-report notes, reviews, notes on list items, route guides, the names and descriptions of your rides, plans, lists, crews and group rides (with their meeting places), and your handle and display name. It also receives each photo you add, with its caption. They are sent from our server, so OpenAI doesn't see your IP address. We send no email address or account details, and photo files carry no location data, but anything you wrote in the words themselves (a name, a place) goes as written. OpenAI says it does not use this to train its models and does not keep it after answering. We keep the result (approved, or not shown and why) until you delete the post. If we turn something down by hand, or flag a photo for a closer look, a record of that decision stays after the post or your account is deleted, as with the other moderation records below.
- OpenFreeMap, Terrain Tiles on AWS and the USGS National Map serve the map tiles your browser shows. Like any website, they see your IP address and which part of the map you are looking at.
- Wikimedia Commons photos of places are fetched by our server, not your browser.
- The National Weather Service gives the forecast for a trail. Our server asks for the trail's location, never yours.
- Google, only if you choose to sign in with Google.
- Google Maps, Apple Maps or Waze, only if you tap Directions and then Drive or Ride there: the link opens your maps app (Apple Maps on an iPhone or iPad, Google Maps elsewhere, until you choose another in Settings) with the destination. If you choose Waze, Ride there opens Google Maps, since Waze has no bike mode. Which app you choose stays on your device.
Placeholder for legal review
Garmin, only if you connect Garmin and send a trail or a route (Send to Garmin, not available yet). Unlike the services above, Garmin doesn't only handle it for us: once a course is in your Garmin Connect account, Garmin holds it, and under its agreement with us may copy, change, show and pass it on, under its own terms and privacy policy. You agree to that, in a notice, before the first course is sent. To be confirmed by counsel against the Garmin Connect Developer Program Agreement before Send to Garmin is available.
We will share personal data outside these services only if the law requires it, to protect someone from harm, or as part of handing Spoke Crew to a new owner who keeps this policy.
How long we keep it
- Your account and what you save or post: until you delete them, or your account. Deleting a ride deletes its photos; their files are deleted straight after, and any we miss are removed within two days.
- Live location: only the latest position. It is cleared when you stop sharing, or within 15 minutes after a share runs out. A record that the share happened, without any position, stays until you delete your account.
- Condition reports: they leave the trail page, the feed and your public profile when they expire (most after 2 to 7 days; a trail manager's official notice can run up to a year). You still see them in your own history. We keep them until you delete your account, and retracting one hides it from everyone but keeps it until then too. A report's photo is kept with it, privately once the report has expired; retracting the report deletes its photo, and deleting your account deletes them all.
- Notifications: 90 days, the same as you see. A daily clean-up deletes older ones, so one can last a day longer.
- Blocks and mutes: until you undo them, or until either rider's account is deleted.
- A photo screening turns down: deleted, with its files, 30 days later, unless you delete it sooner. One flagged for a closer look, or one we hid, is kept privately until we have decided it, even if you delete it or your account: deleting takes it out of your view and everyone's, but we may have to keep it, and report it, by law.
- Reports you send about other riders' posts (the reason and any note): until your account is deleted. They are never shown to the rider you reported.
- If we suspend or close your account, a record of what we decided, when and why. If we close it, or a payment is disputed, we also keep a one-way scrambled form (a hash) of your email address, so the same inbox can't sign up again. If you delete an account that is suspended or closed, has a payment dispute open, or had posts hidden, we keep a short record of it as the account is deleted: the hash of its email address, the account's status and reason, the dates, and how many disputes and hidden posts it had. Nothing you wrote is kept. Only a suspension or closure still in force, or an open dispute, stops that inbox signing up again; hidden posts, or a suspension that has ended, don't. We keep these after the account is deleted, because they are how we stop someone coming back to cause the same harm. Reopening an account deletes its hash.
- The record of when you saved rides, which keeps saving fair: at most 3 days (it is kept 2 days, and the next daily clean-up deletes it). The record of which GPX files you downloaded: until your account is deleted.
- The sign-in log (your email address, the time of each sign-in and the address it came from): 30 days, and it is cleared when you delete your account. A device's IP address and browser type stay with its sign-in until you sign out on it, or delete your account.
- Error reports, once error reporting is on: deleted by Sentry after its retention period, at most 90 days.
- Server logs at Vercel and Supabase, which include IP addresses, the lines our own server writes into Vercel's log (described under What we collect), and database backups: kept for a short time, then deleted in turn. Something you deleted can stay in a backup until that backup expires.
Placeholder for legal review
Your choices
- Who sees a ride: pick “Everyone” or “Only me” when you save it, and change it later on the ride page.
- Privacy zones: add up to 10 under Profile and privacy. They hide what others see; the full track stays yours.
- Followers: in the same place, choose to approve each rider who asks to follow you.
- Block or mute a rider, and undo it under Blocked and muted in the same place. See Blocking and muting.
- Download your data: your account gives you a file with everything you have saved or posted, your notifications, the kudos you gave, the riders you blocked and muted and the records we keep about you (live shares, saves, GPX downloads, your answers on condition reports, the notices you turned off, the rides whose host updates you muted, the crews whose new-ride notices you turned down, the rides whose new comments you asked to hear about, the towns you asked to hear of new rides near (with the distance and filters, never where you were), trail-manager grants and notes, the rides you co-host and the dates you led) as JSON, and your route plans as GPX. Your rides' tracks, with their times, are separate GPX downloads under it, one per year, and a busy year in several parts. Not in any of it yet: your photos' image files, and your bikes with their parts and service history. Ask us for those.
- Change your email from your account.
To report another rider's post, choose Report from its ⋯ menu (see the Terms). The rider is never told who reported them.
Wherever you live, you can ask us what we hold about you, to correct it or to delete it, and we won't treat you differently for asking. To ask, write to privacy@spokecrew.com. We will check that the account is yours before we act.
Deleting your account
Go to your account, choose Delete my account and type the words it asks for. That deletes your sign-in and its log, profile, rides and tracks, privacy zones, photos and their files, comments, kudos, group rides you host, routes, lists, saved trails, follows, blocks and mutes (yours, and any that name you), notifications, bikes and live shares. Crews you own pass to another member, or are deleted if no one is left.
Your trail reviews and public condition reports stay on the trail as “Former rider”, without your name, because other riders rely on them. Tick the box to delete those too. The words you wrote stay as written, so remove anything that names you first.
If you can't sign in to delete your account, write to privacy@spokecrew.com. Before we delete anything, we will ask you to show the account is yours, for example by confirming from its email address.
Children
Spoke Crew is not for children under 13, and we don't knowingly collect anything from them. If you believe a child under 13 has an account, write to privacy@spokecrew.com and we will delete it.
Keeping it safe
Everything travels encrypted. The database decides who can read each row, so a private ride stays private even to someone calling our servers directly. No system is perfectly secure; if a breach affects your data, we will tell you as the law requires.