Anonimiteit & retentie
Anonimiteit is de kernbelofte van I See You: een vraag wordt alleen aan de geselecteerde opiniegevers getoond — een via Beheer instelbaar aantal — en bestaat slechts tijdelijk. Deze pagina beschrijft de cleanup-cyclus die dat afdwingt — niet als bijzaak achteraf, maar als een eersteklas regel van het Retentiebeleid. Zie ook de termen Anonimiteit en Retentiebeleid.
Situatie
Section titled “Situatie”We volgen drie gelijktijdige situaties die door dezelfde cleanup-cyclus worden afgehandeld.
- Sanne (geregistreerd) neemt een video van maximaal 10 seconden (mag korter) op en legt die als
Vraagvoor. Ze heeft een account (eenGebruiker), eenProfiel, een credits-saldo en waarderingsstatistieken. - Een anonieme bezoeker stelt een vraag met een foto. Voor de matching ontstaat een
AnoniemeGebruikermet een minimaal profiel (leeftijd, gender, achtergrond); de foto wordt alsVraagopgeslagen. - De camera-flow maakt onderweg een tijdelijke upload aan (de rauwe opname voordat die een definitieve
Vraagwordt).
De cleanup-cyclus draait periodiek op de achtergrond en past het Retentiebeleid toe:
- Tijdelijke uploads die ouder zijn dan 10 minuten worden verwijderd (de opname is dan ofwel een
Vraaggeworden, ofwel achtergelaten). - Vragen (de opnames) blijven na afronding (
isBeoordeeld()) nog een begrensd resultaat-retentievenster bestaan zodat de maker het resultaat + de opname kan terugzien; daarna worden ze altijd verwijderd — direct wanneer de maker zelf op “verwijder opname” klikt, of automatisch zodraresultaatRetentieUren(instelbaar, standaard 168 = 7 dagen nabeoordeeldOp) verstrijkt — ongeacht het media-type (Video/Foto) en ongeacht of de maker geregistreerd is. Een via Beheer instelbare veiligheids-timeout (veiligheidsTimeoutMin) ruimt daarnaast vragen op die nooit afgerond raken. Een eventueel achtergelaten uitslagnotificatie-adres (notificatieEmail) is dan al lang weg: het wordt direct na de verzendpoging — bij het zetten vanbeoordeeldOp— gewist, dus er blijft geen mailinglijst achter, en het zou hoe dan ook met de vraag verdwijnen. - Sessies waarvan
lastActivitylanger dan het inactiviteitsvenster geleden is, worden opgeruimd. - Anonieme gebruikers worden opgeruimd zodra hun bijbehorende vraag verdwijnt. (Zolang de anonieme sessie leeft, kan ook een anonieme maker zijn resultaat terugzien.)
- Geregistreerde gegevens — de
Gebruikerzelf, haar credits, haar waarderingsstatistieken enBerichten — blijven behouden. Alleen de opname (Vraag) van Sanne verdwijnt, niet haar account.
Het netto-effect: een opname bestaat na afronding nog precies zo lang als de maker nodig heeft om het resultaat te bekijken — begrensd door het resultaat-retentievenster — en daarna bestaat er van die opname geen spoor meer (de veiligheids-timeout sluit ook nooit-afgeronde vragen af), terwijl geregistreerde gebruikers hun credits, waarderingsstatistieken en berichten houden.
Geen locatie-tracking nodig. Er is geen
Land-veld meer (per2026-07-11m, ADR-037) — er is geen GeoIP, geen IP-detectie en geen automatische locatiebepaling. Alleen een optioneel gekozen regio wordt opgeslagen; het IP-adres is voor locatie nooit nodig. Zie Bounded context Gebruiker & Toegang.
Genomen beslissingen
Section titled “Genomen beslissingen”| # | Beslissing | Motivatie |
|---|---|---|
| 1 | Opnames worden ALTIJD verwijderd, ongeacht gebruikerstype of media-type. | Anonimiteit is een belofte die niet afhangt van wie de maker is; een Video en een Foto volgen exact hetzelfde retentieregime. Alleen het moment is verschoven: uiterlijk aan het einde van het resultaat-retentievenster. |
| 2 | Na afronding een begrensd resultaat-retentievenster, daarna automatisch verwijderd (resultaatRetentieUren); de maker kan ook zelf eerder verwijderen; een instelbare veiligheids-timeout (veiligheidsTimeoutMin) vangt nooit-afgeronde vragen op. | De maker moet zijn resultaat + opname kunnen terugzien, maar er vormt zich geen blijvend beeldarchief: het venster is kort en begrensd, en verwijderen is gegarandeerd. |
| 3 | Tijdelijke uploads verlopen al na 10 minuten. | De rauwe opname vóór bevestiging hoeft niet zo lang te bestaan als een actieve vraag; eerder opruimen verkleint het privacy-venster. |
| 4 | Gebruikerstype bepaalt wat blijft. Geregistreerd → gebruikers en berichten blijven; anoniem → data verdwijnt. | Een account heeft een legitieme reden om te blijven (credits, waarderingsstatistieken, berichten); anonieme deelname laat geen restdata achter. |
| 5 | Anonieme gebruiker is gekoppeld aan zijn vraag en verdwijnt mee. | Het minimale profiel bestaat alleen om matching mogelijk te maken; zonder vraag heeft het geen bestaansrecht. |
| 6 | Sessies worden opgeruimd bij inactiviteit (single-device). | Verlopen logins horen niet eindeloos te blijven staan; sluit aan op het inactiviteitsvenster en de single-device-regel. |
| 7 | Cleanup is een expliciet, periodiek beleid (Retentiebeleid), geen toevallig neveneffect. | Verwijderen is een eersteklas domeinregel — privacy by design in plaats van best-effort. |
| 8 | (vervallen per 2026-07-11m — ADR-037) Het land was een keuze, geen meting; de gebruiker koos het land uit een keuzelijst. | I See You wordt per land als aparte site gehost (NL eerst); een Land-veld binnen de applicatie was overbodig. Een optionele regio blijft, als vlakke keuzelijst. |
| 9 | Uitslagnotificatie-adres eenmalig, daarna gewist. Een optioneel notificatieEmail wordt bij het zetten van beoordeeldOp gebruikt voor één seintje (alleen een link) en direct na de verzendpoging gewist. | Dataminimalisatie: er blijft geen mailinglijst of herleidbaar adres achter. Het adres bestaat maar kort en verdwijnt hoe dan ook met de vraag; de mail bevat bovendien geen beoordelingsinhoud. |
flowchart TD
Start([Cleanup-cyclus draait periodiek]) --> Upload{Tijdelijke upload ouder dan 10 min?}
Upload -->|Ja| DelUpload[Verwijder tijdelijke upload]
Upload -->|Nee| Vraag
DelUpload --> Beoordeeld{"Beoordeling klaar?"}
Beoordeeld -->|Ja| Venster["beoordeeldOp gezet · maker kan resultaat + opname terugzien"]
Beoordeeld -->|Nee| Sessie
Venster --> Vraag{"Maker verwijdert zelf,<br/>resultaat-retentie verstreken,<br/>of veiligheids-timeout?"}
Vraag -->|Ja| DelOpname[Verwijder opname ALTIJD]
Vraag -->|Nee| Sessie
DelOpname --> Type{Maker geregistreerd?}
Type -->|Ja| Behoud[Behoud Gebruiker, credits, waarderingsstatistieken en Berichten]
Type -->|Nee| DelTijdelijk[Verwijder AnoniemeGebruiker en data]
Behoud --> Sessie
DelTijdelijk --> Sessie{Sessie inactief?}
Sessie -->|Ja| DelSessie[Ruim verlopen sessie op]
Sessie -->|Nee| Eind
DelSessie --> Eind([Geen opname-spoor; account behouden])
Hoe het model dit ondersteunt
Section titled “Hoe het model dit ondersteunt”| Stap | Modelondersteuning |
|---|---|
| Opname bewaard na beoordeling, dan verwijderd | Vraag.isBeoordeeld() zet beoordeeldOp (opname blijft); Retentiebeleid.resultaatRetentieUren verwijdert daarna automatisch, de maker kan eerder zelf verwijderen, en veiligheidsTimeoutMin ruimt nooit-afgeronde vragen op. Zie Vraag, Resultaat-retentie en Retentiebeleid. |
| Tijdelijke upload verloopt na 10 min | De rauwe opname uit de camera-flow wordt opgeruimd vóórdat ze een definitieve Vraag is. |
| Opname wordt ALTIJD verwijderd | Geldt voor beide waarden van MediaType (Video, Foto) en onafhankelijk van Vraag.makerIsGeregistreerd. |
| Geregistreerd: data blijft | Gebruiker (geregistreerd account) met zijn credits, waarderingsstatistieken en gekoppelde Berichten blijven behouden — alleen de Vraag verdwijnt. |
| Anoniem: data verdwijnt | AnoniemeGebruiker wordt opgeruimd zodra zijn Vraag verdwijnt; er blijft geen profiel achter. |
| Sessie opgeruimd bij inactiviteit | Sessie.lastActivity stuurt het periodiek opruimen van verlopen, single-device Sessies. |
| Geen landveld | Geen Land-veld (per 2026-07-11m) — geen GeoIP. Alleen een optioneel gekozen regio wordt opgeslagen; er is geen IP-adres voor locatie nodig. |
| Notificatie-adres eenmalig | Vraag.notificatieEmail wordt bij het zetten van beoordeeldOp gebruikt voor één seintje via IUitslagNotificaties en daarna op null gezet; er blijft geen adres bewaard. |
| Cleanup als beleid | Retentiebeleid (policy) in de Moderatie & Retentie-context bundelt resultaatRetentieUren, veiligheidsTimeoutMin en meldingenDrempel; de overige parameters (zoals onlineVensterMin) staan in de Systeeminstellingen. Zie domeinmodel. |
| Verwijderen via meldingen | Een Vraag kan ook verdwijnen bij een via Beheer instelbaar aantal meldingen (standaard 3). Zie Melden → automatisch verwijderen. |
Privacy by design. Retentie is niet iets dat de gebruiker moet aanvragen of dat het systeem “ooit nog eens” doet. Na afronding krijgt de maker een begrensd venster om resultaat + opname terug te zien; daarna dwingt de cleanup-cyclus verwijdering af — automatisch na
resultaatRetentieUren, of eerder wanneer de maker zelf verwijdert — met een veiligheids-timeout als vangnet voor vragen die nooit afgerond raken. Het onderscheid geregistreerd vs. anoniem bepaalt enkel wat er rond een account mag blijven, nooit of de opname zelf blijft. De opname verdwijnt altijd.