Account Information
When you create an account, we collect:
- Email address and password (password is hashed and stored securely by our authentication provider)
- Name (optional, if you choose to add it)
- Alternatively, you may sign in with Google or Apple, in which case we receive your name and email from that provider
- Date of birth (every user is required to enter their full date of birth during onboarding; access to the App's features is blocked until this check is completed. DOB is stored as part of your account information.)
Profile Information
You may optionally provide:
- Your role (athlete, coach, or parent)
- Your primary event focus (short sprints, long sprints, hurdles, jumps, other)
- Leaderboard opt-in preference
Test & Training Data
When you use the App’s tools, we may store results in your account history or locally on your device, depending on the tool and whether you choose to save the result.
Reaction Time Test: reaction times (in milliseconds), false start indicators, and session grouping are saved to your account history.
CNS Tap Test: tap counts, inter-tap intervals, consistency metrics, fatigue index, readiness scores, and optional caffeine tags are saved to your account history.
Speed Profile / Performance Predictor: step frequency, step length, velocity, fly zone times, and scenario projections may be saved to your dashboard/history if you choose to save them.
Wickets Calculator: drill configurations and computed spacings generated from athlete measurements or selected inputs. Certain calculator inputs or preferences may persist locally on your device for convenience, but wicket calculations are not saved to your dashboard/history.
Block Check: body position angles, checkpoint scores, and other derived measurements from pose analysis are saved to your account history if you choose to save them. Exported images generated from the analysis are saved locally on your device only and are not uploaded to our servers.
Kinogram Analysis: video frames, stride annotations, comparison data, and generated or exported images may be saved locally on your device if you choose to save them.
All image and video analysis is performed on your device. We do not upload raw images or videos to our servers in the current version of the App. Only the resulting measurements, metrics, and other saved results described above are stored in your account or App history where applicable. Locally saved images and on-device analysis data are described further in Section 5.
Age Eligibility
You must be at least 13 years old to use the App, or the minimum age of consent for data collection in your jurisdiction if that is higher. At sign-up, we collect and store your date of birth, regardless of whether you sign up with email, Google, or Apple.
We do not knowingly collect personal data from users below the applicable minimum age. If we become aware that a user below the minimum age has registered, we will delete the account and associated data. To report such an account, contact us at support@outperformsports.com.
Device & Usage Information
We automatically collect:
- Device information: platform (iOS/Android), screen dimensions, and a truncated user agent string
- Usage events: which tools you open, how long you use them, and session identifiers
- Error reports: crash data and error stack traces (sent to Sentry, our error monitoring service). These do not include personal information beyond your user ID.
We use the information we collect to:
- Provide and maintain the App's features (saving your test results, calculating metrics, displaying your history and trends)
- Display leaderboard rankings (only if you opt in)
- Send you a daily CNS tap test reminder (only if you enable notifications)
- Diagnose and fix bugs via error reports
- Understand how the App is used so we can improve it (aggregate usage analytics)
- Determine whether users meet the minimum age requirement (13+)
We do not:
- Sell your personal information to third parties
- Use your data for advertising or ad targeting
- Share your individual test results with anyone. The public leaderboard, which you must opt in to, shows only your first name and last initial alongside your best-5 average reaction time..
We use the following third-party services. We select providers with published privacy policies and security practices appropriate for the data they handle.
| Service | Purpose | Data Shared |
|---|
| Supabase | Authentication, database, and backend infrastructure | Account info, profile, test results, analytics events |
| Sentry | Error monitoring and crash reporting | Error details, stack traces, user ID (no passwords or test data) |
| Cloudflare Turnstile | Bot and abuse prevention (invisible CAPTCHA on web-based auth flows) | Browser signals including IP address, TLS fingerprint, and user-agent string to generate a verification token |
| HaveIBeenPwned | Checking passwords against known data breaches on sign-up | First 5 characters of the password's SHA-1 hash (k-anonymity). Standard HTTPS request metadata (IP address). |
| Resend | Transactional email delivery (verification codes, password resets) | Email address and email content |
| Google CDN / jsDelivr | Hosting the MediaPipe pose detection model and runtime, downloaded on first use | Standard request metadata (IP address, user-agent). No personal data sent. |
| Google MediaPipe | On-device pose detection for block check and video analysis | None — runs entirely on your device after the initial model download |
| Apple / Google | Sign-in (optional) | Authentication is handled by the platform; we receive name and email for sign-in |
- All user data is stored in a secured Supabase Postgres database with row-level security policies, meaning each user can only access their own data
- Passwords are hashed by Supabase Auth — we never store or see plaintext passwords
- Error reports sent to Sentry are scrubbed of cookies and request headers before transmission
- Authentication sessions are managed by Supabase and persisted on your device so you stay signed in between app launches. Session tokens are access credentials, not passwords, and we never store or see your password.
- Data in transit is encrypted via HTTPS/TLS
The App stores some data locally on your device for performance, convenience, and optional saved media:
Video analysis metadata and cached speed profile data.
Block check exported images and related on-device analysis data
Kinogram frames, annotations, comparison data, and generated/exported images stored locally on your device
Notification preferences
Onboarding, UI state flags, and coach guidance dismissals
Analytics opt-out preference
When you sign out, session state and some cached local data are cleared. Certain locally saved block check and kinogram records may remain on the device, scoped internally to your account so that other users on the same device cannot access them. Reaction test and CNS tap test history is stored with your account and remains available when you sign back in. Those local records are removed when you delete your account or uninstall the App. A small number of device-scoped items (such as the App Store review prompt state and open count, and CNS reminder preferences) persist across sign-outs so that we don't repeatedly prompt the same device.
Analytics Opt-Out
You can opt out of usage analytics within the App. Error reporting (Sentry) remains active to ensure App stability.
Leaderboard
Leaderboard participation is opt-in. Your results are private by default.
Notifications
Daily reminders require your explicit permission and can be disabled at any time in the App or your device settings.
Delete Your Account
You can permanently delete your account and all associated data from the Profile screen in the App. This action is irreversible and removes all your test results, profiles, and analytics data from our servers. It also clears locally stored App data described in Section 5.
Access Your Data
You can view all your stored test results, history, and profile information within the App at any time.
We retain your data only as long as necessary for the purposes described in this policy:
- Account information, profile, and test results: retained until you delete your account. When you delete your account, all associated records are permanently removed from our servers.
- Analytics events (usage data, session identifiers): retained while your account is active and deleted when you delete your account.
- Error reports (crash data, stack traces): managed according to Sentry's retention policy.
- Transactional email logs (verification codes, password resets): managed according to Resend's retention policy.
- Authentication and security logs: managed by Supabase according to its platform defaults.
- On-device data (IndexedDB, local storage): some data is cleared on sign-out, while some remains on your device until you delete your account or uninstall the App, with the limited exceptions noted in Section 5.
Anonymized, aggregated data that cannot identify you may be retained for product improvement purposes. We may also retain limited records as required by law or to prevent fraud.
The App is not intended for children under 13, and we do not knowingly collect personal information from children under 13. At sign-up — whether via email, Google, or Apple — we collect and store date of birth to determine eligibility, and we reject any registration where the stated age is below 13. If we learn that we have collected personal information from a child under 13, we will delete that information promptly. Parents or legal guardians who believe a child under 13 has provided us with personal information may contact us at support@outperformsports.com to request account deletion.
We may update this privacy policy from time to time. We will notify you of material changes by updating the "Last updated" date at the top of this page and, where appropriate, through an in-app notification. Continued use of the App after changes constitutes acceptance of the updated policy.
If you have questions about this privacy policy or your data, contact us at:
Privacy related inquiries email: support@outperformsports.com