Privacy Policy
ShuttlePilot ("we", "us") is a tool for organizing badminton club nights: checking players in, generating balanced matches, and tracking ratings. It is operated from Denmark by William Strand, a private individual, and hosted in the European Union. This page explains what data we handle and why, in plain language.
What we collect
- Account details. Sign-in is handled for us by Supabase Auth. You can sign in with Google, Microsoft, GitHub, or Discord, or with a passwordless email magic link. We receive your email address, an account identifier, and — where the provider supplies it — your name. We never see or store your password.
- Club data. Club organizers enter club details (name, venue, contact email) and player information: player names, optionally an email address, gender only if an organizer chooses it (used only for mixed doubles), a skill rating (ELO) with its history, playing preferences (such as singles or mixed doubles), pairing preferences (with an optional reason), session check-ins, and match results.
- Feedback. Anything you submit through the in-app Feedback form. The title and text of your feedback are mirrored into a private GitHub issue tracker so we can triage it; your email address is not included in that mirror, and a report sent as a "Security problem" is never mirrored. We handle feedback with the help of AI tools.
- Technical data. Our hosting providers keep standard server logs (such as IP address and browser type) for security and operations. We run no advertising and no third-party analytics or tracking cookies. Your sign-in token is kept in your browser's local storage.
How we use it
Only to run the service: signing you in, organizing sessions and matches, calculating and showing ratings, responding to feedback, and keeping the service secure. We do not sell personal data, show ads, or use your data for anything unrelated to running ShuttlePilot.
Players added by a club organizer
Organizers can add players to their club roster who do not have a ShuttlePilot account (typically just a name and a starting rating). Organizers are responsible for having their members' permission to do this. If you appear in a club roster and want your details corrected or removed, ask your club organizer — they can edit or delete your entry directly. Deleting your entry removes your name, email address, gender, playing preferences, pairing preferences, and session check-ins. Your match results and rating history are kept, without your name, so that the ratings of the people you played with or against are not affected.
Rating visibility
Skill ratings are visible to members of your club so that rounds are transparent and fair. Club admins can enable a setting that hides ratings from regular players, in which case only club editors and admins see them.
Where your data lives
Application servers run in the European Union (Amsterdam) on Fly.io, and our authentication and database are provided by Supabase. When you sign in with Google, Microsoft, GitHub, or Discord, that provider handles the sign-in step; magic-link sign-in emails are delivered by Resend. Our domain and traffic are routed through Cloudflare. These providers process data on our behalf to deliver the service.
How long we keep it
Club and player data is kept for as long as the club exists — deleting a club permanently removes its players, sessions, matches, and rating history. The public demo club is wiped and re-created regularly. Server logs are short-lived and kept only for security and troubleshooting.
Your rights
Under the GDPR you can ask for access to, correction of, deletion of, or a copy of your personal data, and you can object to how it is handled. Club data is managed by your club's organizer, so the quickest route is usually through them; account holders can also reach us through the in-app Feedback form. If you are unsatisfied, you can complain to the Danish Data Protection Agency (Datatilsynet) or the data protection authority in your own country.
Children
ShuttlePilot is aimed at club organizers and adult players. Where clubs include junior players, their roster entries are created and managed by the club's organizer with the minimum information needed to schedule fair matches.
Changes
If this policy changes in a meaningful way, we will update this page and note it in the app's release notes.
Contact
Signed-in users can reach us through the in-app Feedback form. If you don't have an account, please contact your club organizer, who can raise the matter with us on your behalf.