Legal
Privacy Policy
Last updated: November 2, 2026
1. Who this covers
D1 Performance LLC ("D1 Performance," "we," "our," or "us") runs a training system for football Athletes and their families through our mobile app, our websites and our in-person training (together, the "Service"). This policy explains what we collect, why we collect it, who can see it, how long we keep it and what you can do about it. It covers Athletes, Parents/Guardians and visitors to our websites.
The short version:
- We never sell personal information.
- We don't run ads. There are no ad networks, ad identifiers, tracking pixels or advertising SDKs in our app or on our websites.
- The Athlete owns their account. A linked Parent/Guardian can see the Athlete's training, but can't log workouts or food for them.
- You can delete your account in the app or by emailing us (Section 11).
Health-related data has its own page, the Consumer Health Data Privacy Policy. Data Trust is a one-page summary for families.
2. What we collect
When you create an account.
- Name and email address, and your role (Athlete or Parent/Guardian). Sign-in runs through Clerk, with email, Apple or Google. If you sign up with email, Clerk keeps your password and we never see it. We never see your Apple or Google password either. If you sign in with Apple, we keep an encrypted Apple sign-in token so we can disconnect D1 Performance from your Apple ID when you delete the account.
- An optional account photo, which you can add, change or remove in Settings. Clerk stores it with your sign-in account. Anyone linked to you in the app, and our trainers, can see it.
- When we record your acceptance of our Terms, we keep the version and date.
When an Athlete sets up their plan.
- Date of birth, grade, position, sex (used only to calculate body and fuel estimates), height and weight.
- Training details: season, practice and game days, team lifting, preferred training days, experience, available equipment, goals, and throwing, kicking, punting or snapping volume for specialists.
- A yes or no answer to whether the Athlete has any injuries or anything that hurts right now. If yes, setup asks whether a doctor, physical therapist or athletic trainer has told the Athlete not to train. A yes to that stops setup and asks the Athlete to get cleared. Otherwise setup asks where it hurts, how much, when, and about numbness or swelling, and saves those answers as a Discomfort Report. Setup doesn't ask about past injuries.
- Optional injury history. After setup, the Athlete can describe past injuries in Edit profile. We keep that text with the profile until the Athlete changes or removes it, or deletes the account.
- City and state. The app can offer to fill these in from your phone's location. If you allow it, your phone looks up the city and state, and we save only those, never your exact location.
While an Athlete trains.
- Workout logs: sets, reps, loads, times, effort ratings, exercise swaps and notes.
- The morning Readiness Check-In (good, ok or rough), check-ins after workouts, and Discomfort Reports (where it hurts, how much, and related symptoms).
- Fuel to Perform: the Fuel Goal, Fuel Target, weigh-ins and Food Logs. To log from a nutrition label, the Athlete can take or choose a photo. The app asks the Athlete before it sends the first one. After the Athlete allows it, the app removes hidden details, such as location, from the photo on the phone, then sends it to an AI model to read the label (Section 3). We don't store the photo on our servers. We keep the entry only if the Athlete reviews and saves it, and we record when each label was sent so we can limit how often label reading is used. When the Athlete searches for a food, the search text goes to our servers to find matches. We don't save a history of searches.
- Optional Apple Health or Health Connect data: sleep, height and weight (Section 4).
Messages and media (paid plans).
- Messages and film links in the Trainer Thread, the family conversation with D1 Performance trainers. Every paid plan has one. On Starter, trainers post and the family reads; on Playmaker, the family can also send form-check clips; on Game Changer, the family can message the Dedicated Trainer.
- Form-check video clips, on Playmaker and Game Changer. The app removes the sound, location and device details from each clip before it uploads.
- Reports and stops. If someone reports a Trainer Thread message, we keep the report: the reason, who reported it, which message, and what our team decided. Support gets an email with the Athlete's name, the reason and whether an Athlete, Parent/Guardian or trainer sent the report. If the family stops contact with a trainer, we record the Athlete, the trainer, when, and whether the Athlete or a Parent/Guardian asked, and Support gets an email about it. The family can still read the thread.
Things the family adds.
- GPA and course entries for the Eligibility Outlook, schedule entries, and details for the Recruit-Ready Profile, such as film links, a school or team name and optional contact details. Athletes and linked Parents/Guardians can both add these, and we show who added each one.
In-person training.
- Bookings, attendance, session credits, evaluation results our trainers record, and pickup addresses for transportation.
Payments.
- Purchases happen on our website, and Stripe handles every card. We never see or store card numbers. We keep the plan, its status, amounts paid, refunds and Stripe's reference numbers. The mobile app itself takes no payments.
Support and requests.
- Emails you send to Support.
- Feedback you send in the app. We keep what you wrote, when you sent it, your phone's platform and the app version. We email it to our team with your name, email and role (Athlete or Parent/Guardian).
- Requests for D1 Performance in your area. The form on our website collects your email, city and state. In the app, a request uses the name and email on your account, the Athlete's saved city and state (and ZIP code, if one is saved) and any notes you add, and we link it to the Athlete and to your account.
Collected automatically.
- Error reports. When something breaks, we send an error report to Sentry. Reports from the mobile app include the app version, the type of phone software and what failed. They leave out your name, email, account ID, health data, messages, what's on your screen and what you tapped. For a sample of launches, the app also sends performance measurements: startup time, slow or frozen frames and stalls. Our websites remove sign-in details, form entries, email addresses and phone numbers from their error reports. A report from our servers names what failed and can include an internal account ID.
- No screen or tap tracking. The app doesn't track screens viewed, taps or how you move around it, and there's no session replay or screen recording anywhere in the Service. We do record when you last read a Trainer Thread and whether you've seen a Nudge or an Earned Milestone, so the app can show what's new.
- Account activity. Clerk tells us when your account was last active. We store that time and show it to our team.
- Subscription payments. When you start paying for a Subscription on Stripe, we record when you started and whether the payment went through or ran out of time. That lets us cancel an unfinished payment if the account is deleted or a family link ends. We don't record other purchase steps, such as opening the purchase page or returning to the app.
- Web page visits. Our web booking app and the Trainer Console count page visits with Vercel Web Analytics, which doesn't use cookies. The web booking app also records each time it shows its notice that it's built for phones, and on which page. Our public website and the account site don't use Vercel Web Analytics.
- Notifications. If you turn notifications on, we store your phone's push token and platform (iOS or Android) so we can send them.
- Time zone. When an Athlete opens the app, it sends the phone's time zone, even with notifications off. When the time zone changes, we store the new one and when it changed, so training days and reminders follow the Athlete's local time.
3. How we use it
- To build, adjust and progress the Athlete's plan, including the safety rules that respond to a rough check-in or a Discomfort Report. Fixed rules make these decisions. No AI decides an Athlete's plan.
- To show progress to the Athlete and their linked Parents/Guardians.
- To connect Athletes with their trainers.
- To run accounts, family links, Subscriptions, billing and in-person bookings.
- To send service messages: sign-in codes, receipts, booking confirmations, trial and renewal notices, Trainer Thread alerts and Progress Reports. Emails near the end of a free trial invite you to keep going with a paid plan, and every one of those has an unsubscribe link. Progress Report emails, meaning the monthly report and the trial summary, have their own switch: tap Manage report emails in any of them to turn them off or back on. The reports stay in the app. We keep a record of which of these emails you've turned off. We don't send text messages.
- To answer support requests.
- To keep the Service working and secure: sign-in, fraud and abuse prevention, and fixing errors.
- To meet legal obligations.
Where we use AI. An OpenAI model reads a nutrition-label photo and drafts a Food Log entry for the Athlete to check. Convex, which runs our servers, sends the photo through OpenRouter to that model. OpenRouter picks the service that runs it, such as OpenAI or Microsoft Azure. Each request tells OpenRouter to use only a service whose policy is not to keep or collect what we send. If none is available, the label isn't read. Convex and OpenRouter keep a record of each request for usage and billing, and their own terms govern anything else they keep. No photo is sent until the Athlete allows it. The Athlete can enter the food manually instead, and can turn label reading off in Settings under Label photos, after which the app asks again before the next photo. Progress Reports show saved records and exact trainer notes without sending report facts to AI.
We don't use personal information for advertising, we don't sell it, and we don't use it to make decisions with legal or similarly serious effects on anyone.
4. Health data
The full details are in the Consumer Health Data Privacy Policy. In short:
- Connecting Apple Health or Health Connect is optional. The app reads sleep, height and weight, and nothing else. It never writes to either one.
- Nothing is read until the Athlete taps Connect and allows access on their phone. Saying no doesn't block anything.
- Athletes 13 to 17 can turn it on themselves. The first time an Athlete under 18 turns it on, each linked Parent/Guardian is sent a notification, and so is a Parent/Guardian who links later. Linked Parents/Guardians can see the measurements. While the Athlete is under 18, each linked Parent/Guardian can stop future collection.
- Stopping collection doesn't delete what's already stored. The Athlete can delete the stored Apple Health or Health Connect data separately, in Settings, under Health access.
- Readiness Check-Ins, Discomfort Reports, injury history, body measurements and Food Logs also count as health data. The Consumer Health Data Privacy Policy covers them too.
5. Children and teens
- 13 and older only. We ask for date of birth during setup, and nobody under 13 can finish an Athlete profile. If we learn that a child under 13 has given us personal information, we'll delete it and close the account. Tell us at support@d1performancetraining.com if you think we have one.
- The Athlete owns the account. A Parent/Guardian link is optional. A linked Parent/Guardian can see the Athlete's training and can pay for it, but can't change what the Athlete logs or delete the Athlete's account.
- Nothing public. There are no public profiles, public leaderboards, social feeds or messages from strangers. The Recruit-Ready Profile is shared only if the family saves it as an image and sends it themselves.
- No ads and no selling. This applies to everyone, including teens under 16.
6. Who can see your information
- The Athlete sees everything in their own account and can see which adults are linked to them.
- A linked Parent/Guardian can see the Athlete's plan, workout logs, Fuel Target, Food Logs, Readiness Check-Ins, Discomfort Reports, Health measurements, progress, Eligibility Outlook and Recruit-Ready Profile. On a paid plan they're in the Trainer Thread too, with the Athlete and the trainer. When the paid plan ends, the Athlete and every linked Parent/Guardian can still read the thread's messages and clips, including a Parent/Guardian who links later, but nobody can post in it. The app has no private messaging between an adult and a minor. Either side can end the link at any time, and the Parent/Guardian's access stops right away.
- D1 Performance trainers and staff can see Athletes' training records, Trainer Threads and form-check clips so they can train Athletes, review training and run the Service. Every staff member can see Athletes who use or have used The Blueprint. Facility staff can also see Athletes whose home Facility is theirs or who hold credits there. Admins can see every Athlete. Of our staff, only the trainer seated in a family's Trainer Thread can post in it: the Dedicated Trainer on Game Changer, or the D1 Performance trainer assigned to the family on Starter and Playmaker.
- Service providers process data for us to run the Service:
- Clerk: sign-in and account identity
- Convex: our database and servers, and the AI gateway for nutrition-label reading
- Stripe: payments and billing
- Sentry: error reports
- Resend: email delivery
- Apple and Google: Sign in with Apple and Google sign-in
- Expo, with Apple and Google's push services: notifications and app updates
- Vercel: website hosting, and page counts as described above
- Amazon Web Services: part of our public website's hosting
- OpenRouter: sends nutrition-label photos to the AI model, described in Section 3
- A service OpenRouter picks, such as OpenAI or Microsoft Azure: runs the model that reads nutrition-label photos
- Google Calendar: our trainers' session calendars, which show Athlete names and session times
- Legal and safety. We disclose information when the law or legal process requires it, or to protect someone's safety.
- A sale of the business. If D1 Performance is merged or sold, personal information may move with it under this policy, and we'll tell you.
We don't give personal information to data brokers or advertisers. Service providers get it to run the Service for us, and some also keep records under their own terms, as described in this policy.
7. Notifications
Notifications are optional, and you can turn them off in your phone's settings. Most just say there's an update in D1 Performance. Some training notifications name the reason for a plan change, such as a rough check-in, and that text can appear on the lock screen. When pain or discomfort causes a plan change, the notification only says your plan changed; the details stay in the app. When you open a notification, the app checks that you still have access before it shows anything.
8. Cookies and tracking signals
Our public website sets no cookies. The account site and the web booking app use our sign-in provider's cookies to keep you signed in. Stripe's payment pages set their own cookies. We use no advertising cookies, social media pixels or cross-site trackers.
We don't sell personal information or share it for cross-site advertising, so a Global Privacy Control or Do Not Track signal has nothing to turn off.
9. How long we keep it
- Your account. Training history, Food Logs, recovery records, progress and messages stay while the account exists, even if a plan ends, because the family can keep reading them. Deleting the account removes them (Section 11).
- Unfinished setup. Before you sign up, setup answers are saved only on the phone. To show the plan preview, the app sends them to our servers, which build the preview without saving them. If setup sits untouched for 14 days, the app won't use those answers again and tries to clear them from the phone the next time it opens setup.
- Nutrition-label photos. Not stored on our servers. If you chose a photo from your library, the app doesn't delete it there.
- Unused purchase links. These expire after ten minutes. Our scheduled cleanup removes their full records and keeps only the account references needed to check access, proof the link wasn't used, and its expiry. This lets the app confirm a cancelled purchase for 30 days after the link expires. The proof contains no name, email address, link back to the app or payment content, and is deleted after that window or when either account is deleted.
- Opened purchase links. You have 24 hours to start a purchase after a link is created. If you open the link without starting a payment or a request to manage billing, we delete its record 30 days after those 24 hours end. When we confirm your return from managing billing, we keep the link for 30 days after that return or the end of those 24 hours, whichever is later. A new request starts a new wait for confirmation. Once we confirm how every payment started from the link ended, whether it went through, failed or expired unpaid, we delete the link 30 days after the last confirmation. Until then, including while a payment is processing, we keep it. If we can't confirm how a payment ended or that you returned from managing billing, as with some older links, we keep the link until either account is deleted. This cleanup doesn't delete your Subscription or billing records.
- Emails we send. When an email is sent, or we stop trying to send it, we erase the address it went to, what it said and any delivery error. A daily cleanup erases the same details from older emails. To prevent duplicate sends, we keep a small record of each email: an internal reference, whether it was sent, and links to the accounts it concerns. The record contains no name, email address or email content. We delete it when any of those accounts is deleted, or sooner when the Trainer Thread message or Progress Report it was about is deleted. The record of a Support alert about an account deletion that couldn't finish is kept with that deletion's record (Section 11). Resend keeps its own delivery logs for a period it sets.
- Unsent clips. A form-check clip that finishes uploading and is ready to post, but never gets attached to a message, is deleted after about a day. If sending stops earlier, the app tries to delete the upload the next time you open the Trainer Thread, so it can take longer.
- Error reports. Sentry keeps them for 30 days. Deleting your account doesn't delete them sooner.
- Records we keep after deletion. See Section 11.
10. Security
Data travels over encrypted connections. Our servers check every request against the account making it, so a family sees only their own linked Athletes. No system is perfectly secure. If a breach affects your personal information, we'll tell you and the authorities as the law requires.
11. Deleting your account
An Athlete or Parent/Guardian can delete their own account in the app: Settings, then Delete account. The app shows what will be deleted, what we keep, and what happens to billing and credits, and asks you to type DELETE to confirm. You can also email support@d1performancetraining.com from the account's email address. Deletion is permanent.
After you confirm in the app, or after we verify your email, we close the account and finish deleting it on our servers. That can take a little while. If a step fails, we retry it, and if it still can't finish, our team follows up.
What we delete.
- The account itself and the sign-in account with Clerk. We don't keep a renamed or "anonymized" copy of the profile.
- Profile, plan, workout logs, check-ins, Discomfort Reports, Fuel and Food Logs, Apple Health and Health Connect data, progress, Eligibility entries, messages, clips, bookings, evaluations, family links, invites, notification settings for your phones and the emails we sent about the account.
- If you used Sign in with Apple, we ask Apple to remove D1 Performance from your Apple ID. If that can't be done, we tell you how to remove it in your Apple settings.
What happens to billing.
- Deleting an Athlete account cancels that Athlete's Subscription right away and ends their access. Unused session credits can't be used afterward. There's no automatic refund. Contact Support about refunds.
- If a Parent/Guardian who pays deletes their account, the Athlete keeps access through the end of the paid period, and the plan doesn't renew.
- A Parent/Guardian who doesn't pay can delete their account without changing the Athlete's plan.
- Deleting a Parent/Guardian account doesn't delete the Athlete's account, the Athlete's own records, purchases or credits. It deletes the Parent/Guardian's own Trainer Thread text messages and film links, and the Recruit-Ready Profile details they added. Schedule entries they added or last changed stay, without their titles. Course entries they added stay, without their name on them. A form-check clip they posted stays with the Athlete, also without their name. A Parent/Guardian can't delete the Athlete's account.
What we keep, and why.
- Payment, refund and credit records (amounts, dates and Stripe's reference numbers) for taxes, accounting, refunds, chargebacks and fraud prevention. These records don't include your name or email. Stripe keeps its own payment records under its own policies.
- Consent records (what was agreed to, which version, and when) as proof of that consent. These don't include your name or email either.
- A deletion record with the deleted account's internal ID numbers, so a late sign-in or payment message can't bring the account back.
Deleting your account doesn't delete emails you sent to our Support inbox. Ask us and we'll delete them. It also doesn't delete copies of in-app feedback, message reports or contact stops already emailed to our team. Our service providers may keep copies in their own logs and backups for a period they set.
Apple Health and Health Connect data only. An Athlete can delete this stored data without deleting the account, in Settings under Health access.
12. Your privacy rights
We offer these rights to everyone who uses the Service, wherever you live:
- Access. You can see your training, logs and profile in the app. You can also ask what we hold about you and get a copy.
- Correction. Edit your profile and logs in the app, or ask us to fix something you can't edit.
- Deletion. See Section 11.
- Opting out of sale, targeted ads or profiling. We don't sell personal information, show targeted ads, or use profiling that leads to decisions with legal or similarly serious effects. If you ask, we'll confirm it in writing.
- No penalty. Using these rights never costs you features or a higher price.
Email support@d1performancetraining.com from the email on your account. We check that the request comes from the account owner, or from a linked Parent/Guardian's account for their Athlete, and we may ask for more proof if the request is sensitive. Where your state allows it, you can use an authorized agent. We answer within 45 days, or tell you if we need another 45.
If we turn down a request, we'll tell you why. You can appeal by emailing legal@d1performancetraining.com with "Appeal" in the subject line. We answer appeals within 60 days, or within 45 days for health data requests (see the Consumer Health Data Privacy Policy). If we deny your appeal, you can contact your state Attorney General.
California. We don't sell or share the personal information of any consumer, including consumers under 16, and haven't in the past 12 months. We don't give personal information to others for their own direct marketing.
13. United States only
The Service is run from the United States for people who live there. We don't offer it in the European Union, the European Economic Area or the United Kingdom.
14. Changes to this policy
When we change this policy, we update the date at the top. If a change reduces your rights or changes how we use minors' or health data, we'll tell you by email or in the app before it takes effect, and we'll ask for consent where the law requires it.
15. Contact
Privacy questions, requests and deletion help: support@d1performancetraining.com.
Legal notices and appeals: legal@d1performancetraining.com, or write to D1 Performance LLC, 3553 Drews Ct, Alexandria, VA 22309.