Privacy policy
Last updated: 23 October 2026
Prefer the short version? Read this in plain English.
Who we are
StumpBadger provides software that lets amateur cricket clubs run their own private fantasy cricket leagues. Each league is created and administered by a club admin; we operate the platform that all leagues run on.
StumpBadger is operated by James Marks, an individual trading under the StumpBadger name, of 1 Birch Close, Colden Common, Winchester, who is the data controller for the personal data described in this policy. You can contact us about anything in this policy at privacy@stumpbadger.co.uk.
We are not required to appoint a Data Protection Officer, and have not done so.
What data we collect
- Account details: your email address, username, and a securely hashed password (we never store your password in plain text). We also record when you accepted these terms and confirmed your age, and the date of your most recent sign-in.
- League activity: your team selections, gameweek scores, your team name, your budget, which leagues you belong to, and the mini-leagues you start or join (a name, and who is in it, which only members of that league can see). When a season closes we also keep one short summary of your own season: your finish, points, best week, weeks won, best captain call, most-picked player, how often you changed your XI, and your mini-league finishes. It is shown only to you.
- Club configuration: club admins additionally provide a club name, join code, league branding, and (optionally) a Play-Cricket API key used to import fixtures and player statistics for their club. That key is encrypted before storage.
- Billing reference: if a club admin takes the Club plan, we store a Stripe customer reference, the plan's expiry date, and a record of each payment (its Stripe payment reference, amount, date, the months it covers, how the admin came to pay, and any refund). We never see or store your card details: see "Payments" below.
- Waiting lists: if you join a league whose 22 free places are taken, we keep that you asked, the team name you gave and the mini-league you came through, so you can be let in when a place opens or the club takes the Club plan. The league's admins see your username while you wait.
- Reminders you ask for while setting up: if you are waiting for your club's Play-Cricket key and ask us to remind you before you have an account, we keep that email address and the club you chose, for 14 days at most, and delete them after the second reminder, when you stop them from the email, or when you set up the league.
- Messages you send us: if you use the contact form, we store the name, email address and message you provide, so we can reply and keep a record of the conversation.
- Crash reports: when the app hits an error in your browser, we automatically record the error message, the page address (without its query string), your browser's user-agent string, and your user ID if you are signed in. This is used only to find and fix bugs.
- Administrative actions: when a club admin takes an action affecting other members (promoting an admin, letting someone in from the waiting list, refunding or closing the league), we log who did it and to whom, so a club has a record of changes to its own league. When someone becomes an admin with the club's Play-Cricket key, or sets the league to close, the league's other admins are emailed their username.
- IP addresses: your IP address is processed transiently to apply rate limits (which protect the service from abuse) and appears in our hosting provider's server logs. We do not use it to build a profile of you.
- Aggregated usage analytics: page-view counts, via a cookie-free provider. See "Cookies and analytics" below.
Why we use it, and our lawful basis
Under UK GDPR we must have a lawful basis for each purpose. Ours are:
- Performance of a contract: operating your account, running league scoring and tables, letting club admins manage their league, processing a paid plan, and sending you service emails such as password resets and email verification. Without this data we cannot provide the service you signed up for.
- Legitimate interests: keeping the service secure and available (rate limiting, crash reports, administrative audit logs), replying to messages you send us, understanding aggregate usage so we can improve the product, emailing you a reminder before a team-selection deadline when you haven't picked (or, when your league admin asks, when your team hasn't changed for a few gameweeks), and emailing you your results once a gameweek's scores are in, and when a season starts and ends, for a league you've joined, telling a league's members when it is set to close, and emailing a league's admins as it fills up and when someone is waiting to join. You can turn the reminders, results and season emails off at any time in Account, and an admin can turn off the emails about the Club plan for each league in its Admin, under Plan, or from the link in the email. We have considered your interests and rights and believe these uses are ones you would reasonably expect and that carry a low privacy impact.
- Consent: the reminders you ask for while waiting for your club's Play-Cricket key. Stop them at any time from the link in the email.
- Legal obligation: retaining records of payments for tax and accounting purposes.
We don't sell your data, we don't use it for advertising, and we don't make any automated decisions about you that produce legal or similarly significant effects.
We may use aggregated match and performance data (scores and results, not your individual fantasy team selections) across StumpBadger to build features such as predictive tools. Your league's data is never shown to another club.
Who we share it with
These are our processors. Each acts on our instructions and none is permitted to use your data for their own purposes.
- Supabase: hosts our database.
- Render: hosts our application server.
- Vercel: hosts our website and app.
- Stripe: processes payments for clubs that upgrade to a paid plan. Stripe collects and stores card details directly; we never receive them.
- Resend: delivers transactional emails (password reset links, email verification, contact-form replies, gameweek reminders, weekly results, and service notices).
- Your phone's push service (Apple, Google or Mozilla, depending on the device): delivers notifications, only if you turn them on in the installed app. It receives the notification text and an address for your device, nothing else.
- Umami: provides anonymous, cookie-free analytics.
- Sentry: collects application error reports so we can diagnose faults. Error reports are filtered to remove credentials and request contents before they are sent.
- Play-Cricket (ECB): the source of match fixtures and player statistics where a club admin has configured that integration. We do not send Play-Cricket any of your personal account data.
We will also disclose data where we are legally required to, and to a purchaser if the business is ever sold, in which case this policy would continue to apply.
Where your data is stored
We aim to keep your data in the UK or the European Economic Area, and our database and application servers are hosted in Europe.
Some of the providers listed above are based in the United States and process a limited amount of data there, principally Stripe (payment processing), Resend (sending email) and Sentry (error reports). Where that happens, the transfer is covered by the safeguards in each provider's data processing agreement: the UK International Data Transfer Agreement, the UK Addendum to the EU Standard Contractual Clauses, or the UK Extension to the EU–US Data Privacy Framework, as applicable.
You can ask us for details of these safeguards using the contact details above.
Payments
When a club admin upgrades to a paid plan, payment is handled entirely by Stripe, our payment processor. Card numbers and other payment details are entered directly into Stripe's own checkout page: they pass through Stripe's systems, not ours, and we never see or store them. We store a Stripe customer reference, the date your club's plan is paid until, and a record of each payment (its Stripe reference, amount, date and the months it covers), so we can show your billing status, let you see receipts through Stripe's Billing Portal, and let a league's admin refund a payment back to the card that paid. A league's payment records go with the league when it is deleted; Stripe keeps its own for tax.
Cookies and analytics
We don't use advertising or tracking cookies, and we don't show a cookie banner because we don't set any cookie that would require your consent.
Our analytics provider, Umami, does not use cookies and does not track you across sites. It processes your IP address and browser user-agent transiently to produce aggregate counts such as page views; it does not store either, and it does not build a profile of you.
We store two things in your own browser, both necessary for the service to work: your sign-in session (in local or session storage, so the app knows you're signed in) and your light/dark theme preference (in a cookie scoped to our domain, so your choice carries between our website and the app).
How long we keep it
- Your account and league memberships: until you delete your account.
- Per-season match and scoring data: deleted approximately 30 days after a league's season closes. League metadata and memberships persist so a club can run another season.
- Your season summaries: kept with your account so you can look back at your own seasons after their match data has gone. Deleted when you delete your account, or when your league is deleted.
- Mini-league membership: until you leave the league or delete your account. A mini-league nobody is in is deleted.
- Players' season records: when a season finishes we keep one line of each player's figures for it, and the club's records (best totals, wins and partnerships), so careers and records build up year on year. They are kept while the club uses StumpBadger and go when the club admin removes the player, or when the league is deleted.
- Crash reports: 90 days.
- Contact-form messages: up to 12 months after we've resolved your enquiry. Unresolved messages are kept until they're dealt with.
- A deleted league: permanently erased 7 days after deletion is requested, so an accidental deletion can be undone within that window.
- A place on a waiting list: until you're let in, you leave the list, the league is deleted, or 12 months.
- Payment records: retained for as long as tax and accounting law requires (currently six years).
- Backups: our database is backed up for disaster recovery. Deleted data can persist in backups for a short period after deletion before those backups age out; it is not restored into the live service except during recovery from an incident.
Your rights
You have the right to:
- Access your data: download a copy of everything we hold about you from Account.
- Correct inaccurate data: your team name and other editable details can be changed directly in the app; email us for anything else.
- Delete your account and data: from Account. See the note below if you administer a league.
- Object to or restrict processing we carry out under legitimate interests.
- Turn off gameweek reminders, results emails and season emails, each on its own, at any time in Account.
- Portability: the data export in Account is machine-readable and can be taken elsewhere.
If you administer a league: you cannot delete your account while you are the admin of a league, because doing so would leave that league with nobody able to run it and would affect its other members. Hand over admin to another member, or delete the league, and you can then delete your account. If neither is practical, email us and we will arrange it for you.
What deletion actually does: deleting your account permanently removes your account record, your league memberships, your team selections and your table entries. Some records are kept, and we'd rather be straightforward about it: messages you sent us through the contact form (which we hold under the retention period above, and will delete on request), payment records we're required to keep for tax purposes, and entries in a club's administrative log recording actions taken in that league. Crash reports are unlinked from your account and expire on the schedule above. Data already written to backups ages out with those backups.
To exercise any of these rights, email privacy@stumpbadger.co.uk. We'll respond within one month. If you're in the UK you also have the right to complain to the Information Commissioner's Office if you think we've mishandled your data, and if you're in the EU, to your local data protection authority.
Players in your club
Where a club connects Play-Cricket, we import the names and match statistics of that club's cricketers so members can pick them in their fantasy teams. Those players may not have a StumpBadger account and may not have heard of us.
We process this data under legitimate interests, to provide the service the club has asked for. It comes from the club's own Play-Cricket site, which the club controls, and is only ever visible inside that club's own private league, never to another club or to the public. It is limited to names and cricketing performance.
When a season finishes, each player's figures for it are kept as one line (no name is stored with it), so the club can see careers and records across seasons, much as its Play-Cricket site does. Removing a player from the club's list removes those too.
If you are a player at a club using StumpBadger and you would rather not appear, tell your club admin (who can deactivate or remove you from the player list) or email privacy@stumpbadger.co.uk and we will handle it directly.
Children
You must be 13 or over to create a StumpBadger account, and we ask you to confirm this when you create your account. 13 is the age at which UK law allows a child to consent to an online service of this kind.
We know cricket clubs have junior members, and the service is designed to be used by them alongside everyone else. We collect the same minimal data from every member regardless of age, we don't profile anyone, and we don't show advertising. If you're a parent or guardian and you'd like to see what we hold about your child or have it deleted, email privacy@stumpbadger.co.uk.
Under 13s can't have an account of their own. A parent or guardian adds a child's account from their own account, confirming they are the child's legal parent or guardian, and runs it from there. For a child's account we keep only the first letter of their first name and their surname (shown as, for example, "J. Smith"), the leagues they are in and the teams they pick. We never ask for a child's email address: every email about the account goes to the parent. A child's team name is made from set words, so it can't carry anything about them. Deleting the parent's account, or removing the child's from it, deletes the child's account and what it picked.
A cricketer known to be under 13 (one in a side such as "Under 11s") is shown to league members only as their initial and surname. If we learn that an account of its own belongs to someone under 13, we will delete it.
Security
Passwords are hashed and never stored in a readable form. Play-Cricket API keys are encrypted before storage. Connections to the site and to our API are encrypted in transit. Access to the production database is limited to the people who need it. No service can promise perfect security, but if a breach ever affects your data and is likely to result in a risk to you, we will tell you and the ICO as the law requires.
Changes to this policy
If we make material changes we'll update the date at the top and, where the change matters to you, tell you in the app or by email.
Contact
Questions about your data? Email privacy@stumpbadger.co.uk.