← Corso

Privacy policy

Version 1.0 · effective 24 September 2026 · covers the Corso app for iOS and Android and the corsotennis.com website · Polski (the Polish version is binding)

We write this plainly so it can actually be read. If anything is unclear, write to hello@corsotennis.com — a person replies.

1. Who is responsible for your data

The controller is Oskar Porębski GT, os. Kościuszki 3 lok. 4, 32-650 Kęty, Poland, NIP (tax ID) 9452230045, REGON 384232098 ("Corso", "we"). Contact for anything about your data: hello@corsotennis.com. We have not appointed a data protection officer; we are not required to.

2. In short

3. What we process, why, and on what legal basis

Account

The app works straight away on an anonymous identifier (no email) so your progress can be saved. If you create an account we process your email address, optionally your name, and, if you sign in with Google (iOS), your basic Google profile. Your password is held only by the sign-in service (Firebase Authentication) — we never see it.
Why: so your progress survives a new phone. Basis: performance of a contract (GDPR Art. 6(1)(b)).

Training log and progress

After each session we record: date and time zone, planned and actual duration, blocks completed / skipped, the drills and theme, the place (court / wall / home), how the place was determined and — for a court — the court complex identifier. From this we calculate club points, badges, Form and readiness for the rank exam.
Why: this is the service. Basis: performance of a contract (Art. 6(1)(b)).

Location

When you choose "On a court" after a session and allow location access, the phone takes one position reading and compares it on the device with the list of courts built into the app. We receive only the identifier of the court found (or that none was nearby) and the distance in metres — never your coordinates. We don't track location in the background. Without location access the app works normally; the session just isn't counted as a court session.
Basis: your consent (Art. 6(1)(a)), given in the iOS / Android system prompt; withdraw it in your phone's settings.

AI coach ("Ask Matteo")

When you write what's working and what isn't, we send your text, the drill, your level (NTRP), the session theme, the coach you chose and your first name if you gave one. When building a plan we send its parameters (duration, level, theme, intensity, mood, context). Data goes through our proxy server (Cloudflare) to the language-model provider Anthropic, which generates the answer. We don't store the questions or answers. Anthropic does not use data sent through its API to train models and keeps it for a limited period set out in its terms. If you pick a video for the coach, it stays on your phone — we only send the fact that you attached one.
Please don't type health or other sensitive data into questions. Basis: performance of a contract (Art. 6(1)(b)).

Rank exam (video)

When you take an exam, you record a short clip (30–60 s) in the app or pick one from your phone, and you send it yourself. It goes to our file storage (Firebase Storage), accessible only to the person reviewing it. An automated check looks at quality first — length, orientation, resolution, whether the same clip was sent twice — and sometimes an AI model pre-describes the frames to save the coach time; the verdict is always given by a person. We store the exam result and the coach's notes. We delete the clip 30 days after the verdict; the result stays on your account. The clip may show your face and body — record it so that nobody else is in the frame.
Basis: performance of a contract (Art. 6(1)(b)) — the exam is a service you ask for. No clip, no exam; the rest of the app works as usual.

Install identifier

The app creates a random install identifier. Our proxy turns it into a hash and uses it only for coach rate limits (kept 24 hours) and daily cost statistics (number of requests and unique installs, kept 3 days).
Basis: our legitimate interest in protecting the service from abuse and controlling cost (Art. 6(1)(f)).

Usage statistics

We use Google Analytics for Firebase to know whether the app works: e.g. whether people finish the introduction, how many sessions are completed, how often a session happens on a court, whether the coach answers, and how you heard about us (if you answer that question). We don't link these statistics to your email, don't use them for advertising and don't enable the advertising identifier.
Basis: our legitimate interest in developing and fixing the product (Art. 6(1)(f)). You can object: write to us, or switch statistics off in the app (Profile → Privacy) once that option is available.

Drill ratings (iOS)

If you rate a drill with stars you can add a short comment (up to 140 characters). We store the rating, comment, drill, language, level and app version — not linked to your account — only to improve drills (Art. 6(1)(f)).

Game settings from the server

The app fetches current point values and thresholds from Firebase Remote Config. That isn't your data; we mention it because Google receives the technical device data needed for the connection.

Payments

You buy subscriptions in the App Store or Google Play. Apple or Google handle payment as separate controllers — we never see your card details; we only receive your subscription status. If you back our Kickstarter campaign, Kickstarter processes your data under its own terms; we may then email you an access code.

Early-access sign-up (website)

When you sign up on the website we process your email, your answer to "how did you hear about us" (if given), the campaign tag from the link (e.g. utm_source) and the page language — to send you the test-version link and a few emails about early access. Basis: your consent (Art. 6(1)(a)). Every email has an unsubscribe link. The website uses no analytics or advertising cookies.

Correspondence

If you write to us we process your address and message to reply (Art. 6(1)(f)).

What we don't collect

Apart from the exam clip (above), we don't use the microphone, health data (Apple Health, Health Connect), contacts or the advertising identifier. Your profile photo is stored only on your phone.

4. Young players

People under 16 may use Corso only through an account opened and run by a parent or legal guardian, who consents on the child's behalf (GDPR Art. 8). Our programme for young players (under 18) runs only through a parent: the parent writes to us and opens the account. If we learn that an account belongs to someone under 16 without parental consent, we will delete it.

5. Who we share data with

Only providers processing it on our behalf under data-processing agreements:

ProviderWhat it doesWhere
Google Ireland / Google LLC (Firebase: Authentication, Firestore, Cloud Functions, Remote Config, Analytics)sign-in, storing the training log, statisticsEU servers (europe-west) + access from the US
Cloudflare, Inc.proxy server for the AI coachglobal network
Anthropic, PBCgenerating coach answers and plansUS
Netlify, Inc. / Loopswebsite and early-access sign-upsUS

Apple and Google (stores, payments, Google sign-in) and Kickstarter act as separate controllers. Transfers outside the European Economic Area rely on the European Commission's EU–US Data Privacy Framework decision or on Standard Contractual Clauses.

6. How long

7. Your rights

You have the right to access, rectify and erase your data, to restrict processing, to data portability, to object to processing based on legitimate interest, and to withdraw consent at any time (without affecting what happened before). Write to hello@corsotennis.com — we reply within one month. You can also complain to the Polish supervisory authority, Prezes Urzędu Ochrony Danych Osobowych (ul. Stawki 2, 00-193 Warszawa, uodo.gov.pl), or the authority where you live.

8. Deleting your account

In the app: Profile → Account → Delete account. Or by email from the address on the account — instructions: corsotennis.com/delete-account. We delete the account, the training log and your progress.

9. Automated decisions

We make no decisions about you with legal effects based solely on automated processing. Points and badges are calculated by an algorithm under published rules; rank is confirmed by a person — a coach reviewing the exam recording.

10. Security

Connections are encrypted (HTTPS). Only your account can access your training log — the database rules enforce it. The AI model key lives only on the server, never in the app.

11. Changes

If we change this policy materially we will tell you in the app before the change takes effect. Earlier versions are available on request.