Privacy

The short version: nothing leaves your phone, except when you opt in.

Last updated: 10 May 2026

OffTrail has no accounts, no analytics, no telemetry, no third-party SDKs. Tracks you import, rides you record, and offline maps you download all live in your phone's local storage. The only data that ever leaves the device is opt-in: live location during a Group ride session (over Apple iCloud), and basemap tile requests when you have a network connection.

What we collect on a server we operate

Nothing. OffTrail has no backend. There is no signup, no login, no profile, no leaderboard. We don't see how often you use the app, which features you tap, or where you ride.

What stays on your phone

You can back any of this up the way you'd back up any iOS app's local files (Files app, iCloud Drive backup, Finder sync). We don't see it either way.

Location

OffTrail asks for "When in Use" location permission so the user dot can render on the map and the rider can be tracked along an imported route. With your permission we keep listening to location updates while the app is in the foreground — that's how recording survives screen-lock and pocket use. Recording is suspended when the app moves to the background, to save battery. iOS shows its standard system blue bar while location is being used.

Your location is used in real time to render the map and write entries into your own ride recording. It is not transmitted anywhere — except during a Group ride session, where it is published to Apple iCloud as described below.

Group ride (opt-in, over Apple iCloud)

When you start or join a Group ride from Settings → Group ride, OffTrail uses Apple's CloudKit service to share live position with the riders you invite via QR code. Specifically:

Camera (QR scanner only)

OffTrail asks for camera permission only when you tap "Join a group ride". The camera runs while the QR scanner sheet is on screen, decodes the leader's share URL, and shuts off when the sheet dismisses. We do not store frames, do not write images to disk, do not transmit anything. The session ends; the camera light goes out.

Network requests we make

The app loads basemap tiles online when you're connected, so the map keeps looking fresh in places you haven't pre-cached. Tile requests go to:

These requests are subject to the respective providers' privacy policies. OffTrail does not intercept, log, or proxy any of them. If you are fully offline, the app falls back to what you have cached (or, for satellite, surfaces a "Satellite needs network" banner; for weather, the chip just hides).

External links from inside the app

The About screen has two opt-in outbound links: Share OffTrail (system share sheet seeded with the App Store URL + a short pitch) and Follow on Instagram (deep link to @offtrailgpx, falls back to Safari if Instagram isn't installed). Both open in their respective destinations and are subject to those services' policies. OffTrail does not collect anything before, during, or after the tap.

Review prompt

After three saved recordings on the same install, OffTrail asks iOS to surface its native App Store review sheet (SKStoreReviewController). The sheet runs entirely inside the system frame; we do not see your review or rating. Apple's own throttle limits this prompt to at most three appearances per rider per 365 days across the whole iOS device. We additionally store a one-shot flag locally so OffTrail itself doesn't re-prompt within the same install.

Analytics, tracking, ads

None. The app does not use Firebase, Mixpanel, Sentry, App Store Analytics, AdMob, or any equivalent. There are no third-party SDKs that phone home.

Children

OffTrail is rated 4+ but is not directed at children. Because we don't collect any personal data, no special children's-data provisions apply.

Changes to this policy

If we ever add a feature that involves transmitting data off your device, we will say so plainly here and ship it as an explicit opt-in (the way Group ride and Satellite are today). The "no-cloud, no-account, no-tracking" stance is a product principle, not a phase.

Contact

Questions or pushback: offtrail@offtrailapp.com.