Last updated 25 September 2026
Privacy Policy
This policy explains what My League Portal collects, why we collect it, and the choices you have. It is written in plain language. Our Terms of Service cover the rules for using the site.
Who we are
My League Portal, British Columbia (myleagueportal.com) is a software tool for community sports leagues and clubs. For privacy questions, including access, correction, or deletion, email support@myleagueportal.com. That address is our privacy contact.
Who uses the site
- Organizers create a league or club.
- Staff are people an organizer invites to help run it.
- Players and members join a season, a club, or a drop-in night. Some drop-in guests join with a name and phone and no account.
- Visitors can read public pages without an account.
Information we collect
Accounts
Sign-in is handled by Clerk. We receive your name, email address, and a sign-in id. You can sign in with a code emailed to you, or with Google. We do not see your Google password. Clerk keeps the sign-in session.
League, club, and game information
Organizers and staff enter what the product needs to run: league or club name, sport, time zone, teams, games, scores, stats, news, schedules, waivers, sponsor names and logos, and settings. Players can add a display name, positions, jersey number, height, and an optional birth year, and can upload a photo.
Phone numbers and guest sign-up
A phone number is collected when someone joins a drop-in as a guest (first name, last name, and a phone number), and when a club member or weekly regular list includes one. Phone numbers are used to hold a spot and to tell people apart on that list. They are not a login.
Payments
Our plans.Stripe is used only for My League Portal's own plans. League Pro, League Enterprise, Club Pro, and Club Pro+ are billed in Canadian dollars. We store the plan, whether it is active, and Stripe customer and subscription ids. We do not store full card numbers. A custom web address bought through the site is also billed by us through Stripe. That charge is for the address, not a player or club fee.
League and club money.Drop-in fees, dues, and fundraisers go straight to the organizer or club. They can turn on cash, an e-transfer email, or a payment link they paste from their own Stripe, Square, or PayPal. We may store that email or link, and whether the organizer marked someone paid. We do not receive, hold, or refund that money, and we do not store the player's card number for it.
Files
Logos, page photos, player and member photos, and similar uploads are stored so they can appear on the league or club page. Waiver text and the record that someone agreed (name, email if we have it, phone for a guest, time, and IP address) are stored so the organizer has a copy.
Emails we send
We keep the address a message was sent to, the subject, and whether it went out. We do not store the body of the message in that log. Practice addresses used only to match demo players are stored and are not mailed.
Why we use it
- To run the account, the league or club, and the public pages you asked for.
- To take plan payments and to show organizers who has paid them directly.
- To send sign-in codes, invites, and the emails an organizer turns on.
- To keep the site reliable, fix errors, and see which pages people open.
- To answer support questions.
We do not sell personal information.
Visit counts and error logs
We count visits ourselves. A random id is kept in the browser tab (not a cookie), along with the page path and, when it is a league or club page, which organization it belongs to. The chart an organizer sees can also include the part of the address after the question mark. We also note the referring site name, such as a search engine, without the full link. Automated visitors are skipped. The random ids used for daily unique counts are deleted after 14 days. Daily totals are kept longer so we can see trends. Organizers can see visit counts for their own public pages. Those counts are not tied to your name.
If a page breaks, we store a short error note: the page, a short description, and a trimmed stack trace. Email addresses and IP addresses are stripped out of that note. If you are signed in, we may store your account id so we can tell a one-off glitch from a broken page. Resolved notes in the support inbox are deleted after 90 days. Notes that are still open stay until they are marked resolved and that window passes.
Cookies and similar storage
Visit counts do not use cookies. A few other things do:
- Sign-in. Clerk sets cookies so you stay signed in.
- Short product cookies. An invite link, a referral, a trial, or a special Pro offer can set a cookie so that choice is still there after you sign in.
- View as owner. Approved staff get a cookie, for up to two hours, that marks which league they are looking at. It does not let them save changes.
The browser can also remember things only on your device, such as a theme choice, a cash or e-transfer preference, or a guest name you typed, so the next visit is shorter. That stays on your device.
The AI helper
On plans that include it, an organizer can open an AI helper. To answer, we send OpenAI the question, recent questions in that chat, and context for the open league or club. That context can include team and player names, games, scores, standings, drop-in lists, settings, page text, public links, and pending invite emails when the person is allowed to invite someone. Player emails and phone numbers are not added to the roster list we send for ordinary roster moves. Anything you type in the question is included.
OpenAI processes that text to write a reply. The default model is GPT-4o mini, unless we have set a different OpenAI model. The helper can make mistakes. A change is not applied until the organizer confirms it.
We store a count of helper messages (which account, which league, and when) so we can limit how many run in a day. We do not store the full chat transcript in our database. When a confirmed change can be undone, we store a short plain-language note and the details needed to undo it.
Emails
Messages are sent with Resend, except sign-in codes, which Clerk sends.
- Sign-in codes so you can get into your account.
- Invites an organizer sends to staff, players, or club helpers.
- Announcements and alerts the organizer turns on, such as league news, game reminders, drop-in reminders, registration-open notices, stats highlights, club news, and club event reminders. These include an unsubscribe link.
- Short notices tied to an action,such as a drop-in confirmation, a cancelled night the organizer chose to email, or a weekly "are you in?" check the organizer turned on.
- Help requests an organizer sends from the site. We email support@myleagueportal.com so we can reply. That note is not sent to players.
Use the unsubscribe link in an alert to stop that kind of email. Sign-in codes and invites are part of running the account, so they do not use that same link.
Who can see information
Public pages
A public league or club page can show names, teams, jersey numbers, positions, height, birth year, photos, scores, news, and schedules that the organizer publishes. The public player page does not show email or phone. Guest phone numbers stay on the organizer's list.
Organizers and their staff
The organizer, and staff they allow, can see the roster, emails, phones, waivers, and payment marks for their own league or club. They are responsible for how they use that information.
Our staff
Approved staff can look up a league or a person to help with support. View as owner opens the dashboard read-only, with a banner, for up to two hours. We record the staff account, their email, and which league they opened. They cannot save changes in that mode.
Support changes, such as a complimentary plan, staff added or removed, a feature switch, or an error marked resolved, are written to an audit log (who, what changed, and when). Staff can download a spreadsheet of player names, emails, and teams for a league they are helping. Card history in that tool is read-only.
Help requests
An organizer can ask for help from the site. We store the league or club, the page they were on, their name and email, a short device label, the topic, the message, and the status (open, in progress, or resolved). An optional screenshot is saved as an unlisted link. It is not shown on the public league page. Approved staff can see the request in the Support tab and can open that screenshot. A notification email goes to support@myleagueportal.com. Players are not emailed.
Service providers
They process information for us so the product can run:
- Clerk — accounts and sign-in codes.
- Google — optional sign-in.
- Supabase — the database and uploaded files.
- Vercel — hosting the website.
- Stripe— billing for My League Portal's own plans, and for a custom web address bought through the site. Not for league or club fees, dues, or fundraisers.
- Resend — email we send, other than sign-in codes.
- OpenAI — the AI helper.
- Porkbun — registering a custom web address when an organizer buys one through the site.
If an organizer pastes their own Stripe, Square, or PayPal link, that payment is between the player or member and the organizer's account at that service. Those companies are not acting as our payment processor for that fee.
Where information is stored
Our database is hosted with Supabase in the United States (US East). Uploaded files are stored there as well. The website is hosted on Vercel. Clerk, Stripe, Resend, and OpenAI process information on their own systems, which are primarily in the United States and may include other countries where those companies operate.
If you are in Canada, your information may be stored or processed in Canada and/or the United States, and by the providers above. We use it only for the purposes in this policy.
How long we keep it
- League and account information stays while the league exists.
- An organizer can delete the league from Settings. That removes the league's database rows and uploaded files for that league, and can remove the organizer's sign-in.
- Random visit ids used for daily unique counts are deleted after 14 days. Daily totals are kept. The separate visit rows behind an organizer's traffic chart do not have an automatic delete date.
- Resolved error-inbox notes are deleted after 90 days.
- Deleting a league tries to cancel its Stripe subscription and remove the Stripe customer. Stripe may still keep records it needs for accounting, fraud checks, or the law.
Your rights
We follow Canada's Personal Information Protection and Electronic Documents Act (PIPEDA) and, because we are in British Columbia, the Personal Information Protection Act (PIPA). You can ask us to:
- Access the personal information we hold about you.
- Correct it if it is wrong.
- Delete it, subject to records we must keep for billing, security, or the law.
Email support@myleagueportal.com. We may need to confirm it is you. If an organizer holds the roster, we may also need them to make the change inside their league.
We plan to offer the product across North America and, later, more widely. If you live somewhere else, you may have similar rights under the GDPR or a US state privacy law, such as access, correction, deletion, and the right to complain to a regulator. Email the same address and we will handle a reasonable request. We do not sell personal information, and we do not use it for cross-site advertising.
Children
Children under 13 should not create an account. Creating an account requires the checkbox "I'm 13 or older." We store that the account confirmed it, and when. We do not aim the product at children under 13. A birth year under 13 cannot be saved on a player's own profile. If you fill in your own profile and the birth year is under 18, you must confirm a parent or guardian agrees, and we store when that box was checked. A player under the age of majority where they live, or under 16 where local law requires it, needs a parent or guardian's consent. An organizer who adds a minor confirms they have that consent. Someone an organizer adds to a roster or a guest list does not see those checkboxes. A parent or guardian can email us to review or delete a child's information.
Changes
If we change this policy, we will update the date at the top. Continued use of the site after that date means you accept the update.
Contact
Privacy contact: support@myleagueportal.com