What we store
Your Google account, from signing in: its account ID, its email, and your name. That is how the site knows it's you when you come back to manage the bot, and it is the address we'll actually use to reach you.
Then, per league you sign up: the league ID, the persona you chose, and the email address you entered at Stripe's checkout — which can be a different address from your Google one, and that's fine. One is who owns the dashboard, the other is the billing contact. Alongside them we keep Stripe's checkout, customer, subscription, and payment references so a league can be matched back to its billing record when you ask for support or a refund.
For Discord signup we briefly keep hashed authorization nonces plus the server and channel choices long enough to reach checkout. Discord's user access token is used only during the callback and is never stored. The bot token is our server credential; we never ask you for one and never put it in the signup record.
We use your email to contact you about your signup: a refund, a problem with your league, the bot going away. It isn't a mailing list and there is nothing to unsubscribe from.
What the bot reads
The bot reads your Sleeper league data the way any manager could: rosters, standings, matchups, transactions, and draft picks. It reads the chat you selected — Sleeper league chat or one Discord channel — to notice when someone @s it.
It reads fantasy data from Sleeper and chat from the selected provider as it goes. What it keeps between posts is what it needs to do its job — enough league state to write a recap that remembers last week and to not answer the same mention twice.
Language models
The posts are written by a language model, which means league content goes to the provider running it: scores, rosters, transactions, and the chat messages that @ the bot, including whoever wrote them. That's how a recap gets written at all.
Your email address is not part of that — it never leaves our side. We don't send league content anywhere else, and nobody's data is used to train anything by us.
Payments
Stripe processes the payment and holds the card details; we never receive them and couldn't leak them if we tried. What Stripe does with what it collects is covered by Stripe's own privacy policy.
This website
The site runs no ad trackers. The signup exceptions are Cloudflare Turnstile, which checks you're not a script, and Discord when you choose to install the bot there. Each provider handles those requests under its own privacy policy.
The site and the API sit behind Cloudflare, so Cloudflare handles the requests and logs them as any host would.
Deleting it
Email us and we'll delete your account and your signups: the Google account, league IDs, Discord destination IDs, personas, and checkout emails. The bot leaves your chats at the same time — if you only want the bot gone, removing it from Sleeper or Discord is faster.
Payment records are the exception. Stripe keeps its own, and we keep the references to them, because that's what a refund and a tax record are made of.
Changes
If this changes, the date at the top changes with it.