Serpentine — Privacy
Last updated: 2026-10-27.
Serpentine plans motorcycle rides. To do that it sends your starting point to Serpentine's own server, which plans the route and forgets it. No accounts. No analytics. No ads. No tracking.
The map and the place search are not Serpentine's own. They come from the company that made your phone's software — Apple on iPhone, iPad and Mac, Google on Android — and that company sees what a map and a search need to see. On Android, Google's map software also reports on its own use. Both are spelled out below.
What the app sends, and to whom
- Your ride request, to Serpentine's server. When you tap Plan, the app sends the start
point (your location or a place you searched for), the kind of ride, distance, twistiness,
direction and, if you turned on charging, your starting battery level, over HTTPS to
serpentine.phfactor.net. That server is run by Paul Hubbard, an individual developer, on his own hardware. There is no account and nothing that identifies you or your device in the request. - What the server keeps. The planned ride (including its start point and route) stays in the server's memory for up to 24 hours so that "Share GPX" and repeat requests work, then it is discarded. It is never written to disk, never logged and never shared, except as below.
- Charging stops, via NREL. Only if you turn on charging: to find chargers along the ride,
Serpentine's server sends the shape of the route (a line on the map, with nothing about you or
your device) to the U.S. Department of Energy's Alternative Fuel Stations API
(
developer.nlr.gov, formerly NREL). Your phone never contacts it directly. - Whether a charger works, via Open Charge Map. Only if you turn on charging: once stops
have been chosen, Serpentine's server asks Open Charge Map (
api.openchargemap.io) what riders report about those particular chargers — whether they are in service, when one was last confirmed working, and whether anyone recently failed to charge there. It sends only the coordinates of those chargers, nothing about you, your device or the rest of your route, and your phone never contacts it directly. A stop reported out of service is dropped and replanned. - On iPhone, iPad and Mac: maps, place search and navigation, via Apple. The map, the place search and turn-by-turn guidance are Apple Maps. Search terms go to Apple, not to Serpentine, and when you tap "Navigate in Apple Maps" the planned stops are handed to the Maps app. Apple's privacy policy covers those.
- On Android: maps and place search, via Google. The map and the place search are Google Maps, built into the app as Google's own software. To draw the map it fetches, from Google, the part of the world you are looking at. When you search for a place, your search terms go to Google, not to Serpentine, along with the point to search around: your start point or location if you have set one. When you tap "Navigate in Google Maps" the planned stops are handed to the Google Maps app. Google's software also sends Google some things on its own account — your IP address, the make, model and Android version of your phone, an identifier it makes up to count how many people use its maps inside apps, how the map is moved and zoomed, and crash reports about itself. Serpentine never receives any of that. Google's privacy policy covers it.
To stop one person or a script taking the whole service, the server counts recent requests per caller for a few minutes. It keys that on a scrambled form of your address, not the address itself, and the scrambling changes every time the server restarts, so it can't be turned back into you.
The server also keeps counts of its own work — how many rides were planned in an hour, how long they took, what failed, and which kind of device asked (iPhone, iPad, Mac, Android or a browser) — to see that it is healthy and to know which apps are worth the effort. They are only counts: no locations, no routes, no addresses, nothing tied to a person or a device, and they never leave the machine they're on. The kind of device is a tally, not a fingerprint: the app sends one word and the server adds one to a running total.
Serpentine contacts no other services. It contains no third-party code, SDKs, analytics or crash reporting beyond the platform's own: Apple's on iPhone, iPad and Mac, and on Android Google's Maps and Places software, which does the reporting described above.
Location
Serpentine asks for location only while you are using the app, and reads it once each time you ask for something that needs it: Use my location to set the start of a ride, finding a charger, or putting a ride down and carrying on with it. It never tracks you in the background. You can revoke it at any time — on iPhone and iPad in Settings → Privacy & Security → Location Services → Serpentine, on Android in Settings → Apps → Serpentine → Permissions — and plan from a searched place instead.
Server logs
The web server in front of Serpentine keeps an access log to spot abuse: the time, the kind of
request (for example /v1/plan), whether it worked and how long it took, and a
truncated IP address (only the first half of an IPv4 address). It does not record locations,
routes, request contents or browser details. Log entries are deleted after 30 days.
Serpentine's own server log records only the kind of ride and summary numbers such as its length and how long planning took.
On your phone
Your plan settings stay in the app. When you share a GPX file, the app saves it to its own temporary storage so the share sheet can send it where you choose. Nothing is uploaded anywhere else.
The web test page
serpentine.phfactor.net/v1/ is a test page for the same planner. It loads nothing
from other websites: its map images are fetched by Serpentine's server from OpenStreetMap and
cached there, so OpenStreetMap never sees you. Map data © OpenStreetMap contributors.
Money
Serpentine is free, and there is no payment of any kind inside it: no in-app purchases, no
subscription, no card details, no payment processor on this site. The product page links to a
donation page on buymeacoffee.com, which is a different company's website with its own
privacy policy and its own cookies; nothing connects a donation there to anything you plan here, and
Serpentine cannot tell whether you have given anything.
Children
Serpentine is a route planner for licensed motorcycle riders and is not directed at children.
Contact
Questions or concerns about Serpentine and your data: pfh@phfactor.net.