Privacy Policy
Last updated: October 16, 2026
This Privacy Policy explains what information LoL Tracker ("we", "us", "our") collects when you use lol-tracker.com and related services, why we collect it, who receives it, and the choices you have. LoL Tracker is an independent service and is not endorsed by or affiliated with Riot Games. League of Legends and Riot Games are trademarks of Riot Games, Inc.
1. Who we are
LoL Tracker is a League of Legends team analytics platform built for competitive 5v5 teams. It covers Ranked 5v5, Flex Queue and custom games (scrims). The platform provides team and player performance analytics, match history, advanced statistics, MVP Score, TeamScore, champion performance, AI-powered coaching and post-game insights. Not every mode is public, automatic or included in every plan.
The data controller is the operator of LoL Tracker. For privacy questions, access requests or deletion requests, email brice.eliasse@gmail.com or use the contact page.
2. Data we process
2.1 Account data (Clerk)
Authentication is handled by Clerk. When you create an account, Clerk stores the identifiers you provide, typically an email address, a hashed password if you use one, and any third-party login identifier you choose (for example Google or Discord). We receive the information needed to identify your session and link it to your LoL Tracker user record, including a Clerk user ID and email address. See Clerk's own privacy notice for details of how Clerk processes authentication data.
2.2 League of Legends data from Riot's public API
When a team is created or a player is added, we query Riot Games' public APIs for that Riot ID. We store the player's PUUID, game name and tagline, profile icon and ranked tier information needed to identify the roster and display the team page.
For Flex Queue (Ranked Flex 5v5) we periodically fetch matches in which the tracked five-stack queued together, using Riot's public match endpoints. For Ranked 5v5 we use the same supported ingestion pipeline when that queue's public match data is available. These public API sources are not equivalent to private custom-game data.
Stored match information may include:
- Riot IDs, PUUIDs and profile icons of participants;
- match identifiers, queue type, patch, timestamps and duration;
- match results, side, team composition and bans;
- champion selections, roles, summoner spells, items, runes and builds;
- performance statistics such as KDA, damage, gold, vision, CS, objective participation and related combat or economy metrics;
- timeline-derived insights where available, such as gold differentials and objective timings;
- derived analytics, including MVP Score, TeamScore and AI-generated team insights.
We do not collect in-game chat, voice, replays, IP addresses from League of Legends game sessions, or Riot account credentials. We do not currently authenticate users through Riot Sign-On.
2.3 Custom games and scrims
Custom games are private matches. They are not collected from Riot's public match history in the same way as Flex Queue or Ranked 5v5. Today, custom matches are imported only when a Pro (or equivalent grandfathered) team administrator uses a supported import method, currently the desktop Scrim Importer paired with a dashboard token.
The importer reads match data available on the administrator's local League client and sends selected matches to LoL Tracker. We store those matches on the importing team, with the same categories of gameplay statistics described above, marked as custom games. We use this information to power private team analytics, match review, MVP Score and, where the plan includes it, AI coaching for that team.
Access today is controlled at team level, not player-by-player. Imported customs can be reviewed by the team administrator and, if the administrator chooses a public team-page filter that includes custom games, those matches can appear on that team's public page and public match-history endpoints. Custom games are excluded from the public TeamScore leaderboard. We do not currently collect a separate opt-in from every participant before an imported custom match can be stored or displayed.
Riot's League of Legends developer policy prohibits public disclosure of a player's custom-match history without that player's specific opt-in. A team captain or administrator does not automatically have permission to publish every participant's custom-game history. If you import custom matches, you must have appropriate authorization from the players concerned before displaying those matches publicly. Players who want a custom match removed can contact us or ask the importing team administrator to change the public filter or delete the team data.
2.4 Billing data (Stripe)
Paid plans are handled by Stripe. We never see or store your full card number. We receive a Stripe customer ID, plan tier, billing email and, for subscriptions, the subscription status, current billing period end, cancel-at-period-end flag and price identifier so we can keep entitlements in sync. Stripe processes payment details under its own terms and privacy notice.
2.5 Analytics, cookies and similar technologies
We use Umami (Umami Cloud) for privacy-friendly product analytics. Umami is configured without advertising cookies and is used to collect aggregated usage information such as pages visited, referrer, approximate country, browser and device type.
We also use strictly necessary cookies and similar storage for authentication (Clerk), security and session continuity. Optional functional cookies may remember a demo preview, a signup source or an affiliate referral. These cookies are not used to sell advertising profiles.
2.6 Discord (optional)
If you sign in with Discord, join Find Mates, enable match notifications or use other optional Discord features, we may receive your Discord user ID, username and avatar through Clerk or Discord OAuth. We may send automated messages through Discord (for example match alerts or operator notifications) using a webhook or bot you or we have configured. Discord processing is optional and can be stopped by disconnecting the integration or deleting the related listing or account.
2.7 Contact, email and operational data
If you submit the contact form, your name, email address and message are sent to Formcarry so we can answer you. You can also email us directly at brice.eliasse@gmail.com. If we send product or transactional email, we use Resend. You can opt out of product-update emails; transactional messages such as billing or security notices may still be sent where needed to provide the service.
Our hosting provider may process technical request data (such as IP address, user agent and timestamps) in server logs to operate, secure and debug the service. Desktop pairing tokens for the Scrim Importer are stored as hashes, not in plaintext.
2.8 Derived analytics and AI-generated insights
From stored match data we calculate MVP Score, TeamScore, champion comparisons, role stats and other derived metrics. On eligible plans, aggregated team statistics and, for coach chat, recent user messages are sent to OpenRouter, which may route the request to underlying model providers (currently including services such as OpenAI, Google or Anthropic, depending on configuration). We use this to generate coaching notes and post-game insights. AI output is generated from your team's tracked data; it is not a human review of your account.
3. Why we process this data
- Create and authenticate your account and keep the session secure.
- Provide team pages, match history, rankings, MVP Score, TeamScore, champion stats, scrim review and AI analysis.
- Distinguish Flex Queue, Ranked 5v5 and custom games so public leaderboards are not mixed with private practice data.
- Process one-time payments and recurring subscriptions, prevent fraud and keep plan entitlements accurate.
- Measure usage and improve the product.
- Respond to support, partnership and privacy requests.
- Send optional product updates, and transactional messages required to operate the account.
- Comply with legal obligations that apply to us, including tax and accounting records held by our payment processor.
4. Legal bases (GDPR)
Where the GDPR or UK GDPR applies, we rely on:
- Performance of a contract to create your account, deliver the tracker, process subscriptions and provide features you request.
- Legitimate interests to operate public ranked-team pages from Riot's public API, keep the service secure, prevent abuse, produce aggregated champion or leaderboard statistics, and improve the product. We do not rely on legitimate interests to publicly disclose a player's custom-match history.
- Consent where required, for example optional Discord integrations, public Find Mates listings, marketing emails, or future Riot Sign-On permissions if they become available.
- Legal obligation where we or a processor must retain billing or similar records.
You may withdraw consent at any time without affecting processing that already took place. Withdrawal does not affect processing that we continue on another valid legal basis, such as providing a paid subscription you still hold.
5. Data retention
We keep your account and team records for as long as the account remains active. Match-history retention depends on the team owner's plan and is enforced by a scheduled cleanup job:
- Free: last 6 months of stored matches.
- Tryhard (subscription, or legacy lifetime Tryhard where still granted): last 12 months.
- Pro (subscription): last 24 months. Lifetime grandfathered Pro accounts (legacy "God") keep the same retention as Pro.
Older stored matches for that team are deleted automatically. Unclaimed team pages follow Free retention. These windows apply to stored LoL Tracker copies; Riot keeps its own match records independently.
If you delete your Clerk account, we delete the matching LoL Tracker user record, teams you own, and stored match records for those teams when Clerk notifies us. This is normally processed shortly after that notification. You can also delete an individual team from the dashboard. Stripe may retain invoices and payment records as required for its legal or tax obligations. We do not operate a separately documented backup-erasure timetable beyond this account-deletion process.
6. Sharing
We do not sell personal data. We share information only with processors and service providers needed to run LoL Tracker, or when the law requires it:
- Clerk — authentication and account identifiers.
- Stripe — payments, invoices, subscriptions and customer-portal billing.
- MongoDB Atlas — database hosting for accounts, teams, matches and related application data.
- Vercel — website and API hosting.
- OpenRouter (and the model providers it routes to) — AI coaching and generated insights from aggregated match statistics and coach-chat prompts.
- Umami — privacy-friendly usage analytics.
- Formcarry — contact-form submissions.
- Resend — transactional and product emails.
- Discord — optional login, listings and notifications you enable.
- GitHub — download of the desktop Scrim Importer when you request it.
- Riot Games — we send Riot IDs, PUUIDs and match identifiers to Riot's APIs to retrieve public match data. We do not send Riot your LoL Tracker password or billing details.
Public team pages, ranked match history and leaderboards may be visible to anyone on the internet. That public display currently uses ranked match data collected through Riot's public API. Custom games are excluded from the public leaderboard, but can appear on a team page if an administrator enables a filter that includes them.
7. International transfers
Several providers listed above are located, or may process data, outside your country, including in the United States. We do not claim that personal data never leaves the EEA, the UK or Switzerland. Those providers apply their own transfer safeguards. If you need more detail about a specific processor, email brice.eliasse@gmail.com or use the contact page.
8. Your rights
Subject to applicable law, you may request access, rectification, erasure, restriction, objection or portability of personal data we hold about you. You may also withdraw consent where processing is based on consent. Email brice.eliasse@gmail.com, use the contact page, or delete your Clerk account if you want us to remove the linked LoL Tracker user, owned teams and stored matches.
If you are in the EEA, the UK or Switzerland, you also have the right to lodge a complaint with your local data protection authority. In France, that authority is the CNIL.
9. Security
Connections are encrypted with TLS. API routes that change team or account data are authenticated and authorised on the server. Secrets (Riot API keys, Stripe, OpenRouter, Discord and similar credentials) are kept in environment variables and are not exposed to the client. Desktop importer tokens are stored hashed. No method of transmission or storage is completely secure, and we cannot guarantee absolute security.
10. Children
LoL Tracker is not directed to children under 13. If you believe a child has provided us with personal data, contact us and we will delete it.
11. Planned Riot Sign-On (not currently available)
We are preparing to request Riot Sign-On (RSO) access from Riot Games. RSO is not approved or implemented today. You cannot currently authenticate with Riot through LoL Tracker or grant us OAuth permission to retrieve private match history.
If Riot later approves RSO, we may offer a clearly optional flow in which a player connects their Riot account, authorises specific match-history scopes, and can later revoke that consent by disconnecting the Riot account. Until that flow exists, this Privacy Policy does not describe RSO as an operational feature, and custom games continue to be imported only through the supported methods described above.
12. Changes
We may update this policy from time to time. The "Last updated" date at the top will change when we do. Significant changes will be announced on the site or by email where appropriate.
