Privacy Policy
Last updated: August 12, 2026
Introduction
Golfective is a mobile application developed and operated by João Martins, an independent developer based in Portugal ("we", "our", or "us"). We are committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our mobile application (the "App").
Information We Collect
We collect the following categories of information:
- Account Information: Email address, full name, and authentication credentials (including third-party login via Google and Sign in with Apple)
- Profile Data: Handicap, home club, handedness, player height in centimetres (used as a biometric anchor for on-device measurement scaling), and your primary training goal chosen during onboarding (all optional)
- Saved Swing Analysis: When you choose to save a swing, we store its analysis on our servers. This includes the club selection, camera angle, target distance, swing-phase frame indices, and the numeric results of the setup, head-stability, swing-plane and impact analyses (such as tempo, lift / drop / sway / reverse pivot in cm, plane match %). The original video file is NOT uploaded
- Aggregated Statistics: Per-club running totals (count, tempos, distances, setup metrics) plus per-day and per-week aggregates derived from the swings you save
- AI Training Frames (opt-in only): With your explicit consent, up to one JPEG still per day, extracted on-device from your swing — see the dedicated section below
- Body-Joint Archives (opt-in only): Under the same explicit consent, the coordinates of your body landmarks measured on-device during each swing you save. Numbers only — no image or video is part of this file — see the dedicated section below
- Video and Image Data: Swing recordings captured through your device camera. Videos are processed locally on-device using AI-based object detection. The video file itself stays on your device and is never uploaded, except for the optional AI training frame and body-joint archive described below
- Usage Data: App interactions, feature usage and session information (Firebase Analytics)
- Diagnostic Data: Crash reports and stack traces (Firebase Crashlytics) used to fix bugs
- Device Information: Device type, operating system, app version, and unique device identifiers
- Payment Information: Subscription status (synced from the Apple App Store or Google Play via RevenueCat). Payment details stay with those stores and are never stored on our servers
We do not collect location data without your explicit consent.
How We Use Your Information
We use your information to:
- Provide and maintain our services, including swing analysis and performance tracking
- Process your swing videos locally on your device using AI detection models to provide real-time analysis
- Persist the analyses you choose to save and aggregate them into your personal statistics
- Process payments and manage your subscription (server-side, via Cloud Functions)
- Deliver feature flags and progressive rollouts via Firebase Remote Config
- Diagnose crashes and bugs through Firebase Crashlytics so we can fix them
- Send transactional emails (account confirmations, subscription receipts, password resets) through Resend
- Improve and personalize your experience
- Analyse aggregated app usage to improve features and performance
- Comply with legal obligations
Data Storage and Security
Your data is stored securely on Firebase / Google Cloud servers located in the European Union. Specifically:
- Saved swing analyses (numeric metrics only — never the video itself) are stored in our database and tied to your account
- Your aggregated statistics are stored in our database alongside your saved swings
- Original swing video files stay on your device and are never uploaded to our servers
- AI training frames and body-joint archives (opt-in only) are stored in Cloud Storage in a folder scoped to your account; only we can access them
We implement industry-standard security measures, including encryption in transit and at rest, role-based Firestore Security Rules and Storage Security Rules that confine each user to their own data, and a server-only path for any operation that touches subscription state. However, no method of electronic transmission or storage is 100% secure, and we cannot guarantee absolute security.
Data Retention
We retain your personal data for as long as your account is active or as needed to provide you our services.
- Per-period data deletion: From Settings → Manage Data you can delete your saved swings and the matching statistics for the last month, the last 3 / 6 / 12 months, a custom date range (up to 90 days), or all-time. Both the swings and their stats are removed in the same operation
- Per-swing stats opt-out: Each saved swing has an "include in stats" toggle that can be flipped on or off at any time — when off, that swing's metrics are subtracted from the aggregates
- Account deletion: From Settings → Account → Delete Account you can permanently delete your account from inside the App. The deletion is performed by a server-side Cloud Function that, in a single operation, deletes every saved swing you own, deletes your aggregated statistics (including the daily and weekly subcollections), removes your AI training frames and body-joint archives from Cloud Storage, deletes your user profile, and finally deletes your Firebase Authentication account. Active subscriptions in the Apple App Store or Google Play are NOT cancelled by this operation — they must be cancelled separately in the store settings
- Anonymized and aggregated data may be retained for analytical purposes
- AI training frames and body-joint archives you contributed are deleted from Cloud Storage as part of account deletion, or earlier on request via support@golfective.com. Deleting swings from Manage Data removes those swings and their statistics, not these Storage contributions. However, once a contribution has been integrated into a trained model, that specific contribution cannot be reversed from already-trained models — this is an inherent limit of how AI models work
AI Training Contribution (Opt-in)
With your explicit consent — off by default and revocable at any time in Settings — we may collect two things extracted on-device from your swing, to improve future versions of our analysis models: up to one JPEG image per day, and the body landmark coordinates of each swing you save.
- Legal basis: Article 6(1)(a) GDPR — explicit consent
- What is uploaded: A single still JPEG (max 1280px wide, ~85% quality) extracted from one randomly selected swing phase (backswing, top, downswing or impact), stored at training_frames/
/ _ _ _ .jpg in Cloud Storage - What else is uploaded under the same consent: For each swing you save, a gzipped JSON of the body landmark coordinates measured during that swing, together with the swing-phase frames and the video frame rate and geometry, stored at pose_joints/
/ .json.gz in Cloud Storage. It holds numbers only — no image, no video, and no name or email - Metadata attached to the image: Your account identifier, the swing phase, the camera view, the frame index, the video FPS, the model version that scored it, the app version, and (when known) the club name and your height in centimetres. No name, email or other direct personal identifier is embedded in the image
- Purpose: Exclusively training and improving our swing analysis models. We do not share these contributions with third parties and do not use them for advertising
- Kill switch: We can disable either collection remotely via Firebase Remote Config without an app update. The kill switch is an operational control and never a substitute for your consent — with consent off, nothing is collected
- Deletion: Both are deleted from our storage when you delete your account, or on request via support@golfective.com. However, once integrated into a training set, that specific contribution cannot be technically reversed from already-trained models — this limit is inherent to how AI models work.
Marketing Communications (Opt-in)
With your explicit consent — off by default and revocable at any time in Settings — we may send you news, tips and promotional offers about Golfective.
- Legal basis: Article 6(1)(a) GDPR — explicit consent
- What we send: Product news, golf tips and promotional offers
- Optional: This is never required to use the app, and declining has no effect on your account or features
- Withdrawal: You can withdraw your consent at any time via Settings, or by using the unsubscribe link included in every message
Marketing consent is recorded separately from your acceptance of the Terms, together with the date it was given or withdrawn.
Third-Party Services
We use the following third-party services that may collect and process your data:
- Firebase / Google Cloud (Google LLC): Authentication, Firestore database, Cloud Storage, Cloud Functions, Analytics, Crashlytics, Remote Config and hosting — Privacy Policy: https://firebase.google.com/support/privacy
- RevenueCat (RevenueCat, Inc.): Subscription management and store receipt validation — Privacy Policy: https://www.revenuecat.com/privacy
- Resend (Resend, Inc.): Transactional email delivery (subscription confirmations, password resets) — Privacy Policy: https://resend.com/legal/privacy-policy
- Apple App Store / Google Play Store: App distribution and in-app purchases — subject to their respective privacy policies
These services may collect information about your device and app usage in accordance with their own privacy policies. We recommend reviewing them.
Your Rights (GDPR)
Under the General Data Protection Regulation (GDPR) and Portuguese data protection law (Lei n.º 58/2019), you have the right to:
- Access: Request a copy of your personal data
- Rectification: Correct inaccurate or incomplete data
- Erasure: Request deletion of your data ("right to be forgotten")
- Portability: Export your data in a structured format
- Restriction: Request restriction of processing
- Objection: Object to data processing based on legitimate interests
- Withdraw Consent: Withdraw consent at any time without affecting prior processing
To exercise these rights, please contact us at support@golfective.com. We will respond within 30 days. You also have the right to lodge a complaint with the Portuguese Data Protection Authority (CNPD) at https://www.cnpd.pt.
Children's Privacy
The App is not intended for children under the age of 13. We do not knowingly collect personal information from children under 13. If we become aware that a child under 13 has provided us with personal data, we will take steps to delete such information.
Contact Us
If you have any questions about this Privacy Policy or our data practices, please contact us at:
Email: support@golfective.com
Responsible for data processing:
João Martins
Independent Developer
Portugal