Ballista Tracking
Privacy Policy
Ballista Tracking provides the Ballista iPhone baseball training app and ballistatracking.com. This notice explains information used for accounts, hitting analysis, cloud history, purchases, website visits and support.
1. Contact and requests
For privacy questions, access, correction, deletion or complaints, email [email protected]. If that address is unavailable, use [email protected]. Instructions are also available on our Support page.
Mail: Ballista Tracking, 2482 Yonge Street #1154, Toronto, Ontario M4P 2H5, Canada.
We may need to verify your identity before responding to a request. Your rights and any exceptions depend on applicable law. If we cannot fulfill a request, we will explain why where permitted. You can also raise a concern with the privacy regulator responsible for your jurisdiction, including the Office of the Privacy Commissioner of Canada.
2. Accounts and player information
We use Supabase to authenticate accounts and store account and player records. Email/password registration sends your email, password and profile information to Supabase. Ballista does not store your password in its profile or hit-history tables. Authentication sessions are stored securely on the device through the authentication SDK.
If you choose Sign in with Apple or Google, that provider authenticates you and supplies identity credentials and available account details, such as your name and email, for sign-in through Supabase. Apple may provide a private relay email. Provider accounts are governed by their own privacy notices as well.
Ballista asks for a first name, account type and batting side. Last name and birth year are optional; an exact birth date is not requested. We store the associated player name and account/player identifiers. An account type such as parent or coach does not verify age or legal authority.
3. Camera analysis and the setup image uploaded to cloud storage
Ballista uses the camera for preview, setup and hit capture. Analysis, including baseball detection with on-device machine learning, runs on the iPhone. The app saves selected camera frames, thumbnails, frame timing, results and available replay or diagnostic files in its own device storage.
On-device analysis does not mean all images stay on your iPhone. For a saved hit with an available setup frame, cloud synchronization automatically uploads one selected JPEG from shortly before the hit trigger, targeting about a quarter second before it. This is a frame from the camera view, not a screenshot of a setup screen. It can show the athlete, other people and the training space. There is no separate image-upload switch in the current app. Upload can occur later when connectivity and app conditions allow, including for unsuccessful analyses.
The image is associated with your account and hit. It supports setup and analysis troubleshooting and review of capture conditions alongside results. It is stored in Supabase Storage configured as a private bucket. Account access rules restrict ordinary users to their own account's files. Authorized Ballista administrators and service providers operating the system can access the image and related records for service operation and support, including through temporary signed image links. The image is not a public post.
The current production sync does not upload full camera video, the full sequence of replay or analysis frames, annotated playback or generated diagnostic videos. Cloud history restores results and metadata; it is not a backup of the original replay media. Other images stay in app storage unless you choose to send them separately, for example to support. Device backups are controlled by your device and backup settings.
4. Microphone, motion and location
Microphone access is optional. Audio Trigger processes a short rolling sample buffer and sound features in memory to detect a possible impact. Raw microphone recordings and sample buffers are not saved in hit history or sent to our cloud service. A hit record can indicate that Audio Trigger triggered capture and include its timing. You can use Mark Hit without microphone access.
Setup uses local camera, motion and spatial information to guide phone placement. Ballista does not request GPS location for hit analysis. Image coordinates and calibration geometry describe the camera view, not a GPS position. Service providers receive network information such as IP addresses, which may reveal an approximate location; Google's sign-in SDK declares approximate-location processing. This differs from permission to track your physical position with GPS.
You can change camera, microphone and other available permissions in iOS Settings. Disabling a permission affects future access; it does not erase previously saved or synchronized data.
5. Hit history and technical information
Cloud history links hit records to your account and player. Records include capture timestamps and trigger source; estimated exit velocity, launch angle and distance when available; analysis status, engine/model versions and failures; calibration values and image-space measurements; setup-image references and timing; and quality warnings and analysis diagnostics. Diagnostics can include frame counts and dimensions, capture duration and frame rate, analysis duration, tracking summaries and recovery information when applicable.
Records also include device model, iOS version, app version and build. These help operate, restore and troubleshoot the service. Device model is a hardware type, not by itself a unique device identifier. Session groupings, trends and personal records can be derived from hit history. Baseball metrics are estimates, not medical or certified radar measurements.
Local settings, calibration, recovery state, player caches, synchronization state, deletion requests and subscription-access evidence may remain on your device to operate the app offline and across launches.
6. Purchases
Apple processes in-app subscription purchases and manages payment details. Ballista uses verified transaction and subscription information, such as product, transaction identifiers, validity, expiration or revocation, to determine access. A Ballista account identifier is supplied to Apple to associate purchases with the account. The app can retain account-scoped access evidence locally. Ballista does not receive your payment card or bank details from this purchase flow.
Deleting a Ballista account does not cancel an Apple subscription or erase Apple's purchase records. Manage subscriptions through your Apple account. Contact support before deleting an account if you need help with access to a current subscription.
7. Website, communications and service providers
The website waitlist sends your email and submission source to a server handler for storage in Supabase; records also have creation timestamps. Messages you send to support may contain contact details, descriptions, attachments and device information you choose to provide. Do not send passwords, access tokens or password-reset links. We use this information to respond, handle requests and send updates you requested. You can ask us to stop marketing communications; service and security messages may still be necessary.
Our website source uses Vercel handlers and requests fonts or assets from services including Google Fonts, gstatic and unpkg. Hosting, asset and security providers receive connection information needed to deliver requests and may maintain technical or security logs. The site and sign-in services may use cookies or similar storage for essential sessions and security. Browser settings control browser storage. Ballista itself does not implement a behavioral-advertising system in the inspected app or website.
We use Supabase for authentication, database records, image storage and related service operations; Apple for sign-in and purchases; and Google for Google sign-in. Google's sign-in SDK declares processing of names, emails, phone numbers, approximate location, account and device identifiers, usage and other technical data for authentication and/or analytics. Which details are available can depend on the sign-in flow and provider settings. This does not mean Ballista requests your phone contacts or asks you to enter a phone number. Provider processing is described in Google's Privacy Policy and Apple's Privacy Policy.
The published service contact uses Ballista email addresses; communications infrastructure also processes messages. Contact us for information about the providers handling a particular request. We do not promise that every provider operates only in Canada. Information can be processed in other countries and may be subject to their laws and lawful government access.
We use information to provide accounts and training features, synchronize history, verify paid access, diagnose reliability, protect the service and respond to requests. We do not sell or rent personal information or use Ballista data for cross-app targeted advertising. We may disclose information to providers supporting these operations, advisers, or authorities where needed for legal obligations or protection against misuse. A transfer of the business may involve information subject to applicable safeguards and notice requirements. A materially different use requires appropriate notice and consent where required.
8. Retention and deletion
Account, player and hit records, including uploaded setup images, have no automatic age-based expiry in the current application. They remain until deletion is completed or another applicable retention process removes them. A Free-plan history access limit does not automatically delete older records or their images. We do not promise an image expiry after a fixed number of days.
You can request account deletion in Profile → Account Settings → Delete Account. The server deletion workflow attempts to remove setup images corresponding to the account's hit records before removing the authentication user; associated application profile, player and hit records are configured to be deleted with that user. This is not a promise of immediate removal from every system. If deletion fails or you believe a copy remains, contact us.
Deleting an individual hit requests removal of its cloud record and setup image. The current synchronization system has a known limitation: a retained copy on another device may reappear or upload again. Copies on other devices are not automatically erased. Contact support for deletion assistance across devices.
During account deletion, “Also delete local hit data” separately attempts to remove account-associated hit files and synchronization caches from that iPhone. Signing out does not delete those files. This option does not promise to clear every preference, subscription cache, unreadable file or backup. You can remove remaining app-container data by deleting the app and its data; Apple Keychain, device backups and provider records may require separate controls.
The image-cleanup workflow depends on identifying the account's hit records. If that lookup is incomplete, or an upload was not successfully associated with a record, additional cleanup may be needed. Provider authorization, logs, backups, support communications and Apple purchase records have separate lifecycles. Deleting Ballista does not delete your Apple or Google account; you can manage provider authorizations in those accounts' settings.
Support and privacy requests are kept as needed to respond and document handling. Waitlist records remain until managed or removed through the communications process. Provider log and backup retention depends on service settings and applicable obligations. We do not promise a specific deletion deadline for all provider copies. Contact us about retention or deletion of particular information.
9. Youth, security and changes
Baseball involves athletes of many ages. The app accepts an optional birth year and parent/coach account labels, but it does not verify parental authority or provide an age-verification process. Before supplying another person's information or capturing their image, ensure you have the required permission. A parent or guardian should contact us if information about a child was supplied without appropriate authority, so we can review and address it. This notice does not establish that every youth use is authorized in every country.
We use authenticated services and access controls to protect information. No device, network or service can guarantee complete security. We will review reported privacy incidents and take appropriate action, including legally required notices.
We may update this notice as the service changes. An approved published revision will show its effective and last-updated dates. Where required, we will give additional notice or seek consent for material changes. Use the contact details above for questions or complaints.