← Home

Privacy notice

1. Who is responsible

Padel Stats is a personal project by Iván Castillo Ferrer, built for a group of friends who play padel and tennis. For any question, or to exercise the rights described in this notice, you can write to info@padelscorestats.com.

2. What data is processed

Every match is recorded from the Garmin watch app and saved on this server. Depending on how it's played, uploaded, and configured, it may include:

No third-party passwords, payment details, or any data not described above is requested or stored.

A match saved with only the PIN, with no real name assigned and with no GPS fix, contains no personal data at all: players are identified solely as J1, J2, J3, and J4, and those labels alone don't identify anyone. A match starts containing personal data the moment a real name is assigned to a player, or the watch manages to attach an approximate location to it.

3. For what purpose

The legal basis is the legitimate interest in showing the result of a friendly match to whoever has its PIN (always anonymously, as J1-J4), and each account holder's own legitimate interest — and consent, where an active choice is involved, such as uploading a photo or accepting a friend request — in using the social features of the site among people they've chosen to connect with.

4. What the AI receives

Two features on this site use Claude's API (Anthropic): the automatic match summary and player-style tag, and the league standings narrative. For match summaries and style tags, the API only ever receives aggregated statistics — score, streaks, per-player points — always identifying players as J1, J2, J3, and J4; a player's real name or GPS location is never sent to it. That's because a match page is reachable by anyone with its PIN, including people who aren't friends of anyone involved.

The league narrative is different: since a league page is only visible to its own members, who are already mutual friends and have already seen each other's real names on the site, that prompt uses the real names of the league's participants and its current standings — never anyone's email, photo, or location. Without ANTHROPIC_API_KEY configured on the server, neither feature does anything and the site works exactly the same, just without that text.

5. How long data is kept

Matches are kept for as long as the purpose they were saved for still applies: checking their result and analyzing how each player's stats evolve over time. That's why there's no automatic expiry by age — the value of the site lies precisely in being able to compare matches from months or years ago. Account data (email, display name, photo, friendships, leagues) is kept for as long as the account exists. Even so, anyone whose real name or account is involved can ask for their data to be deleted sooner (see point 7), without needing to justify the reason.

6. Cookies and third-party resources

This website doesn't use analytics, advertising, or tracking cookies. It sets two first-party, purely functional cookies: lang, which only remembers whether you chose Spanish or English ("es" or "en"), and session, set only if you sign in with an account, which is an opaque, unguessable token that identifies your logged-in session and nothing else. Neither identifies you to anyone outside this site or is shared with anyone. As functional cookies, they don't require consent, but are listed here for transparency. The site owner's separate internal panel uses username-and-password authentication (HTTP Basic) instead, with no cookie of its own.

To work, the page loads resources from external servers: the map from the Leaflet library (served by unpkg.com), the map tiles themselves from OpenStreetMap's tile servers (only on a match page that has a location), and the charts from Chart.js (served by jsDelivr). None of them sets tracking cookies, but loading them means your browser contacts those servers directly, which can see your IP address — and, for the map tiles specifically, the approximate coordinates being displayed — at that moment. Fonts, on the other hand, are hosted on this same server — nothing is requested from Google to display them. If you've configured a Resend account (site owner only), sending magic-link and notification emails means Resend's servers process the recipient's email address and the email's content for that sole purpose.

The site also keeps a simple visit counter: each time a match page is opened with its PIN, and each time the landing page loads, a number stored on this server goes up by one. It's a plain aggregate count — it doesn't store your IP address, doesn't use a cookie, and can't be tied to you or to any individual visit.

7. Your rights

If you have an account, you can at any time: change or remove your profile photo and display name from your account page, unlink yourself from a player name, remove a friendship, leave or ask to be removed from a league, or delete your account entirely, by writing to the contact in point 1. If the site owner has assigned your real name manually (no account of your own), you can ask for the same things the same way.

Independently of any account, whoever has a match's PIN can request its deletion directly from its own page, with the "Delete this match" button — with no need to involve anyone. That deletion affects the whole match, not just your data: as soon as it's requested, it stops being visible immediately to everyone who had that PIN, including you.

So that an accidental deletion (or one requested by someone who shouldn't have) isn't irreversible, the match isn't removed completely right away: it's kept for 48 more hours before permanent deletion, during which the site owner can restore it from their panel if it needs undoing. Once those 48 hours pass without being restored, it's permanently deleted and can no longer be recovered.

8. Security

Every match is protected by a random 8-character PIN: only someone who knows the PIN can view that page. Share the PIN only with the people who played the match. Accounts don't use passwords at all — signing in always goes through a one-time link sent to your own email, valid for a few minutes. A profile photo, if you upload one, is served from an unguessable, randomly-named address rather than one tied to your account id, so it can't be found by guessing.

Last updated: September 2026.