Privacy Policy
Privacy Policy
- Version
- 1.0.1
- In effect
- Updated
Version: 1.0.1 Last updated: 26 August 2026
12 sections
This Privacy Policy explains how [LEGAL ENTITY NAME] ("ShaftFitter", "we", "us", "our") collects, uses, shares, and protects personal information when you use the ShaftFitter mobile application, our websites at shaftfitters.com and app.shaftfitters.com, and the related APIs and services (together, the "Service").
ShaftFitter is a golf equipment optimization service. You upload swing data from a launch monitor, we analyze it, and we recommend golf shafts suited to your swing. We also operate an online store and link to third-party retailers.
By using the Service you agree to this Privacy Policy. If you do not agree, please do not use the Service.
Controller. [LEGAL ENTITY NAME], [REGISTERED ADDRESS], is the controller of the personal data described in this policy.
Contact. privacy@shaftfitters.com
2.1 Information you give us
Account information. When you create an account we collect your email address, a password (stored only as a salted bcrypt hash — we never store your plaintext password), and a username. Your username is generated automatically from the local part of your email address at signup so that other users can find you for sharing; you can change it at any time. You may optionally add a full name and a profile picture.
Sign in with Google / Sign in with Apple. If you sign in with a third-party provider, we receive from that provider a provider account identifier, your email address, whether that email is verified, and authentication tokens. We store these to keep you signed in and to link the provider account to your ShaftFitter account. We do not receive your password from these providers.
Golfer profile. You may create one or more player profiles containing a display name, handedness, height, wrist-to-floor measurement, preferred club length, handicap, your stated swing goal, and free-text notes.
Your equipment. Club category, display name, brand, model, loft, playing length, lie angle, swing weight, and current shaft for each club you record.
Swing and performance data. This is the core of the Service. When you upload a launch monitor export (CSV, JSON, or a raw API payload) or enter data by hand, we store:
- the original uploaded file and its filename;
- every parsed row of that file, including rows that failed validation and the reason;
- normalized individual shots and their measured metrics (for example club head speed, ball speed, launch angle, spin rate, carry, dispersion, smash factor, and similar values that your device reports);
- derived statistics, clustering results, and session aggregates we compute from those shots;
- session context you supply — session date, session type, source label, environment details, and notes.
Preferences and settings. Measurement units, skill level, typical shot shape, how you want the recommendation engine weighted (distance vs. accuracy, ball flight vs. club data, outlier handling), preferred shaft brands, budget range, flex preference, shaft weight range, launch preference, watchlist and price-alert settings, and your notification preferences.
Store and payment information. Shipping addresses (label, recipient name, phone number, street address, city, state, postal code, country, and optional geographic coordinates if your device supplies them), order history, cart and wishlist contents, and product reviews you write.
We do not collect or store your full payment card number.
For purchases processed by Stripe — digital purchases on Android and the web, and all storefront orders — card details are collected directly by Stripe through their SDK. We store only a Stripe customer identifier, subscription status, and non-sensitive transaction metadata returned to us by Stripe.
For digital purchases made inside the iOS app, billing is handled entirely by Apple as an In-App Purchase. Your payment method is never presented to us. We receive and store only the transaction and product identifiers, and the resulting plan or credit grant, from Apple's receipt verification.
Communications. Messages you send through the contact form (name, email, subject, message), data-rights requests you submit, product and service feedback (star rating, emoji reaction, free-text comment, tags, and whether you followed a recommendation), and waitlist signups.
Veteran verification (sensitive — optional). If you choose to verify veteran status to access a veteran benefit, we ask for your first name, last name, optional middle name, date of birth, Social Security Number, and optionally gender and ZIP code. We transmit these details directly to the U.S. Department of Veterans Affairs Veteran Confirmation API for a single one-time check and we do not store them. The identity details exist only in server memory for the duration of that one request. All we retain is the result ("confirmed" / "not confirmed" / "unverified"), the date it was confirmed, the date we last checked, and a count of attempts. Veteran verification is entirely optional and is never required to use the Service.
2.2 Information we collect automatically
Device and session information. Platform (iOS, Android, or web), device name, app version, OS version, a device identifier, and the date we last saw the device.
Log and connection information. IP address, browser or app user agent string, and timestamps, recorded against your login sessions and against outbound affiliate link clicks.
Affiliate click data. When you tap a "Buy" button that leads to a third-party retailer, we record the click before redirecting you: which offer you clicked, the destination URL, which screen of the app you clicked from, your IP address, your user agent, and a derived country code. This is how we are credited for the referral and how we understand which recommendations are useful. Clicks made while signed out are recorded without an account identifier.
Usage analytics. Aggregated activity across your account — uploads, sessions, recommendations generated, and similar counts — used to power the personal analytics screens you see in the app and to understand overall product usage. You can turn analytics tracking off in your privacy settings (see Section 8).
Product analytics (third-party). The app includes PostHog, which records in-app events and screen views against a device or account identifier, together with app version, device and OS details, and IP address, so we can understand how the app is used and where it fails people. PostHog is configured to capture taps on interface elements automatically, in addition to the events we send deliberately.
Crash and error reporting. The app includes Sentry. When the app errors or crashes, it sends a diagnostic report containing device and OS details, app version, a stack trace, and the surrounding technical context. These reports can incidentally include identifiers for the account in use at the time.
Push notification tokens. If you enable notifications we store the push token issued by Apple or Google via the Expo push service, along with delivery logs.
2.3 Information from other people
Another ShaftFitter user may share a completed analysis with you. When they do, we record that share and make their analysis visible to you inside the app. Shares are private and person-to- person: only the named recipient can open one, there are no public links, and the owner can revoke access at any time.
2.4 Children
The Service is not directed to children. ⚖️ COUNSEL: confirm the age floor. This draft assumes users must be at least 13 years old to hold an account and at least 18 (or the age of majority where they live) to make a purchase or enter into a subscription. We do not knowingly collect personal information from children under 13. If we learn we have, we will delete it. Contact privacy@shaftfitters.com if you believe a child has provided us information.
| Purpose | What we use |
|---|---|
| Create and maintain your account; authenticate you | Account details, sign-in provider data, session and device data |
| Generate shaft recommendations | Player profile, club data, swing and shot data, preferences |
| Show you your performance analytics | Shots, sessions, aggregates |
| Show current prices and buy options; credit our referrals | Recommendation output, affiliate click data |
| Process purchases, subscriptions, and upload credits | Account details, addresses, Stripe transaction data |
| Fulfil and ship storefront orders | Name, shipping address, phone, order contents |
| Send transactional email (verification codes, password resets, receipts, export links) | Email address |
| Send push notifications and in-app notifications you have opted into | Push tokens, notification preferences |
| Respond to support messages and data-rights requests | Contact and request submissions |
| Improve the recommendation engine and the Service | Swing data, feedback, usage analytics |
| Confirm veteran status where you request a veteran benefit | Identity details, transmitted to the VA and not stored |
| Detect, investigate, and prevent fraud, abuse, and security incidents | Log data, IP address, device and session data |
| Comply with legal obligations and enforce our Terms | As necessary |
Automated processing. Our recommendation engine processes your swing data automatically to produce shaft recommendations. This is a product feature, not a decision that produces legal effects concerning you. You can always ignore a recommendation, and you can contact us to discuss one.
⚖️ COUNSEL — legal bases (GDPR/UK GDPR). Where UK/EU law applies, we rely on: performance of a contract (operating your account, generating recommendations, fulfilling orders); legitimate interests (security, fraud prevention, service improvement, affiliate attribution); consent (marketing communications, optional analytics, optional use of anonymized data, veteran verification, which involves special-category-adjacent identity data); and legal obligation (tax, accounting, responding to lawful requests). Counsel should confirm this mapping and whether the company is in scope at all.
We operate primarily in the United States, and our infrastructure is hosted in the United States (AWS us-east-1). If you access the Service from outside the United States, your information will be transferred to and processed in the United States, where privacy laws may differ from those in your country.
⚖️ COUNSEL: if the Service is offered to EU/UK residents, confirm the transfer mechanism — Standard Contractual Clauses, the EU-U.S. Data Privacy Framework, or the UK Addendum — and state it here. If the Service is to be US-only, that should be stated in the Terms and enforced, and this section simplifies considerably.
We keep your personal information for as long as your account is active and for as long as needed to provide the Service.
When you delete your account. Deleting your account from the app immediately marks it as deleted, ends your access, and removes you from our caches. Your data is then held for a 30-day grace period, after which an automated purge permanently deletes your account record and everything cascading from it — sessions, devices, player profiles, uploads, imports, shots, recommendations, feedback, notifications, addresses, cart, wishlist, and shares. The grace period lets us reverse an accidental or fraudulent deletion.
What we keep longer. We retain certain records after deletion where we are required or permitted to:
- transaction, order, and tax records, for the period required by law;
- aggregated and de-identified data, which no longer identifies you;
- records necessary to resolve disputes, prevent fraud and abuse, or enforce our agreements;
- contact form submissions and data-rights requests, which are stored independently of your account so we retain an audit trail of how we handled them.
⚖️ COUNSEL: specify the retention period for financial records (commonly 7 years in the US) and confirm the 30-day grace period is compatible with GDPR Art. 17 "without undue delay."
7.1 Everyone
Whatever jurisdiction you are in, you can:
- Access and correct your profile, player profiles, equipment, preferences, and addresses directly in the app at any time.
- Export your data. Request a full machine-readable export of your account — profile, sessions, recommendations, feedback, and purchases — from Account Settings. We generate it asynchronously and email you a download link. Exports are limited to one request per 24 hours.
- Delete your account from Account Settings, subject to Section 6.
- Control notifications individually in your notification settings, and unsubscribe from marketing email using the link in any such email. We will still send you transactional messages necessary to operate your account.
- Submit a formal data-rights request at any time — including after you have already deleted your account — through our in-app request form or by emailing privacy@shaftfitters.com. We respond within 30 days.
7.2 If you are in the EEA or the UK
Subject to the conditions in applicable law, you have the right to access, rectification, erasure, restriction of processing, data portability, and objection to processing, and the right to withdraw consent at any time without affecting the lawfulness of processing before withdrawal. You also have the right to lodge a complaint with your local supervisory authority.
7.3 If you are a California resident
Subject to the CCPA as amended by the CPRA, you have the right to know what personal information we collect, use, disclose, and share; the right to delete it; the right to correct inaccurate information; the right to opt out of sale or sharing; the right to limit the use of sensitive personal information; and the right not to be discriminated against for exercising these rights.
The categories of personal information we have collected in the past 12 months are described in Section 2; the purposes in Section 3; the categories of recipients in Section 4.
Sensitive personal information. The identity details collected for optional veteran verification (including SSN and date of birth) are sensitive personal information. We use them for the single purpose of performing the verification you asked for, we transmit them only to the U.S. Department of Veterans Affairs, and we do not store them.
⚖️ COUNSEL: confirm whether the business meets CCPA applicability thresholds, and whether other state privacy laws (Virginia, Colorado, Connecticut, Utah, Texas, Oregon, Montana, and others now in force) require additions. Confirm whether a "Do Not Sell or Share" link is required given affiliate tracking. Also confirm authorized-agent and verification procedures.
7.4 How to exercise your rights
Use the in-app tools where they exist — they are the fastest route. Otherwise email privacy@shaftfitters.com. We may need to verify your identity before acting on a request, and we will tell you if we cannot act on one and why.
Your account carries three privacy switches you can change at any time in Settings:
| Setting | Default | Effect when off |
|---|---|---|
| Allow anonymized data usage | On | We stop including your data in the aggregated, de-identified datasets described in Section 4.6 |
| Allow analytics tracking | On | We stop collecting the in-app usage analytics that power your analytics screens |
| Allow recommendation history storage | On | We stop retaining your past recommendations |
You can also control each category of notification separately, and enable or disable price and availability alerts.
⚖️ COUNSEL / ENGINEERING — MUST BE RESOLVED BEFORE PUBLICATION. The "Allow analytics tracking" switch is recorded against the account but is not currently wired to the PostHog SDK in the app: PostHog continues to capture screen views and interface taps after the switch is turned off. Either gate the SDK on this setting or restate what the switch actually does. Publishing the table above as written would describe a control the app does not yet honour.
We protect your information with measures including:
- passwords stored only as salted bcrypt hashes, never in plaintext;
- AES-256-GCM encryption for sensitive stored values;
- JWT-based authentication with expiring sessions and hashed refresh tokens;
- TLS in transit;
- access scoping on every endpoint so that one user cannot read another's data;
- one-time codes with short expiry windows for email verification and password reset;
- role-based access control limiting administrative access to authorized staff.
No system is perfectly secure. We cannot guarantee absolute security, and you are responsible for keeping your password confidential and for activity under your account.
⚖️ COUNSEL: add a breach-notification commitment consistent with applicable state breach statutes and, if in scope, GDPR Art. 33/34 timelines.
The Service contains links to third-party retailer websites, including affiliate links. We are not responsible for the privacy practices or content of those sites. Read their privacy policies before providing them information.
We may update this Privacy Policy. When we do, we publish a new version with a new effective date and keep prior versions available for you to review. If the changes are material, we will notify you in the app or by email before they take effect. Continued use of the Service after the effective date means you accept the updated policy.
[LEGAL ENTITY NAME] [REGISTERED ADDRESS]
Privacy enquiries: privacy@shaftfitters.com General support: support@shaftfitters.com
⚖️ COUNSEL: if a GDPR Art. 27 EU/UK representative or an Art. 37 Data Protection Officer is required, name them here.
