Tornee ("we", "our", or "the app") is a delivery route optimization application. This Privacy Policy explains how we collect, use, and protect your information.
1. Information We Collect
Location Data
Tornee requests access to your device's location to:
- Show your position on the map
- Optimize delivery routes from your current location
- Provide turn-by-turn navigation directions
Your precise GPS location is used in real-time and is not stored or transmitted. When you use background location for navigation, your position is processed locally on your device.
Separately, we collect approximate location data (~5 km precision) when our routing engine cannot place one of your delivery stop coordinates on a known road — see the "Analytics and Crash Data" section below for details.
Account Information
If you choose to create an account, we collect your email address for authentication purposes. Account creation is optional — the app works fully offline without an account.
Delivery Route Data
Your delivery stops (addresses, recipient names, phone numbers, notes) are stored locally on your device using encrypted local storage. If you sign in, route data is synced to Firebase Cloud Firestore to enable access across devices. You can use the app without signing in, in which case no data leaves your device.
Analytics and Crash Data
We collect usage data and crash reports to improve app stability, understand feature usage, and identify regions where our routing service has poor coverage. This includes:
- App interactions (e.g., routes created, stops completed, paywall views, subscription purchases)
- Crash logs (device model, OS version, stack traces)
- App language preference
- Approximate region of routing issues — when our routing engine cannot snap one of your stop coordinates to a known road, we log the location of the issue at ~5 km grid-cell precision (geohash level 5) along with a country code. This helps us identify regions to prioritize for routing data improvements. We never log exact addresses, recipient details, or any other identifying information about a stop. Operators can disable this telemetry remotely or sample it down via Firebase Remote Config without an app update.
- Subscription tier and purchase events (which plan was bought, monthly vs. yearly), so we can understand the upgrade funnel
This data does not include names, recipient details, exact addresses, phone numbers, or notes you write on stops. It is processed by Firebase Analytics and Firebase Crashlytics, identified by an anonymous device-level Firebase Instance ID.
Microphone
If you use the voice input feature to add addresses, microphone audio is processed by the device's speech recognition engine. Audio is not recorded or stored by Tornee.
2. Third-Party Services
Tornee uses the following third-party services:
- Mapbox — for map display, geocoding (address search), route optimization, and turn-by-turn navigation. When you search for an address or optimize a route, address data is sent to Mapbox APIs. Mapbox's privacy policy: mapbox.com/legal/privacy
- Google Places (Pro feature, optional) — for address suggestions in regions where Mapbox coverage is limited. Only enabled for Pro subscribers and only triggered when Mapbox returns no relevant local matches. When triggered, the text you type and your approximate GPS coordinates are sent to Google to retrieve nearby addresses. We act as the data controller; Google acts as data processor under their Data Processing Addendum. Legal basis under GDPR: legitimate interest in providing accurate address search. We do not cache Google's address data — only the specific address you select is saved as part of your route. Google's privacy policy: policies.google.com/privacy
- Firebase Authentication — for optional account sign-in. Firebase's privacy policy: firebase.google.com/support/privacy
- Firebase Cloud Firestore — for optional cloud sync of route data when signed in.
- Firebase Analytics — for usage statistics (feature usage, screen views, subscription funnel) and approximate-location coverage diagnostics (~5 km grid cells when a routing issue is detected — never exact addresses). Events are identified by an anonymous Firebase Instance ID, not by your account or email.
- Firebase Crashlytics — for crash reporting and app stability monitoring. Collects device model, OS version, and crash stack traces.
- Firebase Remote Config — for app version checking and feature configuration. No user data is collected.
- RevenueCat — for managing subscription purchases and entitlements (Pro and Pro Plus tiers). RevenueCat receives an anonymous app user ID, your purchase events from Apple App Store or Google Play, and the country your purchase was made in. RevenueCat acts as our data processor. Their privacy policy: revenuecat.com/privacy
3. Data Storage and Security
All route and delivery data is primarily stored locally on your device. Cloud sync via Firebase Firestore is optional and only active when you are signed in. We do not sell, share, or transfer your personal data to third parties for advertising or marketing purposes.
4. Data Retention
Local data remains on your device until you delete it or uninstall the app. If you use cloud sync, your data is stored in Firebase Firestore and can be deleted by signing out or contacting us. Account data is retained only for as long as your account is active.
5. Your Rights
You can:
- Use the app without creating an account (fully offline)
- Revoke location permissions at any time in your device settings
- Delete your routes within the app
- Request deletion of your account and associated cloud data by contacting us
6. Children's Privacy
Tornee is not intended for use by children under 13. We do not knowingly collect personal information from children.
7. Changes to This Policy
We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated revision date.
8. Contact Us
If you have questions about this Privacy Policy or your data, contact us at: