Golf Ranch App — Privacy Policy
1. Who we are
This app ("Golf Ranch App") is published by Blue Jeans Golf LLC ("BJG", "we", "us"), located at 633 West Davis Street, Dallas, TX 75208. BJG operates the "Golf Ranch" brand of driving ranges and is the data controller for the personal information described in this policy.
Questions, requests, or complaints about your data:
- Email: accounts@golfranchusa.com
- Mail: 633 West Davis Street, Dallas, TX 75208
2. What this policy covers
This policy describes the personal information BJG collects through the Golf Ranch App (iOS and Android) and how we use it. It does not cover:
- Information BJG collects in person at a Golf Ranch site (front-desk membership records, point-of-sale purchases without the app).
- Information collected by the BJG website, marketing emails, or other channels — those are governed by separate notices on the relevant property.
- Third-party services we link to from the app — those have their own privacy policies, listed in §5 below.
If you have a Ranch Pass and don't use the app, this policy doesn't apply to you; your membership data is governed by BJG's general member privacy notice.
3. Information we collect
3.a Information you give us directly
- Email address. Used to create your account and authenticate you. We never see your password — authentication is handled by our third-party identity provider (Supabase), which stores only a hashed value.
- Home site selection. The Golf Ranch location you've chosen as your primary site. The app currently supports Richardson only.
3.b Information we receive from BJG's existing membership system
When you sign in, the app verifies you are a current Ranch Pass member. To do this, we look up your email in BJG's existing membership data warehouse and read:
- Your first and last name (as on your Ranch Pass membership).
- Your membership status (active, lapsed).
- Your member-since date.
This data is sourced from BJG's existing membership system; no new collection happens at sign-up beyond the email and home site you provide.
3.c Information generated by your use of the app
- Purchase history. When you buy a ball bucket through the app, we record the date, time, site, ball count, price paid, and a transaction identifier. This drives your loyalty stats, visit history, and tier progression.
- PIN issuance and redemption. When you purchase a bucket, the app obtains a one-time PIN code from SelectPi (the kiosk operator) so you can dispense balls. We record the PIN's issuance time, expiration, and whether it was redeemed at the kiosk.
- Loyalty stats. Aggregated counts derived from your purchases — total balls hit, savings versus walk-in pricing, weekly streak, and tier progress — calculated server-side and surfaced in the app's Stats tab.
- Payment reference. An opaque Stripe customer identifier we store on your account so repeat checkout can reuse a saved card. It is a reference into Stripe, not card data — we never see or store your card number.
3.d Information collected automatically
- Error logs. When a request to our backend fails or hits an unexpected error, our servers record a diagnostic log entry (the error and a server-side stack trace) to diagnose the issue. The app does not include a third-party client crash-reporting SDK. We do not collect screenshots, keystrokes, or the contents of your data.
- Authentication events. Sign-in attempts, sign-outs, and password resets are logged for security and abuse-prevention purposes.
- Product analytics. We record events describing how you move through the app — for example, which step of the signup flow you reached, whether a purchase completed, whether a kiosk PIN was redeemed — along with high-level device information (platform, OS version, app version) and a randomly-generated anonymous session identifier stored on your device. This helps us identify where users get stuck, diagnose flow-level bugs, and prioritize improvements. We do not use third-party analytics or advertising SDKs; events are sent only to our own servers and may include error-message text from underlying services that, in rare cases, can incidentally reference your email.
3.e What we do NOT collect
The app does not collect:
- Card numbers, expiration dates, CVCs, or any other payment-card data. All payments are handled directly by Stripe; card details are entered into Stripe's payment sheet and never touch BJG or OTS systems. We see only an opaque payment identifier and a confirmation that the charge succeeded.
- Your location (GPS, Wi-Fi, or otherwise). The app does not request location permissions.
- Contact-list, photo-library, or microphone data. The app does not request access to any of these.
- Camera images. The app may ask for camera access only if you choose to scan a payment card during checkout — this is handled entirely inside Stripe's payment sheet to read the card number; no image is stored or sent to BJG or OTS, and you can decline and type the card instead. The app does not otherwise use the camera (the dispensing QR code is generated on-screen, not scanned).
- Behavioral / advertising trackers. The app contains no third-party analytics SDKs or advertising SDKs.
- Children's information. The app is intended for adult Ranch Pass members; we do not knowingly collect information from anyone under 18. If you believe a minor has created an account, contact us at the email above and we will remove it.
4. How we use your information
We use your information to:
- Provide the service — authenticate you, verify your Ranch Pass membership, present member-priced bucket purchases, generate kiosk PINs, and keep an accurate record of your loyalty stats.
- Process payments — pass charge requests to Stripe, our payment processor.
- Detect and prevent abuse — rate-limit suspicious sign-in attempts, enforce one-active-pass-per-user, and investigate fraud or unauthorized use.
- Improve reliability — diagnose crashes and bugs.
- Comply with legal obligations — respond to lawful requests from law enforcement or regulators.
We do not sell your personal information. We do not use your information for advertising purposes. We do not share your information with marketers.
5. Who we share your information with
We share your information only with the third parties listed below, and only to the extent needed for them to perform their function. We have data-processing agreements (or equivalent contractual protections) in place with each.
| Service provider | Purpose | What they receive |
|---|---|---|
| Supabase (Supabase, Inc.) | Authentication and primary application database | Email, hashed password, profile fields, transaction records, loyalty stats |
| Stripe (Stripe, Inc.) | Payment processing | Charge amount, transaction reference; card details go directly to Stripe and are never seen by BJG or OTS |
| SelectPi (operator of the ball-dispensing kiosks) | PIN code issuance and redemption | A user identifier, ball count, and bucket price, used to generate and look up your dispensing PIN |
| Snowflake + Airbyte | BJG's existing data warehouse and the sync that mirrors membership data into the app database | Membership status, member-since date, name |
| AWS (Amazon Web Services, Inc.) | Cloud hosting infrastructure for the app's backend services | All app data, encrypted at rest and in transit |
| HubSpot (HubSpot, Inc.) | BJG's customer relationship management and marketing operations platform; member data is synced into HubSpot from BJG's data warehouse so BJG can manage member communications and lifecycle outreach | Name, email, membership status, tier, aggregate spend |
We do not share your information with any other third parties except as required by law (subpoenas, court orders) or to protect the rights, property, or safety of BJG, our users, or others.
6. Where your data is stored
Application data is stored in us-east-1 (Virginia, USA). By using the app, you consent to your data being processed in the United States, including by service providers operating there.
7. How long we keep your data
We keep personal information only as long as needed for the purposes in this policy, then delete or de-identify it.
- Account data (email, profile) — for as long as your account is active. If you delete your account, we delete or anonymize this data within 30 days, except where retention is required by law or for ongoing fraud-prevention review. You can delete your account in-app (Profile → Delete Account) or by contacting us at the email in §1.
- Purchase and PIN records — kept while your account is active. When you delete your account, we remove the personal identifiers from these records and retain the resulting de-identified transaction data indefinitely for financial, tax, and business record-keeping. Because that data can no longer be linked to you, it is no longer personal information.
- Loyalty stats — derived from your purchase records and kept on the same basis; de-identified once the underlying records are anonymized.
- Product-analytics events — personal identifiers are removed when you delete your account; de-identified, first-party event data may be retained to improve the app.
- Error logs — 90 days, then deleted.
- Authentication event logs — 90 days, then deleted.
8. Security
We use industry-standard measures to protect your data:
- All traffic between the app and our servers is encrypted in transit (TLS 1.2+).
- Data at rest is encrypted using AES-256.
- Authentication tokens are stored in your device's secure keychain (iOS Keychain / Android EncryptedSharedPreferences), never in plain storage.
- Passwords are hashed with bcrypt by our identity provider; we never see your password in plaintext.
- Optional app-unlock uses your device's built-in Face ID / Touch ID (or Android biometric) through the operating system. Biometric matching happens entirely on your device; BJG and OTS never receive, see, or store your biometric data.
- Access to production data inside BJG and OTS is restricted to authorized engineers who need it, and such access is logged.
No system is perfectly secure; if a breach affecting your information ever occurs, we will notify you in line with applicable law.
9. Your US state privacy rights
The app is offered only to US residents. Depending on the state you live in, you may have some or all of the following rights regarding your personal information:
- Know / access — get a copy of, or details about, the personal information we hold about you.
- Correction — fix data that's wrong. The app does not currently support editing your profile in-app, so to correct any information (including name and membership details, which come from BJG's membership system) contact us at the email in §1 or your home site's front desk.
- Deletion — delete your account and associated data, in-app (Profile → Delete Account) or by contacting us at the email in §1.
- Portability — get a copy of your data in a portable format. The app has no self-serve export, so we fulfill these requests manually within the response window below.
- Opt out of sale, sharing, or targeted advertising — we do not sell or share your personal information and do not use it for targeted advertising, so there is nothing to opt out of.
- Limit use of sensitive personal information — we do not use sensitive personal information beyond what is needed to provide the service.
- Appeal — if we deny a rights request, you may appeal by replying to our decision or emailing the address in §1; we will respond within the period your state's law requires.
- Non-discrimination — we will not discriminate against you for exercising any of these rights.
To exercise any of these rights, email us at the address in §1 (for deletion, you can also use the in-app option above). We respond within 45 days, with one extension where the law permits, and may need to verify your identity before acting on the request.
10. Children
The app is intended for adult Ranch Pass members. We do not knowingly collect personal information from anyone under 18. If you believe a minor under 18 has created an account, contact us and we will delete it.
11. Changes to this policy
If we make material changes to this policy, we'll notify you in the app and update the "Last updated" date at the top. Continuing to use the app after a change means you accept the updated policy. The previous version of this policy is available on request.
12. Contact
- Email: accounts@golfranchusa.com
- Mail: 633 West Davis Street, Dallas, TX 75208