Privacy Policy
Last updated: October 4, 2026
Pythn Development ("we") operates the PermitNav mobile app. This policy explains what we collect and how we use it.
Information we collect
- Account: your email address (and name, if provided via Apple/Google sign-in).
- Permits: permit PDFs you upload and the structured data extracted from them (route, dimensions, conditions). Stored privately and tied to your account.
- Routes and searches: route origins, destinations, waypoints, vehicle dimensions, saved routes, place identifiers, and search text you choose to save. Active routes are sent to our routing services to calculate directions.
- Location: while you are actively navigating, your device location is used to provide turn-by-turn guidance, automatic rerouting, and the local driver log. Guidance progress is processed on-device. The driver log stores mileage, time, and its latest sample on your device; we do not upload a continuous GPS history or sell your location. From version 1.2.6, while Google's Navigation SDK guides a car trip (see "Third parties we share with" below), your location during that trip is sent to Google.
- Purchases: subscription/credit status (via RevenueCat and the App Store / Google Play). We do not receive your full payment-card details.
- Diagnostics: crash and error reports, sent to our own server (hosted on Supabase). A report carries the error and its stack, the app version and update, the platform, and a short trail of what the app was doing beforehand (for example, which screen was open and that a route was started). During a drive that trail can include positions along the route. On iPhone a report can also include iOS's own crash, hang and CPU reports (MetricKit) and, when the CarPlay map stalls, a short excerpt of the app's own system log; on Android, the reason Android ended the app. Reports made while you are signed in are linked to your account so we can follow up; reports made while signed out are linked to no one.
From version 1.2.6 the app also sends crash and error reports to Firebase Crashlytics, a Google service that processes them for us: crashes of the app, errors with their stacks (for an error on a screen, also which part of the screen failed), device and operating-system details, which app version and update were running, and random identifiers for your installation of the app (a Crashlytics installation ID and a Firebase installation ID). Crashlytics also records when the app comes to the foreground or goes to the background, to group reports into sessions, and the type of network connection. These reports carry no positions and no trail of what the app was doing, and they are not linked to your account.
How we use it
- To parse your permit, build and display your route, and provide navigation.
- To manage your account, entitlements, and purchases.
- To investigate route-error reports and improve accuracy and safety.
- To provide support and comply with legal obligations.
Third parties we share with (as processors)
- Supabase — authentication, database, and file storage.
- Anthropic (Claude) — to extract structured data from your uploaded permit PDF. PDFs are sent for processing and are not used to train models.
- Google Maps Platform — maps (Maps SDK) and place search (Places API) on every platform: iPhone, Android, CarPlay and Android Auto. Google's processing is governed by the Google Privacy Policy. Apple Maps is no longer used: a route an earlier version saved to a place found with Apple Maps is hidden and never looked up again — search for the place again.
- Google Navigation SDK (part of Google Maps Platform) — from version 1.2.6 it guides the car trips Google routes: a car-mode trip and, on a free account, the drive to a permit's starting point and "Guide me back" to the permitted route. For such a trip Google receives its stops (their map coordinates only, never the names you gave them), the route you previewed, your phone's location for the length of the trip, and the SDK's own usage and diagnostic data: device and app details, IP address, reports of crashes in the SDK's code and of the app ending abnormally, how its navigation features are used, and an identifier that Google resets regularly. Google uses this to provide turn-by-turn guidance and live traffic and to improve its services, under the Google Privacy Policy and the Navigation SDK terms the app shows before the first such trip; if you decline those terms, PermitNav guides the trip itself. Permit and truck legs never reach the Navigation SDK: PermitNav guides them itself.
- Google Firebase Crashlytics — crash and error reports from version 1.2.6, as described under "Diagnostics". Google processes them for us under Firebase's data processing terms and keeps them for 90 days before it begins deleting them.
- Google ML Kit (Android only) — from version 1.2.6, scanning permit pages on Android uses Google's ML Kit document scanner, which runs in Google Play services on your phone. The pages are scanned on the phone, and the ones you keep reach PermitNav like any other photo of a permit. ML Kit sends Google diagnostic and usage data about the scanner — device and app details, performance metrics, error codes, and device and per-installation identifiers — not the pages. On iPhone, page scanning uses Apple's document camera, which is part of iOS.
- OpenStreetMap contributors — road, routing, and posted-speed-limit data, processed through our Valhalla routing service. PermitNav does not send your live device location or route request to OpenStreetMap.
- New York State Department of Transportation (NYSDOT) — public, statewide posted-speed data is periodically copied into our service. No route, user, device, or live-location data is sent to NYSDOT.
- Public address and road sources, including the U.S. Census Bureau and state transportation agencies, may be used to resolve permit locations.
- RevenueCat and Apple/Google — purchases and sign-in.
Android Auto and CarPlay project the navigation experience onto your vehicle display. Projection itself does not add advertising or a separate analytics service. The crash and diagnostic reporting described above keeps running while the app is projected, and on CarPlay it is what records the short system-log excerpt when the car map stalls.
We do not sell your personal information.
Retention & your choices
- You can delete a permit or route in the app at any time. Deleting a permit does not delete the permit document you uploaded for it (see "Uploaded permit documents are kept" below).
- You can delete your account in the app, or request deletion by emailing [email protected]. Deleting it removes your profile, saved permits, routes and drive history, but not the permit documents you uploaded (below).
- When you accept the Terms of Service and Privacy Policy, or the safety acknowledgement shown before driving, PermitNav records which version you accepted and when: on your phone and, from version 1.2.6, with your account on our servers, together with the app version and platform you accepted it on. These acceptance records are deleted with your account.
- Crash reports in Firebase Crashlytics are linked to no account, so deleting your account does not delete them; Google keeps them for 90 days before it begins deleting them. What Google's Navigation SDK and maps receive is kept by Google under the Google Privacy Policy, not in your PermitNav account.
- We retain Google place references and cached coordinates only as Google permits: place labels and addresses are not retained as a provider cache, and cached coordinates expire within 30 days. Your recent and saved places are kept on your phone only, per account, not on our servers.
- Geocoded permit endpoints. When we resolve a place printed on a permit's route (usually a street address) to map coordinates, the answer is kept in a shared cache for up to 30 days (7 days when the place could not be found). Each row is keyed by a hash of the printed text, the permit's state and the geocoder that answered — never by your account or your permit — and holds the geocoder's own coordinates and label for that point. Because no row can be tied to an account, the cache is not deleted with your account.
- Removing the app clears locally stored navigation and driver-log data and your recent and saved places.
- Encrypted backups of our database and of the permit documents are kept for up to 90 days and then expire. Deleting your account removes your data from the live service at once; a backup made before the deletion holds it until that backup expires.
Uploaded permit documents are kept
Deleting a permit, or your whole account, does not delete the permit documents you uploaded. We keep every permit PDF you upload, whether or not PermitNav could read it, and the photos of a permit from a state PermitNav does not read yet. (No other photos are stored.) We keep these documents to improve how PermitNav reads permits and to add support for more states, and we may process them again for that purpose, including through Anthropic and Supabase as described above. They are not used to train third-party AI models.
While your account exists, the documents you upload stay in your account's private storage folder, even after you delete the permit they belong to. When your account is deleted, each of them is moved to a new, randomly named file in our private file storage (Supabase) that is linked to no account: neither the file's name nor its storage record carries your account's identifier, and your account, its email address and any saved permit that pointed to the document are deleted. We keep no record of which account a kept document came from, although backups made before the deletion hold it under your account until those backups expire (up to 90 days). If a document cannot be moved at once, we move it the same way later. The document itself still contains whatever is printed on it, such as the permit holder's name and address and the vehicle and route details.
Security
Data is encrypted in transit. Permit files are stored in a private bucket accessible only to your account. No method is 100% secure.
Children
PermitNav is for commercial drivers and is not directed to children under 13.
Changes
We may update this policy; material changes will be noted in-app.