Privacybeleid
1. Wie zijn wij?
SquashAnalyzer is een app voor iPhone en Android, ontwikkeld door Gerd-Jan van Gils. De app is beschikbaar via de Apple App Store en als testversie via TestFlight en Google Play en bereikbaar via www.squashanalyzer.com.
Voor vragen over dit privacybeleid: info@squashanalyzer.com
2. Welke gegevens verwerken wij?
SquashAnalyzer bewaart de spelers en wedstrijden die je invoert lokaal. Wanneer je online functies gebruikt, worden daarvoor gegevens verwerkt zoals hieronder beschreven:
- Spelersnamen: Ingevoerd door de gebruiker voor de wedstrijd. Deze worden lokaal en in je gekozen back-ups opgeslagen. Bij live meekijken of het delen van een kaart of uitslag worden ook namen gedeeld, zoals hieronder beschreven.
- Wedstrijddata: Scores, punt-types, zones en slagkeuzes die de gebruiker registreert. Opgeslagen lokaal op het apparaat en, op iPhone, optioneel via iCloud Drive backup.
- AI coaching verzoeken: Wedstrijdstatistieken zonder spelersnamen en gekozen algemene coaching-aandachtspunten worden naar de OpenAI API gestuurd om coachingadvies te genereren. Spelersnamen en vrije coachingnotities worden niet meegestuurd.
- Mijn team: Als je in de instellingen een teamlink van sbn.toernooi.nl invult, haalt de app de openbare teampagina en stand op bij sbn.toernooi.nl. Daarbij gaat alleen het verzoek om die openbare pagina naar sbn.toernooi.nl; er worden geen spelers, wedstrijden of andere gegevens uit de app meegestuurd. De opgehaalde stand wordt alleen lokaal op het apparaat bewaard.
- Meedoen met de iPhone-test (TestFlight): De test loopt via de app TestFlight van Apple; daarop is het privacybeleid van Apple van toepassing. Feedback die je in TestFlight stuurt, zoals een opmerking of screenshot, komt bij ons binnen en gebruiken we alleen om de app te verbeteren.
- Aanmelden voor de Android-test: Meld je je per e-mail aan, dan gebruiken we je e-mailadres alleen om je toe te voegen aan de testgroep in Google Play en je over de test te mailen. Na de test, of eerder als je dat vraagt, verwijderen we het.
- Live meekijken: Alleen als de coach of scheidsrechter in de app op LIVE tikt, stuurt de app tijdens die wedstrijd de voornamen van de twee spelers en de stand naar de live-dienst van SquashAnalyzer bij Cloudflare, zodat mensen met de link mee kunnen kijken. Staat er in de app een foto bij een speler, dan gaat daar ook een kleine versie van mee (een vierkantje van 160 bij 160 pixels), die naast de naam op de livepagina staat; dat kun je in Instellingen uitzetten met "Foto's van de spelers meesturen". Er gaan geen achternamen, slagen of andere gegevens mee. De live-dienst gebruikt tijdelijke, persistente opslag bij Cloudflare (Durable Objects), zodat een sessie een herstart kan overleven; die opslag staat alleen in de EU (Cloudflare-jurisdictie EU). Een automatisch alarm verwijdert de sessie-inhoud, inclusief eventuele foto's, 2 uur na de laatste stand-update. Foto's krijgen een instructie om ze niet in een browsercache te bewaren. Een al geopende pagina kan de laatst ontvangen stand nog tonen; kijkers kunnen ook zelf een kopie maken. Kies je in de app voor Live stoppen, dan wordt het meteen gewist. Voor live teamwedstrijden (Competitie, sinds versie 3.0) geldt dezelfde opslag- en verwijdertermijn: de teamnamen, de datum, per partij de voornamen (of de teamnaam met de partij erachter als je niets invult) en de stand gaan naar dezelfde server, op één pagina voor de hele teamavond (met "Foto's van de spelers meesturen" aan ook per partij een kleine foto van beide spelers, net als hierboven), en teamgenoten met de uitnodiging kunnen hun eigen partij erop zetten. Iedereen met de link kan meekijken; deel hem dus alleen met wie je wilt. Voeg alleen foto's toe van spelers die dat goed vinden. In Instellingen kun je de LIVE-knop helemaal uitzetten.
- Live score op je vergrendelscherm: Volg je een live wedstrijd of teamwedstrijd met de app (knop "Volg op je vergrendelscherm" op de livepagina, of "Wedstrijd volgen" in de app), dan stuurt de app een push-token van je telefoon naar de live-dienst: een code waarmee de server de stand naar jouw telefoon kan sturen, met daarbij of je iPhone of Android gebruikt en of je een melding bij elke game wilt. Er gaan geen namen, telefoonnummer of andere gegevens van jou mee. Het token wordt bij die wedstrijd bewaard in dezelfde tijdelijke opslag in de EU en verdwijnt samen met de wedstrijd (2 uur na de laatste stand-update, of meteen bij Live stoppen); tik je op Stoppen of veeg je de stand weg, dan wordt het meteen verwijderd. Na elke stand stuurt de server de voornamen en de stand via de pushdienst van Apple (Apple Push Notification service) of van Google (Firebase Cloud Messaging) naar je telefoon; daarop is het privacybeleid van Apple respectievelijk Google van toepassing. Op Android vraagt de app pas een token aan bij Firebase als je een wedstrijd gaat volgen; andere Firebase-onderdelen, zoals analyse, staan uit. De spelersfoto's die de scorer meestuurt, haalt de app op bij de live-dienst en bewaart ze klein op je telefoon zolang je de wedstrijd volgt. Zonder volgen gebeurt dit allemaal niet. De eigen wedstrijd op het vergrendelscherm van de iPhone ("Stand op vergrendelscherm") blijft op je telefoon en gaat niet via de server.
- Technische verzoekgegevens: Cloudflare verwerkt netwerkgegevens zoals IP-adressen om de website en live-dienst te leveren. De live-dienst gebruikt IP-adressen en tijdstippen van aanmaakverzoeken ook om het aantal verzoeken te begrenzen. Deze technische administratie staat los van de wedstrijdinhoud; de verwijdertermijn van 2 uur hierboven betreft de livesessie. Daarnaast telt de live-dienst per dag hoe vaak live meekijken en live teamwedstrijden gestart worden en hoe vaak kijkers en volgers op het vergrendelscherm verbinden, met het land en de regio die Cloudflare uit het verzoek afleidt, de taal van de app, het platform (iPhone of Android) en bij een teamwedstrijd de clubnaam uit de teamnaam; wedstrijden met de voorbeeldspelers tellen apart. Deze tellingen bevatten geen namen, IP-adressen of sessie-ids, zijn niet tot een persoon te herleiden en worden niet gedeeld; ze dienen alleen om te zien of en waar de app gebruikt wordt. Daarnaast meldt de app (vanaf versie 3.1) hooguit één keer per dag aan de live-dienst dat hij gebruikt is, met het platform (iPhone of Android), de appversie, de taal en welke delen van de app die dag gebruikt zijn (coach, scheidsrechter, analyse, competitie). Er gaat geen apparaat-ID, naam of tijdstip mee; de live-dienst telt dit per dag, samen met het land en de regio die Cloudflare uit het verzoek afleidt, net als de tellingen hierboven. Om niet dubbel te melden onthoudt de app op je telefoon alleen op welke dag hij het laatst gemeld heeft. Je kunt dit in Instellingen uitzetten met Anoniem gebruik tellen.
- Teams via een link: Een team (namen, foto's en eventueel aandachtspunten) kan op squashanalyzer.com/teams staan, zodat een coach het met één link in de app zet. Zie hieronder bij "Teams op squashanalyzer.com".
3. Wat verwerken wij niet?
- Geen locatiegegevens
- Geen camera- of microfoondata
- Geen contacten of agenda
- Geen advertentie-tracking (IDFA)
- Geen analyse- of crashrapportage via derden
- Geen account of registratie vereist
4. iCloud Drive back-up
De app biedt de optie om een back-up te maken naar je persoonlijke iCloud Drive. Deze back-up bevat spelersnamen en wedstrijddata. Apple versleutelt iCloud Drive-gegevens in transit en in rust. Wij hebben geen toegang tot je iCloud Drive.
Op Android maak je back-ups naar een map die je zelf kiest. Ook daar hebben wij geen toegang toe.
Gedeelde spelerskaarten (badges)
Spelers die je kiest via "Kies speler" kunnen badges verdienen. Die staan alleen op je eigen apparaat. Met "Deel kaart" maak je zelf een link naar squashanalyzer.com/kaart met de spelerskaart: alleen de naam en de verdiende badges, met datum en naam van de tegenstander. Foto's, coachingnotities en aandachtspunten gaan nooit mee. Deel een kaart alleen met toestemming van de speler.
De kaart zit in de link zelf (na het #-teken); browsers sturen dat deel niet naar onze server, en de pagina bewaart of verstuurt niets. Wie de link opent in de app (iPhone of Android), kan de kaart overnemen bij een eigen speler; dat gebeurt alleen op dat apparaat. Er is geen automatische synchronisatie tussen apparaten.
Teams op squashanalyzer.com
Een coach of teamcaptain kan de beheerder van SquashAnalyzer (Gerd-Jan van Gils) vragen een team op squashanalyzer.com te zetten. Teamgenoten zetten dat team dan met één link als spelers in hun eigen app. Er is geen uploadformulier: alleen de beheerder zet teams online, en alleen als de spelers in het team daarvoor toestemming hebben gegeven. De captain die het team aanlevert, vraagt die toestemming.
- Wat staat er: per speler de naam, een foto en eventueel algemene aandachtspunten (zoals "Backhand"). Geen coachingnotities, wedstrijden, scores of badges.
- Wie kan het zien: iedereen die de link heeft. De link bevat een lange willekeurige code, staat niet in de navigatie en krijgt instructies aan zoekmachines om hem niet op te nemen. Dat is geen toegangsbeveiliging. Deel de link daarom alleen binnen je eigen team.
- Waar: als bestanden op de website van SquashAnalyzer, gehost bij Cloudflare.
- In de app: de app haalt het teambestand op bij squashanalyzer.com en zet de spelers alleen op het eigen apparaat. Daarbij wordt niets uit de app meegestuurd. Zoals bij elke website zien onze server en Cloudflare het IP-adres van het verzoek; wij gebruiken dat niet.
- Hoe lang: zolang het team de link gebruikt. Op verzoek van de captain of van een speler zelf halen we het team of die ene speler weg. Spelers die al in iemands app staan, blijven op dat apparaat tot die gebruiker ze verwijdert.
5. OpenAI (AI coaching)
De AI-coachingfunctie stuurt wedstrijdstatistieken zonder spelersnamen (percentages, aantallen per zone/slagtype) en eventueel gekozen algemene aandachtspunten naar de OpenAI API. Er worden geen spelersnamen, vrije coachingnotities of direct identificeerbare gegevens verstuurd. OpenAI verwerkt deze verzoeken conform hun eigen privacybeleid.
Voor de AI coaching functie is een eigen OpenAI API-sleutel vereist, die de gebruiker zelf invoert in de app-instellingen.
6. Vrijwillige donatie
Op de website staat een knop om vrijwillig te trakteren op een koffie. Die opent een betaalpagina van bunq (bunq.me), waar je zelf het bedrag kiest en betaalt, bijvoorbeeld met iDEAL. De betaling en je betaalgegevens verwerkt bunq volgens het privacybeleid van bunq. Wij zien alleen wat bij een gewone bankoverschrijving zichtbaar is (naam, rekening, bedrag en omschrijving) en gebruiken dat nergens anders voor. De app zelf vraagt nergens om geld.
7. Gegevensopslag
Spelers en wedstrijden staan lokaal op je apparaat; teamwedstrijden worden in een lokaal bestand bewaard. Back-ups staan op de door jou gekozen locatie. Online verwerking vindt plaats bij AI Coach, live meekijken, de live score op je vergrendelscherm, de anonieme dagelijkse gebruikstelling en teams die de beheerder op verzoek op squashanalyzer.com zet, zoals hierboven beschreven. Gedeelde kaarten en uitslagen komen daarnaast bij de ontvangers terecht.
8. Rechten van gebruikers
Je kunt de lokale wedstrijden en spelers en je eigen back-ups verwijderen door:
- De wedstrijden handmatig te verwijderen via "Afgeronde wedstrijden" in de app
- De app met de lokale appgegevens te verwijderen van je iPhone, iPad of Android-toestel (bestaande back-ups en gedeelde kopieën blijven apart bestaan)
- Handmatig de back-upbestanden te verwijderen uit iCloud Drive (Bestanden-app → iCloud Drive → SquashAnalyzer) of, op Android, uit de map die je voor back-ups hebt gekozen
Sta je met naam of foto in een team op squashanalyzer.com? Dan kun je vragen welke gegevens er van je staan, ze laten aanpassen of ze laten verwijderen. Stuur een e-mail naar info@squashanalyzer.com; we handelen het zo snel mogelijk af, in elk geval binnen een maand.
9. Wijzigingen
Wij behouden het recht om dit privacybeleid te wijzigen. Bij substantiële wijzigingen wordt de datum bovenaan dit document bijgewerkt. We raden aan dit beleid periodiek te raadplegen.
10. Contact
Vragen of opmerkingen? Stuur een e-mail naar info@squashanalyzer.com.