FLAGLAB / 2026-11-09
Privacy Policy
FlagLab is operated by Zabih Yousuf in Virginia, United States. Contact: support@flaglab.win. FlagLab is a 5v5 flag football play designer and trainer, on the web at flaglab.win and in the FlagLab iPhone app. Both use the same account. This page says what we keep, why, who helps us run it, and how to delete it. The short version: we keep what you make and what you need to sign in, and collect limited diagnostics to run and protect the service. Usage analytics is optional and starts on for new users. You can turn it off in Account settings at any time. Previously saved opt-outs remain off. No ads or tracking across other apps or websites.
What we keep
Your account:
- Email address and password. The password is stored only as a secure hash by our sign-in provider; FlagLab does not store readable passwords.
- Your name: the first and last name you give when you sign up, kept as your display name. You can change it.
- Your birth year: only the year, never the full date. We ask it once to confirm you are 13 or older, and keep it with your account.
- An account ID that links your account to what you make.
What you make:
- Your plays, playbooks and call sheets.
- On the web: the teams, players (the names and ratings you type), kits, logos you upload, opponents, coverages, saved Drives and simulation runs you create.
- The squads you coach or join (see Squads below).
Purchases (iPhone app):
- Apple takes the payment; we never see your card or your Apple Account details.
- We keep your subscription's status so your plan works on the phone and the web: the plan, Apple's transaction ID, the renewal or end date, whether it renews, whether it came through Family Sharing, and a log of Apple's notices about it (renewed, expired, refunded).
- If we give you Pro or Coach free, we keep that grant: the plan, its end date if it has one, a note on why, and who asked for it.
On your phone only:
- Trainer progress, grades, streaks, the daily rep count and your trainer settings stay on your phone and are never sent to us, except the daily progress summary you can choose to share with a squad's coach (see Squads below).
- When you share a replay clip, the app makes the video on your phone and opens the share sheet. The clip is never sent to us: it goes only where you send it, and the app deletes its copy the next time it starts or when you delete your account.
Logs:
- Our sign-in provider, Supabase, logs each sign-in with its time and your IP address, and logs requests to the database and server functions.
- Cloudflare hosts our public website and processes connection information, including IP addresses, to deliver and protect it. Vercel previously hosted the website and may retain historical operational logs under its retention policy.
- These logs are used only to run FlagLab, fix problems and keep accounts safe, and are kept for the time each provider's service sets.
If you email support, we keep the conversation to answer you.
Diagnostics and optional usage analytics
Minimal diagnostics are enabled to identify crashes, errors, outages and slow operations. Reports include bounded operation and error codes, durations, app version, release environment, iOS version and coarse device family. We use Grafana Cloud for aggregate metrics and sanitized logs, and GlitchTip for sanitized crash stacks. Requests to these providers also expose connection information such as your IP address to the provider. GlitchTip anonymizes the address and retains a masked network prefix with crash reports.
Share usage analytics starts on for new users. Unless you turn it off, we collect aggregate counts of steps such as starting practice, opening replay and opening an upgrade offer. You can turn it off in Account; queued optional events are discarded. This does not turn off essential service-health diagnostics. We do not build per-person activity profiles.
Telemetry excludes names, email addresses, credentials, purchase payloads, play contents and replay recordings. We do not record your screen or use advertising identifiers. Server-side account and verified purchase counters support service operation independently of optional usage analytics; trials, test purchases and paid subscriptions are distinguished.
What we don't do
- No ads, in any version of FlagLab.
- No tracking: we don't follow you across other apps or websites, don't use the advertising identifier, and show no tracking prompt because there is nothing to ask.
- No session recordings or per-person analytics profiles.
- We don't sell your data or share it for marketing.
- We don't collect your location, contacts, or photos. The app asks to add to Photos only when you choose Save Video for a replay clip in the share sheet, and never reads your photos.
Why we use it
- To run your account and sign you in.
- To keep your plays, playbooks and call sheets in sync between the web and your phone.
- To unlock the plan you paid for, and to check purchases with Apple.
- To run the squads you coach or join, and to stop invite codes being guessed.
- To keep the app up to date.
- To answer you when you write to support.
Who helps us run FlagLab
- Supabase: the database, sign-in, file storage, and the server functions that check purchases with Apple.
- Cloudflare: hosts the public flaglab.win website and provides DNS and website security. Vercel: previous website hosting; historical operational logs may remain under its retention policy.
- Resend: sends account confirmation and password-reset emails and receives support correspondence, including sender addresses, message content and delivery information.
- Expo (650 Industries): delivers app updates. Each time the app opens, it asks Expo's update server for a newer version; Expo receives your IP address, the app's version and platform, and a random ID for that install, not your account.
- Apple: the App Store, payments, subscriptions and refunds, under Apple's own privacy policy.
- Grafana Cloud: aggregate service metrics and sanitized operational logs.
- GlitchTip: sanitized app crash reports and stack traces to diagnose failures.
We require providers acting on our behalf to provide the same or equal protection described in this policy under appropriate service and data-processing terms. Apple also processes App Store and payment data under its own policies. We share data when you direct us to (for example, sharing with a squad), as needed with the providers listed here, or when required by law or necessary to protect legal rights and account security. We do not sell personal data.
Children
FlagLab is not directed to children under 13, and accounts are for people 13 and older. Sign-up asks the year you were born. If the answer is under 13, no account is made and nothing typed is kept or sent to us; a note stays on that device only, so the question can't be retried straight away.
If you believe a child under 13 has a FlagLab account, email support@flaglab.win and we will delete it.
How long we keep it
We keep your account and what you make for as long as you have the account. When you delete it, your account, everything you made and your purchase records and any free plan we gave you are removed from our database at once. If Apple sends us a notice about one of your purchases after that, we keep it with Apple's transaction ID, the kind of notice and its date, linked to no account. Copies may remain in restricted provider backups until their retention cycle expires; they are not used for ordinary account access. Apple keeps its own record of your purchases under Apple's policy.
Support correspondence is retained only as long as reasonably needed to resolve your request, maintain necessary business records or meet legal obligations.
The selected monitoring plans retain Grafana metrics and logs for 14 days and GlitchTip crash reports for 30 days. Non-identifying aggregate account, purchase and operational totals may be retained longer in our database. Account-linked duplicate-event bookkeeping is deleted with the account; historical non-identifying totals remain.
Deleting your data
- In the iPhone app: Account › Delete account.
- On the web: Settings › Delete account.
- Or email support@flaglab.win from the address on your account.
Deleting your account does not cancel a subscription; Apple bills it. Cancel it in your iPhone's Settings › your name › Subscriptions.
Security
The app and website use encrypted HTTPS connections to our services. Email delivery also depends on the security of your email provider. Passwords are stored only as secure hashes. The database lets each account read and change only its own data, apart from what a squad shares, below. The keys that check purchases with Apple live only on the server, never in the app. No system is perfectly secure; if a breach affects your data, we will tell you as the law requires.
Squads
A coach on the Coach plan can invite players to a squad with a code. Joining a squad shares:
- with the squad's coach: your display name, the date you joined, and whether you chose to share your progress (off unless you turn it on, and you can change it any time).
- with the squad's coach, if the coach has the Team add-on: whether you have FlagLab Pro of your own and whether the coach gave you one of the squad's Pro seats (a player with Pro needs no seat). Not your plan's price, dates or anything else of your purchases.
- your daily progress summary, only if you turn sharing on (below).
- nothing else of yours: playbooks and call sheets go the other way, shared by the coach for members to read, and so do the challenges a coach assigns. Whether you finished one is worked out on your phone.
If you share your progress, your phone sends us a summary for each day you train, for that squad's coach: the date, how many reps you threw that day, your best-read rate that day, and which challenges you finished. Nothing else of your training is sent to the coach: no plays, grades, streaks or anything about a single throw. The squad's coach can read your summaries only while sharing is on. Service diagnostics and optional aggregate usage analytics are described separately above.
Turning sharing off, Delete my shared progress, leaving the squad or being removed deletes the summaries you sent to that squad. Deleting your account deletes them too.
Anyone signed in who holds a live invite code can see the squad's name and the coach's display name, so a player knows what they are joining. To stop codes being guessed, we count each account's wrong codes; after ten in 15 minutes, codes are refused until the 15 minutes pass. When you leave a squad, or the coach removes you, your place in it is deleted.
Your choices
You can see and change what you made in FlagLab at any time, and change your display name in your account. To ask for a copy of your data or anything else about it, email support@flaglab.win. We verify requests as needed to protect your account and respond within the period required by applicable law. Depending on where you live, you may also have rights to access, correct, delete or obtain a portable copy of your data, object to or restrict processing, withdraw consent where processing relies on it, appeal a decision, or complain to a privacy regulator. Contact us at the same address to exercise a right or appeal. We do not sell personal data or use it for targeted advertising.
Processing locations and legal grounds
FlagLab operates from the United States and uses the service providers named above, which may process data in the United States or other countries. Where required by applicable law, international transfers must use an appropriate legal safeguard. We process account and subscription data to provide the service you request, limited security and reliability data for our legitimate interests in operating a safe service, and records required by law to meet legal obligations. Where consent is legally required, it must be obtained before that processing; you may withdraw it without affecting earlier lawful processing.
Changes and contact
If this policy changes, we update the date at the top, and provide notice of material changes by email, in the app or another appropriate channel as required by law. Questions: support@flaglab.win. See also our Terms of Use.