Privacy policy
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
- We don't sell data, we don't show ads and we don't track you across other apps.
- We check your location once, only when you choose "On a court" after a session. The coordinates stay on your phone — we only receive the court's identifier.
- Your profile photo and any video you pick for the coach never leave your phone. The one exception: a clip you choose to send for a rank exam — a coach reviews it and we delete it 30 days after the verdict.
- Questions to the coach (Matteo / Alice) are passed to an AI model only to answer them. We don't store their content.
- If you turn on notifications, we store your device's token — used only for training reminders and exam verdict alerts; we delete it together with your account.
- You can delete your account and training log in the app or by email.
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:
| Provider | What it does | Where |
|---|---|---|
| Google Ireland / Google LLC (Firebase: Authentication, Firestore, Cloud Functions, Remote Config, Analytics) | sign-in, storing the training log, statistics | EU servers (europe-west) + access from the US |
| Cloudflare, Inc. | proxy server for the AI coach | global network |
| Anthropic, PBC | generating coach answers and plans | US |
| Netlify, Inc. / Loops | website and early-access sign-ups | US |
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
- Account and training log — until you delete the account; backups are gone within 30 days at the latest.
- Anonymous log without an account — until you delete the app with its data or ask us.
- Exam clip — 30 days after the verdict; exam result — until you delete the account.
- Coach rate limits — 24 hours; cost statistics — 3 days.
- Usage statistics — at most 14 months.
- Early-access sign-ups — until early access ends or you unsubscribe.
- Correspondence — up to 12 months after the matter is closed.
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.