Privacy Policy
Last updated August 14, 2026
This page describes what Commissioner's Cockpitactually stores, why, and who it's shared with. No vague language about “may collect” — this is the real list.
What we collect
From the commissioner who sets up a league:
- Email address (used for sign-in and account communication).
About the league itself, pulled from Sleeper's public API — this is data Sleeper already makes public for the league, not private data we obtain some other way:
- League name, season, and format (scoring, roster settings, playoff structure).
- Rosters, matchups, standings, transactions, and Sleeper avatars.
About each league member, entered by the commissioner or read from Sleeper:
- Sleeper display name and team name (from Sleeper).
- Real name, email address, and persona notes — all optional, and all typed in by the commissioner, not by the member.
Generated by the Service:
- AI-generated narratives (recaps, previews, roasts) tied to a league and week.
- A cache of the raw Sleeper data above, kept so we're not re-fetching it constantly.
Why we collect it
Every field above exists to run the Service: identify who's in a league, generate content about that league, personalize that content with the details a commissioner chooses to add, deliver it by email, and let a commissioner sign back in to manage their league. We don't collect anything beyond what those jobs require, and we don't sell data.
Who it's shared with
We use a small number of subprocessors to run the Service. Each only receives the data it needs to do its job:
| Subprocessor | What it's used for |
|---|---|
| Anthropic | Generates the AI recaps, previews, and other narrative content from league data. |
| Resend | Sends transactional and league emails (sign-in links, weekly recaps). |
| Stripe | Processes payments. We don't store your card details ourselves. |
| Supabase | Hosts the production database that stores everything described above. |
| Vercel | Hosts and runs the application itself. |
We don't share data with anyone else, and we don't use it for advertising — ours or anyone else's.
Retention
We keep league and manager data for as long as a league is active in the Service, plus a reasonable period after in case the commissioner returns for a future season. Cached Sleeper data and generated narratives are kept indefinitely as league history, the same way Sleeper itself keeps historical season data — that's a feature of the product, not an accident. You can request deletion at any time (see below).
How to request deletion
Email support@commissionerscockpit.comfrom the commissioner's account email (or, for an individual league member, from the email on file) and we'll delete the associated records. This removes the league, its managers, cached Sleeper data, and generated content from our systems.
Cookies
The Service sets exactly one cookie: an httpOnly session cookie used to keep a commissioner signed in after they click a magic-link login email. It contains a random session identifier, not personal data, and expires automatically. There are no analytics cookies, no advertising cookies, and no third-party tracking pixels.
A note on league members' emails
If your email address is stored in a league's roster, it's because your commissioner added it — not because we collected it from you directly. Every email we send on a league's behalf includes a one-click unsubscribe link (no login required). Clicking it stops all future emails to that address immediately. You can also ask your commissioner to remove or re-add you at any time.
Changes to this policy
If we make a material change to what we collect or how we use it, we'll update the date at the top of this page.
Contact
Questions about this policy, or a data request: support@commissionerscockpit.com.