GDPR og ungdomshold

Bubbles, FC Sunnyvale Udvikler 17. maj 2018, 15:08

Hvis I synes der har været lidt stille her bloggen i den seneste tid, så skyldes det hovedsageligt at vi har haft travlt med at forberede os på EU's nye Persondataforordning, også kaldet GDPR.

Det er desværre et kæmpe arbejde for en lille virksomhed som vores, hvor vi kun har een fuldstidsansat (mig) plus en freelance-udvikler.

For at opfylde lovgivningen skal vi (jeg) producere en meget stor mængde intern dokumentation, såsom en beskrivelse af dataflow, en risikoprofil og en konsekvensanalyse samt procedurer for, hvordan man sikrer persondata. Her på Vman har vi yderligere en udfordring i at vi er afhængige af vores frivillige crew til at varetage forskellige opgaver, hvorved de har adgang til visse data. Det skal sikres at det kun er de nødvendige personer, der har adgang til data. Det går f.eks ikke at et crew-medlem har data liggende på deres egen personlige computer, som andre i familien også har adgang til.

Selvom det egentlig er meget begrænset hvilke data vi rent faktisk har om brugerne, så er definitionen på personlig data i GDPR meget bred. Det eneste data de fleste crew-roller kan se er kun din email-adresse, men det er ifølge GDPR også betegnet på personlig data. For selvom vi selvfølgelig intet ved om dig personligt, hvis det eneste data vi har er, at du har en klub kaldet "FC Saksespark" med emailen [email protected], så er der en teoretisk mulighed for at vi kunne samkøre vores data med f.eks en anden virksomhed og ad den vej få mere at vide om dig - f.eks hvis du er medlem af gruppen "Os med nøddeallergi" på Facebook og har brugt samme email der.

Derfor bliver selv en email-adresse regnet som personlig data, og hvis vores crew skal kunne se din email-adresse ville vi være nødt til at få dem til at underskrive databehandleraftaler - og det er nok lovligt meget forlangt af frivillige som blot ønsker at hjælpe til i et lille fodboldspil. Derfor er jeg i gang med at gennemanalysere al den data som de forskellige crew-roller har adgang til, og fjerne alt, hvad der kan fjernes. Dette vil i mange tilfælde betyde at vi bliver nødt til at lave nye crew-værktøjer og finde på andre måder at udføre de opgaver, som crewet hjælper os med.

Det kan dog stadig give problemer hvis en klub selv skriver personlig information i en besked som havner hos supportere, der ikke har underskrevet en databehandleraftale, så det bliver vi nødt til at advare imod på supportsiderne, og instruere supporterne i at slette. Og I må endelig ikke skrive til support og fortælle dem at I har nøddeallergi, for det er helbredsoplysninger, og så har vi virkelig et problem! :P

Jeg selv og vores administrator, FC Razor, er dækket ind under virksomhedens datapolitik, da vi begge er medarbejdere her, men vi skal også være forsigtige,. Hvis FC Razor f.eks. skriver en SMS til mig om at "klubben med email-adressen [email protected] har problemer med betaling", så betyder det at vi har "delt" personlig data med vores teleselskaber, hvilket ville kræve at vi har databehandleraftaler med dem, og der oplyses om det i vores datapolitik. Vi skulle også begge sørge for at pågældende SMS blev slettet igen hvis FC Saksespark beder om det. Det samme gælder f.eks 10 år gamle mails i min eller supportens indbakke, som selvfølgelig indeholder senderens email-adresse.

Der skal også udarbejdes værktøjer til at slette al data vi har om en klub, bortset fra de data, som vi ifølge Bogføringsloven SKAL beholde i 3 år om alle, der har købt noget af os. Det er også et krav at man skal kunne få udleveret al ens data i både maskinlæsbart og "menneskelæsbart" format, hvilket kræver endnu mere udvikling af værktøjer til formålet.

Vi kommer nok desværre også til at genere jer med en masse spørgsmål om samtykker til alt mellem himmel og jord.

Ungdomshold

MEN... imens jeg sveder over GDPR, er vores freelance-udvikler nok glad for at han kun skal koncentrere sig om ungdomshold, og der går faktisk ikke længe inden vi kan udgive den første beta-udgave.

Før vi kan gøre det, er vi dog nødt til påbegynde data-migrering og konvertering på sitet på forhånd. Det er nemlig enorme mængder data, der skal oprettes eller ændres før ungdomsholdene kan fungere.

Det skyldes at vi med ungdomshold har lavet om på en lang række data-relationer, som har været helt fundamentale siden dengang spillet først blev lavet. I dag er stort set alt data i spillet koblet direkte til din klub via dit klub-ID, men med ungdomshold bliver der indskudt et nyt lag imellem klubben, og f.eks spillere: truppen.

Der er et hav af data, hvor vi skal kappe koblingen til klubben, og så koble det til en trup i stedet. Udover spillere, drejer det sig om:

  • Taktikker
  • Kampe
  • Trofæer
  • Ligahistorik
  • Cup-tilmeldinger
  • Cup-kvalifikationer
  • Kamp-taktikvalg
  • Roller
  • Spillerhistorik
  • VIFA-rang-historik

VIFA-rang, VIFA-point, supporterantal, form, liga-stilling skal flyttes fra din klub til din senior-trup.

Hvor de individuelle stadion-tribuner og billetpris i dag er koblet direkte til klubben, skal disse i stedet kobles til en ny stadion-model, som kobles til truppen, som kobles til klubben.

Antallet af rækker i databasen, som enten skal tilføjes eller redigeres bliver omkring 200 millioner. Hvis vi gjorde det på dagen, hvor ungdomshold udgives, kunne det nemt komme til at tage flere dage, hvor sitet skulle være lukket. Det dur selvfølgelig ikke!

Derfor arbejder vi på en hybrid-release, hvor den eksisterende kode skal gøres i stand til at oprette og vedligeholde de nye data og relationer uden at det ellers kan ses i spillet. På den måde kan vi køre data-migreringen stille og roligt i baggrunden henover et par uger inden vi udgiver ungdomshold.

De førnævnte 200 millioner databaserækker, som skal ændres, burde også give et indtryk af hvor omfattende det grundlæggende tekniske arbejde har været - meget mere komplekst og vidtrækkende, end vi kunne forestille os, da vi gik i gang.

Ungdomsspillere som afløsere i seniortruppen

Et af de store ønsker til ungdomshold har været at man skulle kunne bruge sine ungdomsspillere som reserver, i det tilfælde at seniortruppen bliver ramt af skader eller karantæner.

Når du redigerer seniortruppens taktikker, vil spillerne fra ungdomsholdet optræde i spillerlisten som "Ungdomsafløsere", og du kan bruge dem lige som du vil.

Indtil videre har vi ikke indlagt nogen begrænsninger på hvor mange ungdomsafløsere, du må sætte ind, eller hvor ofte. Der burde ikke være nogen fordele i at overdrive.

For at du nemt kan skelne mellem spillerne, viser vi ungdomsafløserne med dine udebanetrøjer.

Når du mener at en ungdomsspiller er klar til en permanent plads i seniortruppen, kan du forfremme ham, når du vil.

Hvis en spiller en gang har været på dit ungdomshold og blevet rykket op, kan han ikke rykkes ned igen.

Men, hvis du køber en ung spiller, som ryger direkte ind i seniortruppen fordi der ikke var plads på ungdomsholdet, eller hvis du endnu ikke havde oprettet et ungdomshold, får du 1 chance for at flytte ham ned.