PlanGames
Settings
Theme
Distances

Privacy

Last updated: October 25, 2026

The short version

The core trip builder works with no account, and the trips you make stay on your own device until you sign in. We collect what we need to run the map, save your trips, take payment, and keep the service working and free of abuse. That last part means we do store your IP address, and the section below says exactly where and for how long. We do not sell your personal data, and we do not use it for advertising.

Below is the long version, in plain English. If anything is unclear, email us at support@onemoreroad.com.

Who we are

One More Road (onemoreroad.com) is run by Mason M. and Michael C., who operate it together. We are the controllers of your personal data, and "we", "us", and "our" refer to us. For any privacy question or to exercise a data right, contact us at support@onemoreroad.com.

EU / UK representative. We have not appointed an Article 27 representative; we rely on the exemption for occasional, low-risk processing that does not involve large-scale special-category data.

We have not appointed a statutory Data Protection Officer; we do not believe our processing meets the threshold that would require one.

What we collect, and where it comes from

You can use the builder without an account. Even then, your browser generates a random, pseudonymous visitor ID so we can count usage, and your trips are stored locally on your device. The categories below cover both anonymous visitors and account holders.

Account data

If you sign up, we store your email address and a Cognito user ID. You can optionally add a first and last name, and you get a username (a public handle, defaulted from the part of your email before the "@", which you can change). We also store an optional "how did you find us" answer (reddit, google, tiktok, an ad, a friend, or other). Sign-in is handled by AWS Cognito, including "Continue with Google". We also record when you last signed in and, unless you opt out of usage statistics, when you were last active.

Billing data

If you buy a paid plan, we store a Stripe customer ID, your subscription status, plan interval (monthly, yearly, or lifetime), and the billing period dates. We do not store your card number. Stripe handles all card data; we never see it.

Trip and content data

Trip names, stops (coordinates, labels, notes), colors, routing preferences, the computed route geometry between stops, groups ("Past", "Planned", and custom groups), routes you follow or share, and your saved places (a name, coordinates, and optional address, note and color for each, including any you import from a Google Takeout file). Because trips and saved places are made of places and routes, they can reveal where you have been or plan to go. While signed out this lives in your browser; on first sign-in it is claimed onto your account and saved to our servers.

Map searches and routing coordinates

When you search for a place or build a route, the search text and your stop coordinates are sent to our mapping providers (see "Who we share data with") so we can return suggestions and compute the driving between stops. No account is required.

First-party product analytics

We measure usage ourselves in two ways. First, your browser sends usage events (for example, exporting a trip or changing the map style) to our server. In the EU, EEA, UK, Switzerland, Quebec, or where we cannot tell your location, it sends none until you click Accept. It also sends none after you click Decline, or if your browser sends Global Privacy Control and you have not clicked Accept. Clicking Accept overrides Global Privacy Control. Second, when you use a feature that calls our API (computing a route, sharing, importing, and similar), our server records that action for our own statistics: aggregate counts, daily, weekly, and monthly active users, and which features are used. Records other than the aggregate counts are tied to your account ID, or to a random anonymous visitor ID (a UUID) created in your browser if you have no account. The ID carries no name, email, or device fingerprint. We do not share these records and do not use them for advertising. If you click Decline in "Cookie preferences", or your browser sends Global Privacy Control and you have not clicked Accept, that browser adds an opt-out header to every request and our server stops recording your actions and counting you as an active user from then on. Our server still adds each action to an anonymous total (for example, the number of routes computed that day) that holds nothing identifying you or your browser. This applies per browser, so repeat it on each device. Account creation and subscription events, which reach us from our sign-in and payment providers rather than your browser, are still recorded. Records we keep for security (IP-ban activity), rate limits, and plan limits continue. In the regions above, recording of your actions continues until you click Decline. This is a free, one-click way to object. When you sign up, the anonymous ID is linked to your account so earlier activity is attributed to you.

IP address

Every request reaches us with your IP address, and we store it in more than one place. It is written onto each per-action journal row, for signed-in and anonymous visitors alike (kept 180 days); onto the once-a-day activity marker for anonymous visitors only, so one person cycling visitor IDs is not counted as several people (about 400 days); and into a per-IP index that links an IP to the visitor IDs and account IDs seen from it (30 days for anonymous entries, 90 days for account entries). If an IP is blocked for abuse, the address and the reason are stored on the block record (about 400 days). Your IP is also the key we count requests against for rate limiting. We use it for abuse prevention, enforcing blocks, rate limiting, deduplicating usage counts, and operator triage. We do not use it for advertising or profiling.

