Een winkel die mokken verkoopt bewaart een naam, een adres en een bestelgeschiedenis. Een winkel die cursussen verkoopt bewaart dat alles plus hoe ver een student kwam, wat hij antwoordde, wat hij over zijn eigen leven schreef, en wat een docent daarop terugzei. Dat is een wezenlijk andere stapel persoonsgegevens, en de meeste cursusverkopers hebben hem nooit geïnventariseerd.
Alva Courses is een Shopify-app voor het bouwen en verkopen van online cursussen. Dit artikel behandelt wat een cursusverkoper daadwerkelijk bewaart, waartoe de compliancewebhooks van Shopify je verplichten, wat een wisverzoek moet vernietigen, en de werkelijk lastige vraag over cursuswerk dat je als onderwijsdossier wilt bewaren.
Wat een cursusverkoper daadwerkelijk bewaart
Begin met de lijst op te schrijven, want het antwoord is langer dan de meeste merchants verwachten. Een cursus verkopen levert een gedragsdossier op van een met naam genoemde persoon over weken of maanden, en verschillende onderdelen daarvan zijn vrije tekst die de student zelf heeft geschreven. Dat is het materiaal waar een gegevensverzoek over gaat.
- Inschrijvingen en voortgang — welke cursussen, wanneer, hoe ver, welke lessen afgerond, waar een video is gepauzeerd.
- Quizpogingen en antwoorden — inclusief vrije-tekstantwoorden, scores, geslaagd of niet, en hoeveel pogingen het kostte.
- Geschreven reflecties — vaak het persoonlijkste in de stapel. Een reflectievraag vraagt een student naar zijn eigen werk, gezondheid, klanten of doelen, en hij antwoordt eerlijk.
- Docentfeedback — wat jij over hun werk terugschreef, gekoppeld aan hun naam.
- Discussies bij lessen — reacties die een student binnen een cursus heeft geplaatst.
- E-mailgeschiedenis — welke cursusmails naar hen zijn gestuurd, wanneer, en of ze bouncten.
- Contacteigenschappen — alles wat je zelf over hen hebt vastgelegd, vrije tekst en volledig onder jouw beheer.
- Aan bestellingen gekoppelde gegevens — de aankopen en terugbetalingen die hun toegang verleenden of beëindigden.
Twee daarvan verdienen bijzondere aandacht omdat merchants vergeten dat ze bestaan. Reflecties zijn dagboekaantekeningen, geen formuliervelden. En contacteigenschappen zijn persoonsgegevens die jij over iemand anders hebt geschreven, en dat is een categorie waar mensen zelden aan denken als gegevens die ze bewaren.
De compliancewebhooks van Shopify zijn een verplichting, geen vinkje
Shopify verplicht elke app drie privacywebhooks te ontvangen en op te volgen: een verzoek om klantgegevens, een verzoek om klantwissing, en een winkelwissing wanneer een app wordt verwijderd en de gegevens van de winkel weg moeten. Ze zijn niet vrijblijvend. Ze hebben een termijn, en ze komen binnen of de merchant nu oplet of niet.
Alva Courses legt ze allemaal vast, zodat ze ophouden onzichtbaar leidingwerk te zijn. Een pagina Privacyverzoeken van klanten toont de gegevens- en wisverzoeken die Shopify voor je winkel heeft doorgestuurd, met wat voor verzoek het was, het e-mailadres van de klant, wanneer het binnenkwam en hoe ver het is gekomen. Een mislukt verzoek kun je daar opnieuw proberen.
Staan er verzoeken open, dan toont het ledengedeelte een banner die dat meldt en de termijn noemt: je hebt 30 dagen vanaf het verzoek om te reageren. Dat getal is de kern van de banner. Een privacyverzoek dat niemand heeft opgemerkt is precies de fout die deze pagina hoort te voorkomen.
Reageren op een gegevensverzoek
Een gegevensverzoek vraagt je de persoonsgegevens te overhandigen die je over een met naam genoemde klant bewaart. Voor een cursuswinkel is dat niet uit het hoofd te beantwoorden — de gegevens liggen verspreid over inschrijvingen, quizzen, reflecties, reacties, e-maillogboeken en bestellingen, en een antwoord dat een categorie overslaat is een antwoord dat te weinig meldt.
Alva Courses stelt het eigen dossier van die winkel over de klant samen als één gedateerd document: inschrijvingen en voortgang, quizpogingen en de afzonderlijke antwoorden, reflecties, reacties bij lessen, de cursusmailgeschiedenis, bestelgerelateerde gegevens en de contacteigenschappen die je zelf hebt toegevoegd. Het is afgebakend tot jouw winkel, dus het bevat nooit de gegevens van een andere merchant over dezelfde persoon.
Twee eerlijke beperkingen
Elk onderdeel van het document heeft een limiet, en wanneer een limiet wordt bereikt, vermeldt het document dat en meldt het hoeveel rijen er waren. Een zeer actieve student kan een limiet overschrijden, en het punt van die melding is dat je weet dat er handmatige opvolging nodig is in plaats van stilzwijgend een te kort antwoord te versturen.
Het document laat ook bewust de eigen toegangssleutel van de student tot zijn cursus weg. Dat is een sleutel tot zijn account, niet iets wat hij je over zichzelf heeft verteld, en het reproduceren daarvan in een document dat rondgemaild wordt zou een beveiligingsprobleem zijn in plaats van een complianceoverwinning.
Alva Courses is één bron van meerdere. Shopify zelf bewaart het klant-, bestel- en betalingsdossier, en alles wat je in een mailplatform of een spreadsheet bewaart is aan jou om te verantwoorden. De stappen om er een af te handelen in de app staan in verzoeken om klantgegevens.
Wat een wisverzoek moet vernietigen
Een wisverzoek is sterker dan een lid verwijderen. Alva Courses voert het automatisch uit voor je winkel en haalt het dossier van de student weg in plaats van het te verbergen: inschrijvingen en voortgang, reflecties, videoposities, reacties bij lessen, quizwerk, e-mail- en bouncegeschiedenis, aankoop- en terugbetalingsgegevens, en de contacteigenschappen die je over hen hebt geschreven.
Twee eigenschappen van dat wissen zijn het begrijpen waard, want daar vragen merchants naar.
Het is afgebakend tot jouw winkel, en alleen die
Dezelfde persoon kan klant zijn van veel winkels die de app gebruiken. Een wisverzoek vanuit jouw winkel wist wat jouw winkel over hem bewaart en verder niets. Het dossier van een andere merchant over dezelfde klant blijft onaangeroerd, en dat is in beide richtingen het juiste antwoord.
Een afmelding overleeft het wissen, met opzet
Had een student zich afgemeld voor je maandelijkse voortgangsmail, dan blijft die blokkering na het wissen van zijn gegevens bestaan — opgeslagen als een eenrichtingshash van het adres in plaats van het adres zelf. Elk spoor van de afmelding wissen zou juist de mensen die met rust gelaten wilden worden stilletjes opnieuw aanmelden, en dat is het tegenovergestelde van waar wissen voor bedoeld is.
De lastige vraag: cursuswerk dat je wilt bewaren
Hier zit een echte spanning, en die kun je beter benoemen dan gladstrijken. Een merchant die studenten beoordeelt heeft een gerechtvaardigde reden om te bewaren wat hij heeft beoordeeld: het is het bewijs dat een certificaat is verdiend, en het is het enige dossier van wat een student heeft ingediend. Maar de student is een persoon met wisrechten op datzelfde materiaal.
Alva Courses lost dat op door de twee manieren waarop een student vertrekt te scheiden. Verwijder je een student zelf — door hem uit te schrijven of het lid te verwijderen — dan blijft het beoordeelde cursuswerk bewaard als onderwijsdossier. Komt er een privacywisverzoek binnen, dan wordt het samen met al het andere vernietigd. Bewaren is gemak; wissen is een verplichting, en de verplichting wint.
Het bewaarde dossier is bewust smal. Alleen ingediend werk wordt bewaard — pogingen die zijn gehaald, niet gehaald, verlopen of in afwachting van beoordeling. Een poging waar de student nog aan zat te typen is nergens bewijs van en wordt niet bewaard. Wat wordt bewaard blijft leesbaar: de formulering van elke vraag wordt naast het antwoord opgeslagen, zodat de quiz later bewerken of verwijderen je archief niet in verweesde tekst verandert.
Leun je op dat archief, dan is het praktische advies om er in je eigen voorwaarden expliciet over te zijn tegenover studenten, en te begrijpen dat het geen manier is om gegevens te bewaren die een wisverzoek overleeft. Cursuswerk bewaren na het verwijderen van een lid behandelt de techniek.
Wat je moet doen voordat er een verzoek binnenkomt
Privacywerk is veel goedkoper als je het vooraf doet. Niets hiervan is juridisch advies, en het is allemaal het soort dingen waarvan een merchant wenste dat hij ze de week vóór zijn eerste verzoek had gedaan in plaats van de week erna.
- Schrijf op wat je bewaart, met de lijst hierboven als startpunt, inclusief alles wat buiten je winkel leeft.
- Verzamel minder. Een reflectievraag die uitnodigt tot gezondheids- of financiële details creëert een verplichting die je niet op je hoefde te nemen. Vraag naar wat je er ook echt mee gaat onderwijzen.
- Bepaal je standpunt over het bewaren van cursuswerk voordat iemand ernaar vraagt, en zet het in je voorwaarden in plaats van te improviseren in een supportantwoord.
- Houd de pagina met privacyverzoeken in de gaten, en behandel de termijn van 30 dagen als een echte deadline en niet als een zachte.
- Controleer je exports. Een ledenexport in een downloadmap is een kopie van deze gegevens waar geen enkel wisverzoek ooit bij komt — zie leden exporteren naar CSV.
Dit goed doen is niet alleen verdedigend. Studenten delen meer, en reflecteren eerlijker, wanneer ze geloven dat een winkel zorgvuldig omgaat met wat ze schrijven. De winkels die privacy goed regelen zijn meestal de winkels waarvan de cursussen de beste vragen stellen.
Veelgestelde vragen
Meer dan een gewone productwinkel. Naast het klant- en bestelrecord bewaart een cursuswinkel inschrijvingen en voortgang, quizpogingen en vrije-tekstantwoorden, geschreven reflecties, docentfeedback, reacties bij lessen, de cursusmailgeschiedenis en alle contacteigenschappen die de merchant zelf heeft toegevoegd.
Shopify verplicht elke app drie verzoeken te ontvangen en op te volgen: een verzoek om klantgegevens, een verzoek om klantwissing, en een wissing van winkelgegevens. Alva Courses legt ze allemaal vast op een pagina Privacyverzoeken van klanten voor je winkel, met wat er is gevraagd, het e-mailadres van de klant, wanneer het binnenkwam en de status.
Alva Courses toont in het ledengedeelte een banner die meldt dat je 30 dagen vanaf het verzoek hebt om te reageren, en somt de openstaande verzoeken op zodat ze niet worden gemist. Een mislukt verzoek kun je vanaf die pagina opnieuw proberen.
Niet op dezelfde manier. Een lid verwijderen haalt hem uit je winkel, maar beoordeeld cursuswerk blijft bewaard als onderwijsdossier. Een wisverzoek van een klant dat Shopify doorstuurt is sterker: het vernietigt het dossier van de winkel over die student, inclusief het bewaarde cursuswerk.
Ja, wanneer je hem zelf verwijdert. Alva Courses bewaart ingediende pogingen die zijn gehaald, niet gehaald, verlopen of in afwachting van beoordeling, samen met de formulering van elke vraag zodat het archief leesbaar blijft als de quiz verandert. Werk waar een student nog aan zat te schrijven wordt niet bewaard.
Nee, en dat is bewust. De blokkering wordt bewaard als een eenrichtingshash van het adres in plaats van het adres zelf, zodat een gewiste student niet stilletjes opnieuw wordt aangemeld voor je maandelijkse voortgangsmail als hij ooit weer aan de winkel wordt toegevoegd.