PadelRanks — Privacy Policy

Effective 11 June 2026

Provider: PadelRanks — Juliancilea@gmail.com

PadelRanks is an iOS and Android app that gives padel players access to national federation rankings, international pro rankings, tournaments, club information and a Danish "Find a Match" community. The app's federation-backed ranking and tournament data covers 18 countries:

Rankedin-backed (13):
Denmark, Sweden, Germany, Austria, Croatia, Norway, Romania, Slovenia, Moldova, Hungary, Finland, Ukraine, Estonia.
FIP-backed (5):
Spain, Mexico, Argentina, Italy, France.
Playtomic tournament catalogue (60+ further countries):
optional tournament listings only, fetched directly from Playtomic — see §3.1.

For Denmark specifically, the underlying ranking data is owned and maintained by the Dansk Padel Forbund (DPF) — the Danish Padel Federation — and hosted on the Rankedin platform. We access this data through Rankedin's public API but the data controller for the ranking records themselves is DPF, not Rankedin or us.

We take your privacy seriously and only process the data strictly required for the app to function.

1. Data we process

1.1 Location data

If you grant permission, PadelRanks uses your location on your device to calculate the distance between you and padel tournaments and clubs, and to verify that you are physically located in Denmark when you sign in to the Find a Match feature (see §1.5). Your location is never sent to our own servers as a stored record. Outgoing requests to third-party tournament providers (see §3) only include your coordinates when you explicitly run a location-based search — and only as anonymous latitude/longitude, never your identity. (Playtomic tournament requests use fixed, app-defined city coordinates — not your location; see §3.1.) If you deny the location permission, the rankings and tournament parts of the app still work — distance simply isn't shown — but the Find a Match feature is unavailable because we cannot confirm you are in Denmark.

1.2 No federation login

The rankings, tournament and club parts of PadelRanks are entirely read-only and require no Rankedin or FIP account. You can browse all 18 countries without signing in to anything. We do not store federation credentials and there is no login form for Rankedin or FIP in the app.

You can optionally "claim" your own player profile by searching for your name in the Rankedin or FIP public player database — this selection is stored only on your device and contains no credentials.

1.3 Federation data (rankings, tournaments, clubs, profiles)

The app displays rankings, tournament results, player profiles and club information from the sources in §3. Most of this data — RankedIn rankings, team leagues, player profiles and player matches, tournaments, and FIP player rankings and the FIP Premier calendar — is fetched through our own backend (see §3), which retrieves it from the sources, caches it, and serves it to the app. A few requests still go directly from your device to the source — for example RankedIn team-league search and some FIP player-search and player-profile pages. In all cases the data is also held briefly in the app's on-device cache (AsyncStorage) for performance.

1.4 Player profile photos displayed in the app

Profile photos of other players shown in rankings and profile screens are sourced from the public APIs of Rankedin and the International Padel Federation (FIP) — they are not hosted by us. Photo availability varies by player and by country; where a photo is not available we display a generated avatar with the player's initials. The image URLs themselves are requested directly from the third-party CDN by your device and are cached on-device for performance. No personal identifier is attached to those requests.

1.5 Find a Match account and content (Apple / Google sign-in, posts, comments)

The "Find a Match" feature requires you to sign in with Apple or Google. When you do, PadelRanks receives and stores the following on our backend (Supabase — see §3):

We do not receive or store your Apple or Google password — the sign-in itself happens on Apple's / Google's servers, and we only receive the resulting identity token.

The Find a Match feature is currently restricted to users physically located in Denmark.

1.6 Push notifications (optional)

