Privacy Policy
Effective Date: October 6, 2026
Softball AI Trainer ("the App") is operated by BMD Labs LLC, an Ohio limited liability company ("we," "our," or "us"). This Privacy Policy explains how we collect, use, and protect information when you use our mobile application and our website at softballaitrainer.com, including the launch-notification signup form and the parental-consent page. We are committed to protecting your privacy and complying with the Children's Online Privacy Protection Act (COPPA) and all applicable privacy laws. The App and our website are operated from the United States and intended for users in the United States.
1. Information We Collect
Account Information
- Email address — used for account creation via Firebase Authentication (Google Sign-In or email/password)
- Athlete name — provided during onboarding for personalized coaching
- Birth year — used for age verification and age-appropriate scoring
- Age bracket (e.g., 10U, 12U, 14U) — used for calibrated biomechanical analysis
- Role (Player, Parent, or Coach) — determines app features and permissions
Analysis Data (Processed On-Device)
- Video and images — processed entirely on your device using on-device machine-learning models (pose detection and ball tracking). The App never uploads photos or video frames to any server.
- Pose keypoint data — skeletal joint coordinates extracted from video, processed on-device. Keypoints for detected swing/pitch phases may be included in AI coaching requests (see below); they contain no images or visual likeness.
- Analysis scores and session history — stored in a local database on your device. They are not uploaded to our servers.
AI Coaching Data
- Coaching context — when you use Coach Jodi (our AI coaching feature), the athlete's age bracket (for example, "12U"), calculated analysis scores/metrics, and skeletal position measurements are sent to Anthropic (the company that makes Claude), our AI-coaching provider, to generate coaching feedback. The athlete's name is never sent: the App replaces it with a placeholder before the request leaves your device and puts the name back only on your device when the response is shown. No video, photos, or birth year are sent. Anthropic processes this data as our service provider under its commercial terms, automatically deletes it within 30 days (longer only if its safety systems flag a request as violating its usage policy or retention is required by law), and does not use it to train its models.
- Conversation text — questions you type to Coach Jodi are sent to Anthropic to generate responses. Before a question leaves your device, the App replaces the athlete's full name with the same placeholder and removes email addresses, phone numbers, and social-media @handles. Anything else you type is sent as written, so please do not type other personal details (such as other people's names, addresses, or school or team names). The same retention terms apply.
- Reported AI responses — if you report a Coach Jodi response as wrong or inappropriate, we store the reported response text (with the athlete's name replaced by "[athlete]") together with your account identifier so we can review it. Reports are deleted when you delete your account.
- Optional sharing (user-initiated) — you may choose to share an analysis card (athlete first name, scores, and a keyframe image with skeleton overlay) through your device's share sheet, by text, email, or social media. Sharing happens only when you explicitly send it, and only to recipients you choose. The App itself never uploads images.
Cloud-Stored Account Data (Firebase)
- Account profile — email address, display name, role, onboarding status, which athlete is currently selected, and the profile settings entered during onboarding or in Settings: age bracket, birth year, throwing hand, batting hand, and playing position. For coach accounts, this also includes the coach name, team name, and coaching level.
- Athlete profiles — athlete name, birth year, age bracket (and whether the athlete is under 13), throwing/batting hand, and skill focus (hitting, pitching, or both) for each athlete on the account, plus when the parental consent, the optional AI-coaching consent, and the App's training disclaimer were accepted.
- Usage counters — weekly analysis and daily AI-coach usage counts (for free-tier limits). Counters only — no analysis content.
- Parental-consent records — when consent is granted for an under-13 athlete, we record who consented, for which athlete, when, and by which method; for consent given on our website, also the granting parent's name, email address and stated relationship to the athlete, and technical details of the browser used to grant consent (its user-agent string). These records exist to demonstrate COPPA compliance. No one using the App or our website can change them after creation; our servers only add the relationship and browser details recorded on the consent page, and whether the confirmation email was sent.
Subscription Information
- Purchase and subscription status — if you subscribe, Google Play processes the payment. We receive a purchase token, the plan purchased, and the subscription's status and renewal dates (never your card or bank details) so the App can unlock the features you paid for and let you restore purchases on a new device.
Analytics and Diagnostics
- Usage analytics — none. Google Analytics is not enabled for the App: we do not collect screen views, feature-usage events, or any other usage analytics of our own (Google ML Kit's diagnostics, described below, are the only exception). Advertising-identifier collection is disabled and ad-personalization signals are turned off.
- Firebase Crashlytics — collects crash reports and diagnostic data to help us fix bugs.
- Google ML Kit diagnostics — the App uses Google ML Kit, running on your device, to detect body positions in your video. ML Kit sends Google limited technical information about its own performance and use: device information (such as manufacturer, model, Android version, and available machine-learning hardware), the App's package name and version, per-installation identifiers that are not intended to uniquely identify a user or physical device, performance metrics (such as processing time), ML Kit settings (such as image format and resolution), input and output sizes, the ML Kit feature version, and event types (such as start-up, detection, and shutdown) and error codes. For pose detection, ML Kit also uses Firebase Remote Config and Firebase installation identifiers for its remote-configuration diagnostics. Google uses this data for diagnostics and usage analytics — to measure performance, debug, maintain and improve ML Kit, and detect misuse or abuse; it is sent over HTTPS, and Google does not transfer it to third parties. ML Kit never sends images, video, or the body positions it detects to Google — that processing happens entirely on your device.
2. Account Eligibility
Direct account registration is available only to users 13 years of age or older. Children under 13 cannot create their own accounts. A parent or legal guardian may create an account and add a younger athlete (under 13 based on the birth year entered, or any athlete in the 10U or 12U bracket) as a profile they manage; in that case, parental consent is collected during the athlete-profile setup and the parent remains the account holder. A coach, or a Player account holder (13 or older — for example, an older sibling), may also add an under-13 athlete; in that case the athlete's profile stays locked until the child's parent grants consent directly through our secure web consent flow, and the person who added the athlete remains the account holder.
By creating an account, you represent that you are at least 13 years old, or that you are a parent or legal guardian creating an account on behalf of a minor athlete and have the authority to do so.
3. How We Use Your Information
- To create and manage your account
- To provide age-appropriate biomechanical analysis and scoring
- To deliver personalized AI coaching feedback through Coach Jodi
- To track your progress and personal bests over time
- To improve app performance and fix bugs
- To communicate with you about your account (if necessary)
4. How We Share Your Information
We do not sell, rent, or trade your personal information to third parties. We share limited data with the following service providers, solely to operate the App:
- Firebase (Google) — authentication, cloud data storage, and crash reporting
- Google ML Kit — performs pose detection on your device; Google receives only the ML Kit diagnostics described in Section 1 (never images, video, or detected body positions) and does not transfer them to third parties
- Formspree, our website form provider — if you enter your email address in the launch-notification form on our website, Formspree receives that address and the page you submitted it from, so it can forward it to us. We use it only to email you about the launch, and we do not sell or share it. This applies to the website only; the App does not use Formspree.
- Anthropic (the company that makes Claude), our AI-coaching provider — receives the athlete's age bracket, calculated analysis scores, skeletal position measurements, your typed questions, and a one-way scrambled code derived from your account ID (never your name or email) that lets Anthropic detect misuse, solely to generate Coach Jodi's responses. Before your questions are sent, the App replaces the athlete's full name with a placeholder and removes email addresses, phone numbers, and social-media @handles; anything else is sent as you write it, so please do not type other personal details (such as other people's names, addresses, or school or team names) into Coach Jodi. Requests are sent through our own secure server, never directly from the App. Anthropic never receives video, photos, or birth year. It acts as our service provider under its commercial terms, automatically deletes the data within 30 days (longer only if its safety systems flag a request or retention is required by law), and does not use it to train its models.
- Google Play — processes subscription payments; we never see your payment details
- RevenueCat — our subscription-management provider; receives the Google Play purchase token and your account identifier to validate your subscription and unlock features. It does not receive your name, email address, athlete information, or video.
We may disclose information if required by law, court order, or to protect the safety of our users.
5. Children's Privacy (COPPA Compliance)
Softball AI Trainer supports athletes ages 10 and up. Direct account registration is restricted to users 13+. Children under 13 are represented in the app only as athlete profiles inside an account held by someone 13 or older — a parent, who gives consent in the App, or a coach or Player account holder, whose under-13 athlete stays locked until the child's parent grants consent through our web consent flow (see below). Persistent identifiers (such as the app-instance identifier used for crash reporting and remote configuration) are used solely to support the App's internal operations, as permitted by COPPA. We ensure these identifiers are never used or disclosed to contact any specific person or to show advertising: the App contains no ads or advertising SDKs, the device advertising identifier is not collected, ad-personalization signals are disabled (see Sections 1 and 6), and the identifier is never combined with a name, email address, or other contact information. We comply with the Children's Online Privacy Protection Act (COPPA).
How Under-13 Athletes Are Represented
If a user attempts to create their own account and indicates they are under 13, they are blocked from registration and directed to ask a parent to set up the account. The parent or legal guardian then creates and manages the account, adds the child as an athlete profile, provides all account information, and remains in control. A child can also be added as an athlete profile by a coach or a Player account holder; in that case the child's parent controls consent (see below), but the person who added the child holds the account.
Parental Consent for Under-13 Athletes
When a Parent account adds an athlete who is under 13 (based on the birth year entered, whatever the playing level, or any athlete in the 10U or 12U bracket), we present a two-step in-app consent dialog before any data is collected for that athlete. The parent must:
- Confirm they are the parent or legal guardian, and
- Consent to the data practices described in this policy.
Optional AI-coaching consent: the same dialog (and the web consent page used for athletes added by a coach or Player account) also offers a separate, optional checkbox consenting to AI coaching (Coach Jodi) for that athlete, as required by 16 CFR § 312.5(a)(2). Video analysis, scores, badges, and drills all work without it. If this optional consent is not granted, no AI-coaching data described in this policy is sent to Anthropic for that athlete. Parents managing their own account can change this choice at any time in Settings → Athletes → Edit (pencil icon); parents of athletes added by a coach or Player account can change it at any time by contacting that account holder or emailing support@softballaitrainer.com.
Athletes added by a coach or Player account: consent must come from the parent or legal guardian through the verified email link described below; the account holder may not give it on a parent's behalf, and an account holder who completed that step themselves would be falsely stating that they are the child's parent or guardian. When a coach or Player account adds an under-13 athlete, the athlete's profile is locked ("consent pending") and the account holder sends the parent a secure, single-use consent link. The parent first verifies control of their email address through a one-time sign-in link, then reviews the data practices and grants consent directly in their own browser, providing their name so the grant is attributable to an actual guardian. Our systems will not record a grant unless the email on it matches the verified email. Analysis is blocked for that athlete until the parent grants consent.
Every consent grant is recorded with the grantor, athlete, method, and server timestamp in an append-only audit record in our secure cloud database. No one using the App or our website can edit these records after creation; our servers only add the relationship and browser details recorded on the consent page, and whether the confirmation email was sent.
Data Collection from Under-13 Athletes
- We collect only the minimum information necessary (athlete first name, birth year, age bracket, throwing/batting hand, and skill focus).
- Video analysis is performed entirely on-device. The App never transmits images or video of children to any server.
- AI coaching happens for an under-13 athlete only if the parent has granted the separate optional AI-coaching consent described above. When granted, AI coaching requests include the athlete's age bracket, calculated metrics, skeletal position measurements, your typed questions, and a one-way scrambled code standing for the account — never images, video, or birth year. Before the request leaves the device, the athlete's full name is replaced by a placeholder and email addresses, phone numbers, and social-media @handles are removed from typed questions. Anything else in a typed question is sent as written, so please do not type other personal details into Coach Jodi.
Parental Rights
Parents and legal guardians have the right to:
- Review the personal information we have collected about their child
- Request deletion of their child's personal information
- Refuse further collection of their child's information
- Access and delete analysis data through the App's settings
To exercise these rights, use the "Delete Account" feature in the App settings; if your child's profile is in someone else's account (for example, a coach's), contact that account holder or us at support@softballaitrainer.com.
6. Advertising
The Softball AI Trainer mobile app contains no advertisements and no advertising SDKs, and it does not collect the device advertising identifier (the AD_ID permission is removed from the app and analytics ad-personalization signals are disabled). Any change to this practice would be described in an updated, re-dated version of this Privacy Policy before it took effect, and existing users would be notified.
We do not track visitors across third-party websites, and no third parties collect personal information across sites or over time through our website or the App. Because no such tracking occurs, our website does not respond to browser “Do Not Track” signals.
7. Data Security
We maintain a written information-security program with a designated security coordinator, and take reasonable measures to protect your information:
- Account authentication is handled by Firebase Authentication with industry-standard encryption.
- Cloud data is protected by server-side security rules that restrict every account's data to that signed-in account holder (one exception: a pending parental-consent request can be read by anyone holding its private link, so the parent's browser can display it — it contains the athlete's first name, age bracket and under-13 status; the requester's name, email address and account ID, and whether the requester is a coach; internal record IDs; when the request was created; and the app version); consent records are append-only and cannot be modified even by the account holder.
- Analysis data is stored locally in your device's app-private storage and is not accessible to other apps.
- All network communications use HTTPS encryption.
- Video and images are never uploaded to our servers — they leave your device only if you explicitly share them, or through your own Android device backup if it is turned on (see Section 8, Data Retention).
No method of electronic storage or transmission is 100% secure. While we strive to protect your information, we cannot guarantee absolute security.
8. Data Retention
We retain personal information only as long as it is needed for the purposes described in this policy:
- Local data (analysis sessions, keyframes, scores) — stored on your device until you delete it through App settings, delete your account, or uninstall the App. On the free tier, only a limited number of the most recent sessions per athlete are retained (currently 10; the App shows the current limit); older sessions are automatically deleted from the device. If Android backup is turned on for your device, Android may copy the App's on-device data (such as analysis history, result images, settings, and athlete profiles) to your own Google account backup; deleting data in the App or uninstalling the App does not remove existing Google backups, which you can manage in your device's Android settings.
- Cloud account data (email, account profile, athlete profiles, usage counters, consent invitations, reported AI responses) — retained while your account is active and deleted when you delete your account (in-app "Delete Account" or by request). A parental-consent request that no parent or guardian grants within 30 days of when its link was first sent is deleted automatically, and the athlete's name on that profile is replaced with "Athlete". The athlete's name is also replaced with "Athlete" on an under-13 athlete profile that has never had parental consent and has no consent request outstanding, 30 days after the profile was added or a change made it an under-13 profile (if its name was replaced before and then entered again, 30 days after the profile was last changed).
- AI coaching requests (age bracket, scores, skeletal measurements, typed questions — with the athlete's full name, email addresses, phone numbers, and @handles removed before sending) — not stored by us. Anthropic, our AI-coaching provider, automatically deletes them within 30 days (longer only if its safety systems flag a request or retention is required by law) and does not use them to train its models.
- Parental-consent records — retained for up to three (3) years after account deletion, solely to demonstrate COPPA compliance, then deleted.
- Parent sign-in records — when a parent opens the one-time sign-in link from our website's consent page, we create a sign-in record containing their email address so we can confirm they control it. If the parent grants consent, the record is kept for as long as the related consent record is kept, and then deleted. If no consent is recorded, it is deleted no later than 13 months after it was last used.
- Launch-notification emails — an email address submitted through the website signup form is kept until the App launches, or until you ask us to remove you, whichever comes first.
- Subscription records — the subscription record held by our subscription-management provider (RevenueCat) is deleted when you delete your account. Google Play, not RevenueCat, is the seller and biller. Google Play retains its own purchase history under Google's policies, which we do not control.
- Crash data — crash reports tied to a random app identifier are retained by Firebase for approximately 90 days. We do not collect usage analytics of our own (Google Analytics is not enabled for the App; Google ML Kit's diagnostics are described in Section 1).
9. Your Rights
You may at any time:
- Access your account information through App settings
- Update your profile information through App settings
- Delete all local analysis data through App settings ("Delete My Data")
- Permanently delete your account, athlete profiles, and associated data through App settings ("Delete Account") — see Account Deletion for details
- Request deletion by emailing support@softballaitrainer.com if you cannot access the App
10. Third-Party Links
The App may contain links to third-party websites (e.g., YouTube drill videos). We are not responsible for the privacy practices of these external sites. We encourage you to review their privacy policies.
11. Changes to This Privacy Policy
We may update this Privacy Policy from time to time. We will notify you of material changes by posting the updated policy in the App and updating the "Effective Date" above. Your continued use of the App after changes are posted constitutes acceptance of the updated policy.
12. Contact Us
If you have questions about this Privacy Policy, your data, or your child's privacy, please contact us:
- Operator: BMD Labs LLC
- Email: support@softballaitrainer.com
- Phone: (937) 350-1486
- Address for legal notices: BMD Labs LLC, 6545 Market Ave N, Ste 100, Canton, OH 44721
- Website: softballaitrainer.com