Effective Date: May 9, 2026
Developer: Adam Revetta
Contact: adamrevetta@gmail.com
Support Form: https://forms.gle/VqUPgxY8tgxcbMCM6
SportSense is a mobile app that helps parents record their child's baseball or
softball swing and receive AI-powered feedback to help improve swing mechanics.
We believe privacy should be simple. SportSense does not require an account,
does not ask for your name, email address, or any other directly identifying
information, and never sells or shares your data for advertising. To deliver AI
analysis we do use a small backend (hosted on Supabase) and a third‑party AI
provider (OpenAI). This policy explains exactly what is collected, why, where
it goes, and how long it is kept.
We collect only what's needed to make SportSense work and improve quality.
**On your device (never sent to our servers):**
- Athlete profiles you create (name, age, optional profile photo, batting
handedness). These are stored locally in iOS UserDefaults.
- Your saved swing history, scores, and any local app settings.
- Recorded videos of swings. These remain on your device unless you choose to
share or save them.
**Sent to our backend (Supabase) for AI analysis:**
- Selected video frames (typically 12–16 JPEGs at ≤300 KB each), or a still
setup photo, that the AI model needs to analyze the swing.
- Swing context that's required to score the swing: scene type
(tee / dry / pitch), the athlete's height, bat length, age band, video
duration, capture timestamp, capture frame rate, time-zone offset, and the
iOS device model.
- A randomly generated, app-specific **device identifier**
(Apple's `identifierForVendor`). We use this to authenticate your app
to our backend and to apply rate limits. It is not your Apple ID and is
reset if you delete and reinstall the app.
**Diagnostics & product analytics (sent to our backend):**
- App usage events such as: app opened, capture started, analysis
started/completed/failed, feedback viewed, result saved/shared, paywall
viewed, subscription started/completed/failed, errors shown, athlete added
or switched, and practice started. Each event is tied to your device ID and
a per-launch session ID, and may include non‑sensitive context (e.g. app
version, platform, screen surface, score range, error message excerpts).
- Anonymous OpenAI usage logs (model, token count, approximate cost) tied
only to your device ID, used for cost monitoring and abuse prevention.
- Crash reports collected only via Apple's standard, opt-in iOS crash
reporting (we do not bundle Crashlytics, Sentry, Firebase, or any other
third-party crash/analytics SDK).
**In-app purchases:**
- All payments are handled by Apple via StoreKit. We never see or store your
payment details. We do receive a transaction identifier and product ID via
Apple's verification, which we record in our analytics events to measure
subscription health.
We do not collect names, email addresses, phone numbers, contacts, location,
advertising identifiers, or photos/videos beyond the swing media you choose
to record and analyze.
We use the information above to:
- Run AI analysis and return swing feedback to you.
- Operate, debug, and improve app performance and reliability.
- Detect abuse, enforce rate limits, and monitor AI usage costs.
- Measure feature usage so we can improve SportSense.
We do not use your data for advertising, do not sell it, and do not share it
with data brokers.
SportSense uses two third-party processors to deliver the service:
- **Supabase** (database, storage, and Edge Functions): hosts our backend
in the United States. Frames, swing context, AI results, telemetry,
analytics events, and parent feedback events are stored here.
- **OpenAI** (vision/language model): receives the frames or setup photo
plus the analysis prompt to generate coaching feedback. Requests are
routed through our backend, never directly from the app, so OpenAI never
receives your device ID or app analytics. OpenAI handles the data under
its own API data-usage terms; we do not authorize OpenAI to use SportSense
content to train its general-purpose models.
Apple receives in-app purchase information directly via the App Store; we do
not act as an intermediary for payments.
We may also disclose data if required by law (e.g., a valid legal request)
or to protect SportSense, our users, or the public.
- **Swing videos uploaded for analysis** (when applicable): automatically
deleted from our storage after **30 days**.
- **Swing job records, frames sent for analysis, telemetry, and AI usage
logs**: retained for up to 12 months for quality, debugging, and abuse
prevention, then deleted or aggregated.
- **Analytics events and parent feedback events**: retained for up to 24
months for product analytics, then deleted or aggregated.
- **Athlete profiles, local swing history, and locally saved videos**:
remain on your device until you delete them or remove the app.
You may request earlier deletion of any backend data tied to your device ID
by emailing adamrevetta@gmail.com or using the support form.
SportSense is designed for parents and adult users (13+). We do not knowingly
collect personal information directly from children under 13. Parents are in
control of any recordings, athlete profiles, and analyses created on their
device.
If you believe a child under 13 has used the app to submit information
directly, please contact us and we will delete any related backend data
associated with that device.
- **Delete a single swing or athlete profile:** use the in-app controls.
- **Delete all locally stored data:** remove the app from your device.
- **Delete backend data tied to your device:** email adamrevetta@gmail.com
with the device ID (visible in Settings → About) and we will purge it.
- **Camera, microphone, and Photo Library access:** controlled by iOS
permissions and can be revoked at any time in iOS Settings. The microphone
is used only because video recording captures audio alongside video; we do
not analyze audio.
- **Manage or cancel your subscription:** Settings → Apple ID → Subscriptions
on your device.
- Connections between the app, our backend, and OpenAI use TLS encryption.
- Authentication uses a short-lived signed token tied to your device,
stored in the iOS Keychain.
- Backend tables use row-level security and service-role-only writes for
sensitive analytics tables.
- We follow Apple's recommended platform security practices.
No system is perfectly secure, but we work to keep your data protected and
will notify users in the app or by an updated policy if a material breach
affects them.
Our backend (Supabase) and AI provider (OpenAI) operate primarily in the
United States. If you use SportSense outside the U.S., your data will be
transferred to and processed in the U.S.
We may update this Privacy Policy as SportSense evolves. Material changes
will be reflected here and the "Effective Date" updated accordingly.
Continued use of the app after an update means you accept the revised
policy.
For questions or privacy concerns, contact:
Adam Revetta
📧 adamrevetta@gmail.com
📝 Support Form