Third-party analytics (Google Analytics 4)

Google Analytics 4 records the pages you visit, with identifying query values removed (only campaign and ad-click parameters such as utm_* and gclid are kept, and never the URL fragment), and high-level lifecycle and revenue events (sign-up, login, password reset, checkout start, purchase, share, trip creation). These carry plan names, opaque share IDs, and amounts, not your name or email. GA4 sets its own cookies and processes your IP and device data. In the EU, EEA, UK, Switzerland, Quebec, and where we cannot tell your location, Google's script is not loaded at all until you click Accept. Everywhere else, including the US, we keep it on by default with no banner. There Google Signals is off and Google's ad storage, ad user data, and ad personalization signals are denied. See "Cookies" below for how to turn it off.

Operational logs

We log technical details of requests and errors: route and handler, HTTP method and status, latency, a request ID, a user ID where signed in, and for client errors the page URL, user agent, release, and error message. URLs are recorded with authentication and token parameters stripped. Some log entries carry content: when a place-search or geocoding provider fails and we fall back to another, we record the search text (trimmed to 120 characters) or the coordinate we looked up, so the failure is diagnosable. If you send feedback from an upgrade prompt, the full text you type is stored as a log entry as well as emailed to us.

Daily games

If you play Detour, Fog of Road, Borderline, or Whereabouts, we store your play history (the day, your score, and the route you drew, or for Whereabouts each round's guesses) and a ranking row carrying your display name and score. Ranking rows are shown to other players on the public leaderboards. Both are kept indefinitely today: they have no expiry, and an account deletion does not remove them. Whereabouts free-play sessions are deleted after 7 days, and the list of locations you have already seen in free play is kept for 365 days to avoid repeats. Your daily Borderline drawings, including past days you play from the archive, are also merged into the Borderline Atlas, a public map of where all players draw each border. It shows only the combined density of many drawings, never one drawing, name, or account. A place appears only after at least 5 players have drawn it, and a spot stays blank until at least 3 drawings pass through it. Casual practice drawings are not used.

Release-note poll answers

When a What's New release note includes a poll, you can pick an option, write a comment of up to 500 characters, or both. We store the option, the comment, the time, and who answered: your account ID if you are signed in, otherwise your random anonymous visitor ID. You can answer each poll once. The operator results view shows the answers and comments and whether each came from an account, not who gave it. Answers tied to your account are deleted when you delete your account. Answers given under an anonymous visitor ID are kept until the release note itself is deleted, and clearing your browser's data does not remove them, so email us if you want one removed. A comment is free text, so leave out personal details.

Your public label

Your username is a public handle. Where you have not set one, some features fall back to the part of your email address before the "@" and show that instead: it is snapshotted onto share links you mint and shown to people you invite to collaborate on a trip. Setting a username replaces it going forward.

We do not knowingly collect special-category data (such as health or religion). Google acts as its own independent controller for the data it processes when you sign in with Google.

Why we use it, and our legal basis

For EU and UK users, the list maps each use to a lawful basis under the GDPR / UK GDPR. For California users, these are also our business and commercial purposes under the CCPA / CPRA.

  • Run the service (contract). Account management, saving trips, computing routes, geocoding searches, and processing payments through Stripe.
  • Keep it secure and working (legitimate interests). Security and abuse prevention, rate limiting, blocking abusive IP addresses, debugging through logs, and first-party product analytics. This is the basis we rely on for storing your IP address, including on the analytics events where it is visible to an operator. We have weighed these interests against your rights, and you can object to processing on this basis (see "Your rights").
  • Analytics cookies (consent). Google Analytics, our in-browser usage events, and any other non-essential cookies rely on your consent where the law requires it (the EU, EEA, UK, Switzerland, and Quebec); you can withdraw it at any time. Our server-side usage statistics rely on legitimate interests (above), and you can object by clicking Decline. Any future marketing email will also rely on consent.
  • Tax and financial records (legal obligation). Keeping billing records tied to your Stripe payments for as long as tax and accounting law requires.

We do not use your data for automated decision-making that produces legal or similarly significant effects (resolving your plan tier and enforcing usage caps is not such a decision).

Cookies, local storage, and similar technologies

One More Road does not use advertising cookies. The app mostly relies on your browser's storage (IndexedDB, localStorage, sessionStorage) rather than cookies, and sign-in tokens are kept in localStorage by the auth library (AWS Amplify), not in a cookie. We set no cookies of our own. The one exception is Google Analytics 4, which sets its own cookies.

Strictly necessary (used to deliver what you asked for)

Sign-in / session tokens (the auth library's CognitoIdentityServiceProvider.* keys) and your account's local copies: trips, groups, follows, and shared-trip caches (rt.trips, rt.groups, rt.serverCache, rt.pendingCreate, rt.followsCache, rt.hiddenFollows, rt.collabCache, rt.hiddenCollab, rt.lockedCollab). These are cleared when you sign out; if your session expires instead, trips that were never saved to your account stay on the device so they are not lost.

Anonymous visitor ID (rt.anonId)

A random ID created on your first visit and kept in IndexedDB. It lets you keep trips and game progress without an account, and it is linked to your account if you sign up. It is not removed when you sign out; it stays until you clear this site's data in your browser. rt.whatsNew remembers which release notes you have seen and holds a copy of this ID (while you are signed in it holds your account email instead, which is replaced by the ID when you sign out). rt.whatsNewPoll remembers which release-note poll you answered, the option you picked, and the results you were shown; it holds no comment and no email, only a hashed tag for your account (or "anon"), and the account-tagged entries are removed when you sign out. rt.games.claimPending remembers whether game progress still needs to move to your account.

Sign-in, sign-up, and checkout hand-offs

Short-lived items that carry state through a redirect and are removed once used or when the tab closes: where to return after sign-in (rt:post-auth-next), the trip you were editing (rt.resumeTrip), which sign-up prompt you came from (rt.signupSrc), a pending checkout (rt.pendingPurchase), shared trips being imported (rt.pendingSharedImport), a guest-trip claim in progress (rt.claimBatchId), a shared trip you just joined (rt.justJoinedCollab), a sign-out in progress (rt.signOutIntent), and the one-time notice after account deletion (rt.accountDeleted). rt.hadAccount is a yes/no flag that this browser has been signed in, so the header offers Sign in rather than Sign up; it stays after sign-out and is removed if you delete your account. rt.lastEmail prefills the email you last signed in with and is cleared on sign-out.

Your cookie choice

omr.consent (localStorage) stores the Accept or Decline choice you made in the cookie banner or in Cookie preferences. We work out whether to ask for consent from your country as reported on each page load, and do not store it.

Preferences and app state

Settings you chose and where you left off, kept only on this device: theme (rt.theme), distance units (rt.units), map style (rt.mapStyle), the last map position and zoom in the trip builder (rt.viewport), map marker and legend settings (rt.markerPrefs, rt.legendOpen, rt.legTimesInList), Reach settings such as drive time, colors, and speeds (rt.reach), the reachable-roads overlay (rt.reachableRoads, rt.reachableRoadsFilter), image export and drawing settings (rt.imageExport, rt.crayonDetail, rt.crayonTurnDeg), dismissed tips and prompts (rt.firstRunDismissed, rt.nameNudgeDone, rt.dunningStripDismissed, rt.promptDismissed.*, rt.promptSlot), a count of how many browser sessions you have opened so first-visit help can fade out (rt.sessionCount, with this tab's number in rt.sessionOrdinal), and a 7-day cache of ferry route lookups (rt.ferry.*). The games keep tutorial flags, board tabs, practice history, and in-progress round state (rt.detour.*, rt.fog.*, rt.borderline.*, rt.whereabouts.*, rt.satfinder.*, rt.regions.lastPlayedDay, and regiongame:session:v1:<modeId> for the Regions game's daily move budget).

Non-essential (analytics)

Google Analytics 4 cookies (_ga and _ga_*). In the EU, EEA, UK, Switzerland, and Quebec they require your consent.

If you are in the EU, EEA, UK, Switzerland, or Quebec, or we cannot tell where you are, Google Analytics is not loaded and our in-browser usage events are not sent until you click Accept. Everywhere else, including the US, both are on by default. You can change your choice at any time from "Cookie preferences" in the Settings menu, whichever country you are in.

Decline, or a Global Privacy Control signal when you have not clicked Accept, keeps Google's script from loading, stops our in-browser usage events, and tells our server to stop recording your actions from that browser, apart from anonymous totals that identify no one. Decline also deletes the Google Analytics cookies (_ga and _ga_*). Records we keep for security, rate limits, and plan limits continue.

Global Privacy Control. If your browser sends GPC and you have not clicked Accept, we treat it as a Decline in every region, and the banner stays hidden. Clicking Accept in Cookie preferences overrides it. GPC does not delete cookies set earlier; Decline does.

Do Not Track. One More Road does not respond to the Do Not Track (DNT) browser setting: there is no common standard for it, so a DNT signal does not change what the site does. We do honor Global Privacy Control, as described above.

Who we share data with

We share data only with the providers we need to run One More Road. We do not sell your personal data, and we do not share it with data brokers.

  • Amazon Web Services (AWS), us-east-2. Cognito (auth), DynamoDB (main store), S3 (large route geometry), API Gateway and Lambda (backend), CloudWatch (logs). All account and trip data lives here.
  • Stripe. Payments, subscriptions, and charges. Receives your email, a userId reference, subscription details, and charges/refunds.
  • Google. Google Analytics 4 and Google Sign-In, if you choose "Continue with Google" (Google is a separate controller for the data it processes). Google also receives a Google Maps short link if you paste one in to import a trip: we follow the link to find out where it points.
  • Mapbox and MapTiler. Place search and map tiles; receive your search queries and the map area you are viewing.
  • OpenFreeMap. The default basemap style and its tiles, so it receives the map area you are viewing.
  • OpenRouteService (ORS). Fallback routing and geocoding; receives stop coordinates and search text when used.
  • OpenStreetMap and Overpass. Open map data, plus ferry-route tracing (Overpass receives a ferry leg's start and end coordinates).
  • Apple Maps and Waze (only when you tap through). "Open in maps" hands the leg's start and end coordinates to whichever app you pick, in the link you open. Nothing is sent unless you tap it.
  • Operator alerting (Discord). Billing events that may need our attention - a new subscription, renewal, plan change, cancellation, or refund - are posted to a private channel we read, over a Discord webhook. Those alerts carry an internal user ID, the display name you chose if you set one, and the plan and amount. No email address, no card details, no trip data.
  • Self-hosted (Valhalla and Photon). Our primary routing and place-search engines run on our own infrastructure, so those coordinates and queries reach a third party only when we fall back to one of the services above.

Where a provider processes personal data on our behalf, we put data-processing terms in place with them.

California "sharing". We do not sell your personal information, and we do not use it for cross-context behavioral advertising. We honor Global Privacy Control (GPC) browser signals as an opt-out request.

International data transfers

If you are in the EU or UK, your personal data is transferred to and stored in the United States. Our infrastructure runs in AWS us-east-2, and most of the recipients listed above (Stripe, Google, Mapbox, MapTiler, Discord) are US-based. The transfer mechanism differs by provider and we are working through it recipient by recipient.

For these transfers we rely on appropriate safeguards, such as the EU-US Data Privacy Framework and the Standard Contractual Clauses (with the UK International Data Transfer Addendum for UK-origin data). To request more detail, email us at support@onemoreroad.com.

How long we keep it

  • Account and trip data: kept until you delete your account; deleting individual trips removes them sooner.
  • Operational logs: info-level for 7 days, warnings for 30 days, errors and fatal entries for 90 days, then automatically deleted.
  • Route cache: 30 days per leg. The cached row holds the driving line between two points, so it is a record of a route someone asked for, not just a counter. It is keyed by the coordinate pair, not by you.
  • Search caches: 1 day for results from providers whose terms forbid keeping them, 30 days for MapTiler results, and 90 days for results from our own self-hosted search. Reverse geocoding is cached for 1 day.
  • Analytics: Google Analytics 4 uses its configured retention (Google's default is 14 months). On our side, the first-party visitor ID stays in your browser until you clear your storage; the daily counters and activity markers expire after about 400 days; and the per-action journal rows, which carry your IP address, expire after 180 days (the daily activity marker for an anonymous visitor carries it too, for about 400 days).
  • IP records: 30 days for an anonymous entry in the per-IP index, 90 days for an account entry, and about 400 days for a block record.
  • Rendered trip videos: 30 days in storage, then deleted automatically. The job record that tracks a render expires after about a day.
  • Share links: no expiry by default. A link you mint keeps working until you revoke it or delete your account.
  • Daily-game results and leaderboards: no expiry. We keep them indefinitely, and if you delete your account the leaderboard rows stay but are anonymized. Drawings already merged into the Borderline Atlas stay in it; the atlas keeps no link to who made them.
  • Release-note poll answers: an account's answers are kept until you delete the account. Answers from an anonymous visitor ID, comments included, are kept until the release note is deleted.
  • Billing records: retained as long as tax and accounting law requires, even after you delete your account.

We do not run a separate backup archive. Our databases have point-in-time recovery turned on, which keeps a rolling restore window of roughly 35 days maintained by AWS. Deleted data can therefore still be present in that window, and drops out of it as the window rolls forward. We do not keep older copies or previous versions of stored files.

Your rights, and how to exercise them

Depending on where you live, you have the following rights. You can delete your account yourself at any time from Account > Danger Zone > Delete my account, and edit your email, name, and username on the same page. To use any of the other rights, or to have your account deleted if you can't sign in, email support@onemoreroad.com. Before we act on an emailed access, deletion, or portability request, we verify that you control the account.

If you are in the EU or UK:

  • Access: ask for a copy of the personal data we hold about you.
  • Rectification: correct inaccurate data (most fields are self-editable on your account page).
  • Erasure: delete your account and data yourself from your account page, or ask us to (see the note below).
  • Restriction: ask us to pause processing while a dispute is resolved.
  • Portability: ask for your account and trip data in a structured, machine-readable format (you can also export individual trips as GPX, KML, or GeoJSON in the app today).
  • Object: object to processing based on our legitimate interests, such as first-party analytics.
  • Withdraw consent: where we rely on consent, withdraw it at any time; doing so is as easy as giving it.
  • Automated decisions: we do not make automated decisions with legal or similarly significant effects about you.

We respond within one month (extendable by up to two further months for complex requests). You may also complain to a supervisory authority: your local Data Protection Authority in the EU, or the Information Commissioner's Office (ICO) in the UK.

If you are in California:

  • Know / access: request the categories and specific pieces of personal information we collect, their sources, our purposes, and the recipients.
  • Delete: delete your account yourself from your account page, or ask us to, subject to legal exceptions (such as completing a transaction or keeping tax records).
  • Correct: correct inaccurate personal information.
  • Opt out of sale / sharing: we do not sell your data; see the California sharing note above for the analytics opt-out and our handling of Global Privacy Control signals.
  • Limit sensitive personal information: we minimize sensitive data and do not use it beyond permitted purposes.
  • Non-discrimination: exercising any right will not change the service or price you get.

We respond to California requests within 45 days (extendable by another 45). You may also contact your state Attorney General.

How deletion works today. Sign in and go to Account > Danger Zone > Delete my account. Deletion runs immediately, cannot be undone, and is logged for accountability. If you can't sign in, email support@onemoreroad.com and we run the same deletion for you once we have verified the account is yours. There is no self-serve "download my data" flow yet, so email us for a copy of your data. The deletion is not yet complete, and we would rather tell you exactly what it does than imply more than it delivers.

What deletion removes today: your trips, archived ones included, and the stored route geometry that goes with them, the share links you minted and their stored routes, your groups, your saved places, your answers to release-note polls, your collaborator access to other people's trips and theirs to yours, the routes you follow, your username reservation, your account record, and your sign-in account with AWS Cognito, which is disabled and signed out everywhere first. It also cancels any live subscription immediately, so a deleted account is never charged again; the unused part of the current billing period is not refunded.

What deletion anonymizes: your rows on the daily-game leaderboards. The score and the position stay, so the historical boards are not rewritten and nobody else's placement moves, but your name is replaced with a neutral placeholder and your chosen game display name is deleted. Your own game results are kept behind that anonymized row. Drawings already merged into the Borderline Atlas stay in it; the atlas keeps no link to who made them.

What it does not reach today: other people's follows of your shared routes, which stop resolving once your shares are gone; the collaborative edit history of a shared trip; trip videos you rendered and their job records; analytics events, activity markers, and per-IP records; log entries that carry your user ID; and your Stripe customer record with its invoices and charges. Most of those age out on the timetables above, from about a day for a video job record to about 400 days for an activity marker. Other people's follows and your game results have no expiry, so they persist until removed by hand.

If you want any of that removed too, email us from the address on the account and we will do it by hand. Your Stripe customer record, invoices and charges are deliberately kept: they are financial records we are required to retain for tax, and cancelling the subscription does not delete them.

Children

One More Road is a general-audience trip planner and is not directed at children under 16. We do not knowingly collect personal data from children under that age. If we learn that we have, we will delete the account and its data.

Security

We take reasonable steps to protect your data: HTTPS in transit, AWS-managed encryption at rest, sign-in managed by AWS Cognito, internal access scoped through IAM, and privileged operator actions restricted to an allowlist and recorded in an audit log. Card data is handled by Stripe, so we never see or store card numbers.

No system can be guaranteed perfectly secure. If a personal-data breach occurs, we will notify the relevant authorities and affected users where the law requires, within the timelines the GDPR sets.

Changes to this policy

We may update this policy as the product and the law change. When we do, we update the "Last updated" date at the top. For material changes we will give notice in the app or by email.

Contact us

For any privacy question or request, email support@onemoreroad.com. We are a small team and read every message.

This page is provided for transparency and is not legal advice. Governed by the laws of the State of Texas, United States.