Privacy Policy - Tijuana Unlocked
Effective date: May 4, 2026 Last updated: July 15, 2026
Tijuana Unlocked ("the app", "we", "us") is operated by Offshore Flow LLC, a New Mexico limited liability company ("Offshore Flow", "we"). This Privacy Policy explains what personal information we collect when you use Tijuana Unlocked, how we use it, who we share it with, and the rights you have over it.
If you do not agree with this policy, do not use the app.
Questions or privacy requests: support@tijuanaunlocked.com.
1. Who we are
Offshore Flow LLC New Mexico, United States support@tijuanaunlocked.com
Tijuana Unlocked is a cross-border travel companion app that provides U.S.-Mexico border crossing wait times, routing suggestions, local water-service alerts, Line Watch alerts, commute reminders, traffic information, and discovery of local places. The app is available on iOS and Android.
2. Scope
This policy applies to the Tijuana Unlocked mobile app and to the Firebase / Google Cloud backend that supports it. It does not apply to third-party services you reach through the app (for example, Apple, Google, the Customs and Border Protection website, CESPT, or the California Highway Patrol website). Those services have their own privacy policies.
3. What we collect
We try to collect only what the app actually needs to work. The categories below reflect what the current version of the app collects.
3.1 Account information
- Email address and a Firebase user ID (UID) when you sign in with email/password, Google Sign-In, or Sign in with Apple.
- If you sign in with Google, we receive the basic profile information Google returns, such as your email address, display name, and Google-issued ID token. We do not receive your Google password.
- If you use Sign in with Apple, Apple may provide your name and email address the first time you authorize the app. If you choose Hide My Email, we receive Apple's private relay address instead of your personal address.
3.2 User preferences and settings
- Language preference (English or Spanish).
- Crossing method (pedestrian or vehicle) and lane type (SENTRI, Ready Lane, All Traffic, or similar app labels).
- Preferred ports of entry, interests (food, pharmacies, ATMs, services, etc.), alert frequency, notification opt-ins, quiet hours, and alert channel selections.
- Saved areas, saved colonias, water zones, and similar alert subscriptions.
3.3 Commute plans
- Origin and destination labels and coordinates you choose when creating a commute plan, along with your preferred arrival time, active days, crossing, lane, push token, and enabled/disabled state.
- A cached copy of recently computed route segments for that plan.
- Runtime monitoring state used to avoid duplicate commute reminders, such as the last computed leave time, last wait estimate, and last alert time.
3.4 Line Watch settings and state
If you create a Line Watch, we store the settings needed to monitor your selected crossing and notify you when the wait drops below your chosen threshold:
- Selected crossing/lane pairs.
- Threshold minutes, active days, start time, optional end time, and enabled/disabled state.
- Origin mode (GPS or custom), origin label, and origin coordinates if you choose to save an origin.
- Expo push token used to send the Line Watch notification.
- Cached route segment information from your origin to the selected port approach.
- Runtime monitoring state, such as whether a selected lane is currently below the threshold, recent below-threshold streaks, and the last alert sent time.
3.5 Precise location (GPS)
- When you use a feature that needs your current location (for example, "Use GPS" as a route, commute, or Line Watch origin), the app reads your device's precise GPS coordinates through the standard operating system location permission.
- Location is read in the foreground, while you are using the app. The app does not request or use background location.
- Your coordinates may be sent to our Firebase Cloud Functions so Google Maps can compute a route.
- Your coordinates are not stored permanently on our servers unless you choose to save them as part of a commute plan, Line Watch, or another saved origin-based feature.
3.6 Push notification tokens
If you enable notifications, we register one or more Expo push tokens for your device and store them with your alert preferences, commute plans, or Line Watch settings so that our backend can send relevant alerts (border spikes, CESPT water outages, commute reminders, and Line Watch alerts).
3.7 Subscription state
Premium purchases are processed by Apple App Store or Google Play and managed for us by RevenueCat. RevenueCat receives our Firebase UID as the app user ID, store purchase and entitlement information, product identifiers, subscription dates, and related transaction state. Our backend stores a limited subscription mirror (for example: trial, active, grace period, expired), product/store metadata, and synchronization timestamps so Premium access can be enforced securely.
We do not receive or store your credit-card number, bank details, or full billing address. Apple and Google handle payment details.
3.8 Device, security, and diagnostic information
- Standard device information supplied by the operating system and Firebase SDKs, such as app version, OS version, device model, language, and Firebase-generated installation or app instance identifiers.
- Firebase App Check receives app/device integrity attestations from Google Play Integrity on Android or Apple App Attest/DeviceCheck on iOS so we can protect accounts, data, and backend functions from unauthorized clients. Development builds use separately allow-listed debug attestations.
- In release builds, Firebase Crashlytics receives crash and non-fatal error reports. These can include stack traces, app version, operating system, device context, network context, app state, Firebase UID, and developer-provided error tags, but are not intended to include your personal content. Crashlytics reporting is disabled in development builds.
- Firebase Analytics and Crashlytics are configured without advertising-ID collection or cross-app advertising tracking.
3.9 Support reports
If you choose Report a problem, we collect the category and note you submit, your Firebase UID and account email, your selected language, and basic diagnostics (app version, platform, OS version, and device model). The report is stored in Firestore and may be forwarded to our support mailbox.
3.10 Product analytics, search, and operational metrics
Firebase Analytics records product interactions and screen views using Firebase-generated device/app identifiers and our Firebase UID. Discover searches send the place query and relevant area or location context to our Cloud Functions and Google Places so we can return results.
Our backend records limited operational metrics, such as Places search request counts by neighborhood, search type, cache source, result count, and fallback use. These metrics are used to operate, debug, and manage costs for the service. They are stored as aggregate daily metrics and are not intended to identify individual users.
3.11 What we do not collect
For clarity, Tijuana Unlocked does not:
- Access your camera, photo library, microphone, contacts, calendar, health data, SMS, or call logs.
- Track your background location.
- Collect your credit-card or bank-account information.
- Run third-party behavioral advertising trackers.
- Sell your personal information.
- Operate child-directed features or knowingly collect data from users under 13 (see Section 10).
4. How we use your information
We use the information described above to:
- Authenticate you and keep you signed in.
- Deliver the core functionality of the app, including route planning, wait-time recommendations, saved commute plans, Line Watch alerts, water alerts, traffic alerts, and local discovery.
- Send push notifications you have opted into.
- Manage trial and subscription entitlement state.
- Keep the app reliable and secure: diagnose crashes, prevent abuse, rate-limit expensive backend calls, and respond to support requests.
- Improve service quality using aggregated operational metrics.
- Comply with law and enforce our Terms of Use.
We do not use your information to build advertising profiles, and we do not sell your personal information.
5. Legal bases (where applicable)
If you are in a jurisdiction that requires a legal basis for processing, such as the EU/UK, we rely on:
- Contract - to provide the app, manage your account, and manage subscription entitlement.
- Legitimate interests - to keep the app secure, diagnose crashes, prevent abuse, improve performance, and maintain operational metrics.
- Consent - for push notifications, precise location access, and any future features that require it. You can withdraw consent at any time by turning the feature off in your device settings or in the app's Preferences.
- Legal obligation - to respond to lawful requests and comply with applicable law.
6. Third-party service providers
We rely on a small number of processors. We do not give these providers the right to use your information for their own marketing.
| Provider | What they do for us | Data they process |
|---|---|---|
| Google / Firebase (Authentication, Firestore, Cloud Functions, Cloud Storage, Analytics, App Check, Crashlytics, and related Firebase services) | Core backend, accounts, data storage, protected function calls, product analytics, app/device attestation, crash diagnostics, security controls, and OCR of public CESPT water-outage PDFs only. | Email, Firebase UID, preferences, commute plans, Line Watch settings, alert preferences, push tokens, subscription state, app interactions, device/app identifiers and integrity signals, crash reports, and diagnostics. |
| Google Maps Platform (Directions, Geocoding, Places, Maps SDK) | Routing, address lookup, map tiles, queue approach probes, and points-of-interest for Discover. | Origin/destination coordinates, addresses, search queries, and fixed public route probe coordinates. |
| Google Sign-In | Optional account sign-in method. | Google account identifiers and basic profile information returned during sign-in. |
| Expo Push Service | Delivers push notifications to your device. | Expo push token and notification payload. |
| Apple App Store / Google Play | Processes app distribution and, if subscriptions are enabled, purchases, renewals, refunds, and cancellations. | Payment method, billing address, transaction history, and purchase metadata held by Apple/Google. We receive only limited entitlement or transaction state needed to operate the app. |
| RevenueCat | Validates store purchases, manages Premium entitlement state, restores purchases, and notifies our backend of subscription lifecycle changes. | Firebase UID as app user ID, product and store identifiers, purchase/renewal/cancellation state, entitlement status, and transaction metadata supplied by Apple or Google. |
6.1 A note on Cloud Vision OCR
We use Google Cloud Vision server-side to extract text from public PDF notices that the Comision Estatal de Servicios Publicos de Tijuana (CESPT) posts on its website for scheduled water outages. These PDFs are published by CESPT and contain no user data; we feed only those public PDFs into Cloud Vision. Your personal information is never sent to Cloud Vision for this feature.
7. Public-data sources
Tijuana Unlocked aggregates information from public government and safety sources. Our servers, not your device, fetch this data:
- U.S. Customs and Border Protection (CBP) border wait times at
bwt.cbp.gov. - Comision Estatal de Servicios Publicos de Tijuana (CESPT) programmed water-outage notices at
cespt.gob.mx. - California Highway Patrol (CHP) traffic incident data.
When we fetch from these sources, we send only a standard User-Agent header or equivalent anonymous request metadata and the minimum metadata each source requires. We do not send your identity or your location to them.
8. How we share your information
We share personal information only in these situations:
- With the service providers in Section 6, to the extent they need it to run the app.
- In response to a lawful request (subpoena, court order, or equivalent legal process), after reviewing its validity.
- To protect Offshore Flow, our users, or the public from fraud, abuse, security threats, or imminent harm.
- In connection with a corporate transaction (merger, acquisition, financing, reorganization, or sale of assets), in which case your information will remain subject to this policy or a successor policy at least as protective.
We do not sell your personal information, and we do not share it with third-party advertisers for cross-context behavioral advertising.
9. International data transfers
Offshore Flow LLC is based in New Mexico, United States, and our backend runs on Google Cloud infrastructure in the United States. If you use the app from Mexico, the European Union, the United Kingdom, or anywhere else outside the U.S., your information may be transferred to and processed in the United States, which may have data-protection laws different from those of your jurisdiction.
10. Children
Tijuana Unlocked is intended for users 13 years of age or older. It is not directed to children under 13, and we do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided us personal information, contact us at support@tijuanaunlocked.com and we will delete it.
11. Your rights
Regardless of where you live, you can:
- Access the personal information we hold about you.
- Correct information that is inaccurate.
- Delete your account and associated data. Account deletion is available in-app and through the account deletion page. Deleting your account removes your Firebase Auth record, entire user document tree, commute plans and state, Line Watch and alert state, alert preferences, stored push tokens, support reports, related user-owned records, and the RevenueCat customer record associated with your Firebase UID. Backups are purged on a rolling schedule of up to 35 days.
- Opt out of push notifications in-app or in your device's system settings. Opting out does not delete your account.
- Revoke location permission at any time in your device's system settings.
- Cancel your subscription at any time through the Apple App Store or Google Play if paid subscriptions are enabled.
To exercise any of these rights, email support@tijuanaunlocked.com from the email address on file. We will respond within 30 days, or sooner where required by law.
12. California privacy rights (CCPA / CPRA)
Where the California Consumer Privacy Act, as amended by the CPRA, applies to us, California residents have additional rights.
- Categories of personal information we collect - identifiers (email, Firebase UID, device identifiers, push tokens), geolocation (precise GPS when you grant permission), customer records (preferences, commute plans, Line Watch settings, alert preferences), commercial information (subscription or entitlement state), and internet/network activity or diagnostic information (basic app diagnostics, crash reports, protected backend request metadata).
- Sources - you, your device, public data sources, and the service providers in Section 6.
- Business purposes - providing the app, managing subscriptions or entitlement, sending notifications you requested, securing the service, debugging, and maintaining operational metrics.
- Sale / sharing - we do not sell or "share" personal information as those terms are defined under the CPRA. We do not use or disclose sensitive personal information beyond what is necessary to provide the service.
- Retention - see Section 14.
California residents can exercise the rights to know, delete, correct, opt out of sale/sharing, and limit use of sensitive personal information by emailing support@tijuanaunlocked.com. We will not discriminate against you for exercising these rights.
If you have an authorized agent, they may submit a request on your behalf with written proof of authorization.
13. Mexico privacy rights
If Mexican data-protection law applies to your use of Tijuana Unlocked, you may have rights to access, rectify, cancel, or oppose the processing of your personal data (commonly called ARCO rights), as well as any other rights provided by applicable law. You can exercise these rights by emailing support@tijuanaunlocked.com from the email address on file.
14. Retention
- Account data (email, UID, profile, preferences, alert settings): retained while your account is active, and deleted within 30 days of account deletion.
- Commute plans and Line Watch records: retained while enabled or saved in your account, and deleted when you delete them or delete your account.
- Runtime alert state (commute plan state, Line Watch state, border-spike state): retained as needed to operate alerts and avoid duplicate notifications, and deleted with your account.
- Push tokens: retained while valid or while associated with your alert preferences, commute plans, or Line Watch settings; stale tokens are cleaned up on a rolling basis.
- Support reports: retained while needed to investigate and respond, and removed from our live Firestore data when you delete your account. A support email already sent to our mailbox may remain under the mailbox's normal retention rules or as required by law.
- Subscription or entitlement records: retained while needed to provide paid access and removed from our Firestore and RevenueCat customer records when you delete your account, except records Apple, Google, or we must retain for legal, tax, fraud-prevention, or dispute purposes.
- Diagnostic and crash data: retained according to our Firebase Crashlytics project settings.
- Public-source caches (CBP wait times, CESPT notices, CHP alerts, route and place caches, queue approach probes): retained for caching, reliability, cost control, and historical trend analysis. These caches are not intended to contain personal information.
- Aggregated operational metrics: retained for service operations, cost management, and trend analysis.
15. Security
We protect your information with reasonable technical and organizational measures, including transport encryption (HTTPS / TLS), Firebase Authentication and security rules, server-only entitlement writes, authenticated callable functions, server-side handling of third-party API keys, rate limits, and audit/error logging. No system is perfectly secure, so we cannot guarantee absolute security. If we become aware of a breach that affects your personal information, we will notify you and the appropriate authorities as required by law.
16. Changes to this policy
We may update this Privacy Policy from time to time. When we do, we will update the "Last updated" date at the top and, for material changes, notify you through the app or by email before the change takes effect where required. Continuing to use the app after a change means you accept the updated policy.
17. Contact us
Privacy questions, rights requests, and other inquiries:
Offshore Flow LLC New Mexico, United States Email: support@tijuanaunlocked.com