If you opt in to notifications, we collect an Expo push token (an opaque per-device identifier from Expo's push service) and store it in our Supabase backend with your notification preferences, so the server can deliver notifications when the app is closed.

Player-specific match notifications (pre-match, post-match, rank-change) are sent only for a small, curated list of professional players — players whose competitive activity is part of their public profession (e.g. FIP-tour professionals) — and for one profile you may designate as your own ("my profile"), stored locally on your device. We do not send player-specific notifications about other amateur or recreational players, regardless of their ranking position. Following any player is always possible and contributes only to an anonymous follower count (§1.7); following a non-professional player never triggers push notifications about that person.

Goal-progress notifications about your own tracked goal are calculated on your device and concern only you. You control all notifications through OS-level permission and the in-app bell settings, and can revoke at any time by signing out, switching notifications off, or revoking OS permission.

Team-match notifications for league teams you follow (e.g. Lunar Ligaen and the other federation team leagues we list in §1) are delivered as local notifications scheduled on your device when you tap the heart on a team. They are strictly aggregate at the team level: each notification carries only the team's name, the opponent team's name, the kick-off date and time, and the venue. They never name individual players, and they never report individual rubber or match results — even though such information is publicly displayed by the federations on the same source pages we read for the schedule itself. Inside the app you may see those individual scores as a passive display of public federation data; the push surface deliberately does not. You can stop these notifications for any team at any time by tapping the heart again to unfollow — we cancel every scheduled reminder for that team immediately, in addition to the OS-level and in-app controls above.

1.7 Follower counts (anonymous)

PadelRanks shows a small follower count next to each player in the rankings, search results, player profile and "Following" list — a number indicating how many other PadelRanks users follow that player. To compute this count we store one row per follow on our backend (Supabase — see §3) with:

The anonymous device identifier is never returned to any client — only the aggregate count (e.g. "134 followers") is visible to other users, and is the only value the server's public API ever emits. Row-level security blocks any direct read of the underlying table.

If you uninstall and reinstall the app your device receives a new anonymous identifier; your previous follows orphan in the database and continue to contribute to counts until removed (see §5 Erasure).

The follower-count feature works for both Rankedin- and FIP-backed players across all 18 countries and does not require sign-in.

1.8 Legal basis for processing (GDPR Article 6)

The lawful bases under GDPR Article 6(1) that we rely on are:

A documented legitimate-interest balancing test is available on request to Juliancilea@gmail.com.

2. Data we do not collect

3. Third-party data sources and processors

PadelRanks communicates with the following services. Most read-only padel data is fetched through our own backend (api.padelranks.online, hosted on Hetzner in the EU), which retrieves it from the sources below, caches it, and serves it to the app — this covers RankedIn (rankings, team leagues, player profiles, player matches and tournaments), FIP (the Premier calendar and player rankings), and place-name geocoding. A few requests still go directly from your device to the source — for example RankedIn team-league search, certain FIP player-search / player-profile pages, and all Playtomic tournament requests (§3.1). The Find a Match feature uses Supabase (§3.2).

3.1 Read-only data sources (rankings, tournaments, clubs)

3.2 Our backend and data processors

We run a single backend (above) that caches the public federation data and performs geocoding; all Find a Match account data lives in Supabase. The original padel data is owned and published by the third-party providers listed above — our backend holds cached copies and snapshots of it for performance.

4. Retention

5. Your rights (GDPR + UK GDPR + Swiss DPA)

You have the following rights under the GDPR. Article references are to the EU GDPR; equivalent rights exist under the UK GDPR and Swiss DPA.

6. Children (GDPR Article 8)

PadelRanks's Find a Match feature is not directed at and may not be used by children under the age of 16. At Find a Match sign-up we require an explicit in-app confirmation that the user is 16 years of age or older. This is higher than the Danish digital-consent age of 13 (GDPR Article 8(1)) and is set deliberately to avoid processing the personal data of younger users without parental consent. Apple's and Google's sign-in flows additionally enforce platform-level minimum age requirements.

We do not knowingly collect data from children under 16 via Find a Match. If you believe a child under 16 has created a Find a Match account, please contact us at Juliancilea@gmail.com and we will delete the account and associated content.

The non-Find-a-Match parts of the app (rankings, tournaments, clubs) do not ask any user, of any age, for personal data or an account — they are a read-only display of data already published by the national padel federations (DPF, FIP, etc.) on their own public web pages. (As with any internet service, the backend that serves this data keeps technical request logs — see §3.2.) The federations are the controllers of the displayed data and are responsible for any age-related publication decisions about their members.

7. Security

Communication with all third-party APIs and with Supabase is encrypted with TLS. Find a Match data inside Supabase is protected by row-level security (RLS) — you can only read and write your own posts, comments, joins and push subscriptions, and the database refuses any operation that violates this. Follower-tracking rows (§1.7) are protected by the same row-level security mechanism — the underlying table is fully blocked from direct client reads, and only the aggregate count is exposed via a SECURITY DEFINER RPC, so no client (including signed-in users) can enumerate which devices follow which players. We rely on Supabase's underlying security measures (encryption at rest, secure key management, regular backups) for the database itself.

8. International transfers

Our backend cache is hosted on Hetzner in the EU, and Supabase hosts the Find a Match database in Frankfurt, Germany — also inside the EU. Apple, Google and Expo may process authentication and push-delivery data outside the EU under their own GDPR-compliant transfer mechanisms.

9. Changes

Changes to this policy will be published on this page together with an updated effective date. Material changes (e.g. new categories of data, new processors) will be announced in the app before they take effect.

We will not broaden player-specific notifications beyond professional players and the user's own designated profile without updating this policy and announcing the change in-app before it takes effect.

10. Contact

Questions, deletion requests, or data exports? Write to Juliancilea@gmail.com.