Privacy Policy - Tijuana Unlocked
Effective date: May 4, 2026 Last updated: May 4, 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@offshoreflow.net.
1. Who we are
Offshore Flow LLC New Mexico, United States support@offshoreflow.net
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 or Google Sign-In.
- 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.
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
The current app includes a trial/subscription entitlement state in your user profile. If paid subscriptions are enabled, your purchase will be processed by Apple or Google. We may receive and store a subscription status (for example: trial, active, grace period, expired) and dates or transaction identifiers needed to manage access.
We do not receive or store your credit-card number, bank details, or full billing address. Those are handled by Apple, Google, or another payment/subscription provider. If we add a subscription management provider that receives personal information, we will update this policy before using it for live user data.
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.
- App Check tokens or related signals used to protect our backend from automated or unauthorized traffic.
- Crash reports and non-fatal error reports through Firebase Crashlytics. These reports can include stack traces, device context, app state, and developer-provided error context, but they are not intended to include your personal content.
3.9 Aggregated usage and operational metrics
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.10 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, verify App Check tokens, 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, App Check, Crashlytics, and related Firebase services) | Core backend, accounts, data storage, protected function calls, security checks, crash/error reporting, and OCR of public CESPT water-outage PDFs only. | Email, Firebase UID, preferences, commute plans, Line Watch settings, alert preferences, push tokens, subscription state, device diagnostics, crash/error data. |
| 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. |
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@offshoreflow.net 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, user document, commute plans, Line Watch settings and state, alert preferences, stored push tokens, and related user-owned records. 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@offshoreflow.net 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@offshoreflow.net. 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@offshoreflow.net 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.
- Subscription or entitlement records: retained as needed to provide paid access, resolve billing disputes, comply with law, and maintain tax or consumer-protection records.
- Diagnostic and crash data: retained according to Firebase Crashlytics settings, typically up to 90 days unless we configure a shorter period.
- 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 security rules that restrict reads and writes to the authenticated owner of a document where appropriate, App Check for protected backend calls, 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@offshoreflow.net