Valt browser fingerprinten wel onder de cookiewet?

De cookiewet heeft eigenlijk een foute naam: het gaat niet specifiek om cookies, maar om alle gegevens die je uitleest of plaatst bij randapparatuur (computers telefoons etc) van bezoekers. Voor dat lezen en plaatsen is toestemming nodig. Omdat je bij device fingerprinting (of browser fingerprinting) allerlei gegevens uitleest, wordt aangenomen dat dit ook onder de cookiewet valt. Maar is dat eigenlijk wel zo?

Het idee achter de wet is dat de eigenaar van die apparatuur mag beslissen wat er op zijn apparaat gebeurt. Door toestemming te vragen, blijft de eigenaar in control. En het gaat dan zowel om opgeslagen gegevens die worden uitgelezen, als om nieuwe gegevens die moeten worden opgeslagen. Een app die je adresboek uitleest is immers net vervelend als een website die een zoekbalk (toolbar) wil toevoegen aan je browser. En ja, die twee vallen dus ook onder de cookiewet.

Device fingerprinting of browser fingerprinting is een herkenningstechniek waarbij de browser of het apparaat uniek herkend wordt aan de hand van allerlei instellingen en voorkeuren. Heel veel mensen gebruiken Firefox 13.0 op Windows 7, maar ik ben kennelijk toch uniek met mijn configuratie. Bij Panopticlick (een testsite van de EFF) hebben ze namelijk nog niemand anders gezien die mijn combinatie van browserplugins, tijdzone, schermresolutie, geïnstalleerde fonts en cookieinstellingen heeft.

Bij Browserspy is meer te lezen over wat er allemaal kan op dit gebied. Daarbij valt me op dat er eigenlijk twee soorten gegevens zijn: dingen die je browser meestuurt, en dingen die ze zelf verzamelen met een scriptje. Zo is zonder meer te achterhalen welke bestandstypes je wel en niet accepteert, maar moeten geïnstalleerde fonts worden gedetecteerd met Flash. Mijn schermresolutie wordt bepaald met Javascript.

En nu vraag ik me af: is er wel sprake van “uitlezen” van die bestandstypes? Want die website weet dat omdat mijn browser zo geprogrammeerd is om die elke keer mee te sturen. Dat is namelijk handig: dan weet de site wat ze wel en niet mag sturen. Net zoals de browserversie automatisch mee gaat, zodat ik eventueel een Firefox-specifieke pagina kan krijgen of op mijn pad de mobiele versie (dat ik dat irritant vind even daargelaten).

Dit is cruciaal want als je niet “uitleest” dan val je buiten de cookiewet.

We hebben bij een eerdere blog hierover gezien dat de minister heeft verklaard dat ook browser fingerprinting er onder valt. In de comments kwam toen een blog van Dirkzwager advocaten langs waar dit in twijfel werd getrokken. Want, inderdaad, lees je wel uit als een browser zelf gegevens meestuurt? Als ik zeg, “hoi ik ben Arnoud” achterhaal jij dan mijn naam? Ik zou zeggen van niet.

Maar wat moeten we dan met die opmerking van de minister? Het juridische spel is namelijk dat de minister eigenlijk altijd gelijk heeft bij dergelijke discussies. En als het niet letterlijk klopt wat hij zegt, dan mogen wij juristen gaan verzinnen hoe de wet zo te lezen is dat het figuurlijk of qua strekking toch klopt.

Als soort van compromis zou ik dan zeggen dat er sprake is van uitlezen als je als site zélf iets doet om gegevens te krijgen. Daarmee vallen de bestandstypes en de “referrer” header buiten de cookiewet, want die stuurt de browser zelf al mee. Maar ga je Flash- of Javascriptscriptjes sturen om zo extra dingen te weten te komen, dan is dat wél een vorm van “uitlezen” waar toestemming voor nodig is (tenzij het functioneel is maar dat even terzijde).

En met die aanpak is er dus ook geen toestemming nodig voor het uitlezen van cookies. Die worden immers vanzelf meegestuurd door de browser. Het plaatsen vereist wel toestemming natuurlijk.

33 reacties

  1. Dat betekend een mooi stukje extra “cookie” inventarisatie en mogelijke cookie disclaimer uitbreiding welke “gewone” bezoekers waarschijnlijk niet echt begrijpen (voor zover ze uberhaupt de cookie disclaimer lezen :))

    Ben benieuwd naar verdere reacties.

  2. De minister zal zeggen dat het gaat om de intentie; de gebruikte techniek zal niet veel uitmaken. Als wij slimmeriken (techneuten en juristen) omwegen om het verbod gaan zoeken en vinden zullen die gaten snel gerepareerd worden in de wet neem ik aan.

  3. Ik ben het eens met Rik; het gaat om de intentie. Als je een gebruiker ‘volgt’ aan de hand van informatie die meegestuurd wordt, dan volg je hem nog steeds. Die gebruiker heeft niet de keuze om zelf te bepalen wat hij wel en niet mee stuurt. Waarschijnlijk weet hij/zij überhaupt niet eens dat er wat meegestuurd wordt.

  4. Je kunt het ook zo uitleggen: het feit dat de browser gegevens meestuurt, wil nog niet zeggen dat jij van die gegevens kennis neemt om iemand te volgen. Daarvoor moet je bewust iets programmeren om de betreffende headers uit de browserresponse te parsen, om er betekenis aan toe te schrijven en om ze in combinatie te interpreteren als een fingerprint. Die actieve doelgerichte handelingen zou je ’toegang verkrijgen tot gegevens die zijn opgeslagen in de randapparatuur van een gebruiker’ kunnen noemen en daarmee is de uitleg van de minister consistent met de wet.

  5. Je kunt het ook zo uitleggen: het feit dat de browser gegevens meestuurt, wil nog niet zeggen dat jij van die gegevens kennis neemt om iemand te volgen. Daarvoor moet je bewust iets programmeren om de betreffende headers uit de browserresponse te parsen, om er betekenis aan toe te schrijven en om ze in combinatie te interpreteren als een fingerprint. Die actieve doelgerichte handelingen zou je ’toegang verkrijgen tot gegevens die zijn opgeslagen in de randapparatuur van een gebruiker’ kunnen noemen en daarmee is de uitleg van de minister consistent met de wet.

  6. Meestal doelt ‘browser fingerprinting’ vooral op de technieken die wel om uitlezen gaan. Ik denk dan ook dat dit is wat de minister met de uitspraak bedoelde. Even terzijde, het is technisch vrijwel onmogelijk om de data die meegestuurd wordt met een request niet te gebruiken, of om onderscheid te maken tussen wel en niet te gebruiken voor fingerprinting. Immers, je kan “fingerprinten” wie vaak welke pagina’s bezoekt, maar deze gegevens zijn natuurlijk essentieel voor de service. Zo ook met browser type (mobile-specifieke pagina’s leveren) en vergelijkbare data. Dus zelfs als dit wel onder de cookiewet valt, valt het direct onder de nodig-voor-service uitzondering.

  7. Heeft iemand er al over nagedacht dat het feit dat Mozilla tegenwoordig veel vaker nieuwe Firefox versies uitbrengt, de uniciteit van de browser versie header veel groter heeft gemaakt — auto-update daargelaten? Wat dat betreft was de tijd van het Microsoft monopolie op dit vlak “beter” voor de privacy…

  8. @arnoud Er zijn websites die allerlei trucjes gebruiken om vervelende mensen te weren. Is een ip blokkade zonder toestemming (…) eigenlijk niet in strijd met de wet of andersoortige technieken?

  9. Het wordt nu wel erg bizar. Elke server slaat een serverlog op. Daarin staan IP gegevens. Elke server slaat dus persoonsgegevens op, waarmee men gebruikers kan profilen. Zonder cookie.

    Ik gebruik http://modernizr.com/ daarmee kan ik uitlezen welke features een browser ondersteund. Browser profiling en dus onder cookiewet (“om websites te bouwen die werken in IE7 wordt uw browser geprofiled, geeft u hier toestemming voor?”)?

    Als je geen cookies wil, stel dit dan in in je webbrowser.

    de eigenaar van die apparatuur mag beslissen wat er op zijn apparaat gebeurt
    Dat mag de eigenaar dus zelf beslissen of hij/zij een site whitelist om cookies te plaatsen. Nu lijkt het wel of ik voor mijn gebruikers moet beslissen.

    Wil je geen cookies? Blokkeer dan cookies op je apparaat. Een andere user agent meesturen? Pas dit aan op je apparaat. Een achterlijke wet nu, met ogenschijnlijk bizarre consequenties.

    De EU had beter aan voorlichting en misschien zelfs een browser-plugin (focus op privacy) kunnen werken. Dit is als het ontbreken van een Nee-Nee sticker op je brievenbus, zodat je postbode telkens aan moet bellen, om te vragen of ie een folder mag afleveren.

  10. Nog afgezien van de vraag in hoeverre er van uitlezen sprake is:

    De wetstekst stelt dat je voor het lezen (of schrijven) van data van de randapparatuur van de computer van de gebruiker toestemming moet vragen. De meeste met fingerprinting te vergaren informatie over mijn computer is geen data op de randapparatuur. (Bijvoorbeeld: een font is dat wel, maar de informatie welke fonts er geinstalleerd zijn niet.) Ik vind dus dat de minister wel heel erg afwijkt van wat de wet zegt.

  11. @C. William: Zoals ik eerder al schreef, dit valt dus direct onder de uitzondering. Dit uitlezen is inmiddels nodig om functionaliteit te leveren. Qua cookies: het is toch vrij algemeen bekend dat cookies (vooral flash cookies en dergelijke) voor de gemiddelde gebruiker compleet niet te doorgronden zijn. Gedeeltelijk ook omdat cookies meestal beschermd zijn ivm mogelijke aanvallen of information leaks door het uitlezen van cookies van andere websites (wat soms via browserbugs mogelijk is). Jij en ik begrijpen wel wat in de whitelist kan, hoe je cookies wist en wat flash cookies zijn. Als laatste is er nog het punt dat niet alles even instelbaar zijn (volgens wat ik me heb laten vertellen- ik heb geen mobiele browsers). Toegegeven, “switch dan naar een andere browser!”, maar de aanname bestaat al dat leken niet zomaar een browser kunnen installeren (zie de boete die Microsoft kreeg voor het bijvoegen van IE, in verschillende landen). Hoewel ik deze aanname nogal sterk vind, is meer wettelijke duidelijkheid over het cookiegebruik an sich wel wenselijk. Ookal is de huidige cookiewet wel zo streng dat bijna niemand zich er echt aan gaat houden, net als sommige punten in de wet bescherming persoonsgegevens.

  12. @ Arnoud #15: Ik weet het niet zeker, maar ik denk dat hAl het zelfde probeert te zeggen wat ik wil zeggen. Het gaat om de volgende tekst uit je blog:

    En nu vraag ik me af: is er wel sprake van ???uitlezen??? van die bestandstypes? Want die website weet dat omdat mijn browser zo geprogrammeerd is om die elke keer mee te sturen. Dat is namelijk handig: dan weet de site wat ze wel en niet mag sturen. Net zoals de browserversie automatisch mee gaat, zodat ik eventueel een Firefox-specifieke pagina kan krijgen of op mijn pad de mobiele versie (dat ik dat irritant vind even daargelaten). Dit is cruciaal want als je niet ???uitleest??? dan val je buiten de cookiewet.

    Cookies worden ook opgestuurd doordat je browser zo geprogrammeerd is. Als dat (evt. samen met dat het “handig” is) betekent dat cookies dus niet worden “uitgelezen”, dan betekent het dus dat cookies niet onder de cookiewet vallen.

    Als je denkt dat dat niet klopt, dan moet je maar eens wat duidelijker aangeven waarom volgens jou cookies wel onder de cookiewet vallen en browser-fingerprinting niet.

  13. @ Arnoud #15: Ik weet het niet zeker, maar ik denk dat hAl het zelfde probeert te zeggen wat ik wil zeggen. Het gaat om de volgende tekst uit je blog:

    En nu vraag ik me af: is er wel sprake van “uitlezen” van die bestandstypes? Want die website weet dat omdat mijn browser zo geprogrammeerd is om die elke keer mee te sturen. Dat is namelijk handig: dan weet de site wat ze wel en niet mag sturen. Net zoals de browserversie automatisch mee gaat, zodat ik eventueel een Firefox-specifieke pagina kan krijgen of op mijn pad de mobiele versie (dat ik dat irritant vind even daargelaten). Dit is cruciaal want als je niet “uitleest” dan val je buiten de cookiewet.

    Cookies worden ook opgestuurd doordat je browser zo geprogrammeerd is. Als dat (evt. samen met dat het “handig” is) betekent dat cookies dus niet worden “uitgelezen”, dan betekent het dus dat cookies niet onder de cookiewet vallen.

    Als je denkt dat dat niet klopt, dan moet je maar eens wat duidelijker aangeven waarom volgens jou cookies wel onder de cookiewet vallen en browser-fingerprinting niet.

  14. @hAl/Corné: als ik de cookiewet en deze thread goed begrepen heb, gaat het daar om het verbieden van het plaatsen van cookies. Bij deze fingerprinting methoden is plaatsen niet nodig, maar de minister zegt dat het er wel onder valt (?) -> onduidelijkheid. Maargoed, het is laat, misschien mis ik wat.

  15. Pak de orginele wettekst er even bij:

    toegang wenst te verkrijgen tot gegevens die zijn opgeslagen in de randapparatuur van een gebruiker dan wel gegevens wenst op te slaan in de randapparatuur van de gebruiker
    Kortom:

    • Lijst van fonts of plugins opvragen: “gegevens die zijn opgeslagen in de randapparatuur van een gebruiker”. Mijns inziens valt ook de lijst van fonts of plugins onder deze definitie (in tegenstelling tot wat #12 beweert).

    • Cookie plaatsen: “gegevens wenst op te slaan in de randapparatuur van de gebruiker”

    • Cookie lezen: nee, dit wordt pro-actief door de browser gestuurd.

    Volgens mij moet je het dus doen met de HTTP headers, want die krijg je proactief aangeboden: user-agent, cookies, accept-headers. Getruuk met ETags en dergelijke valt onder opslaan. IP adres valt onder WBP.


    Grijze gebieden: a) mag ik met Javascript een lijst plugins maken en die naar de server opsturen (volgens mij niet)

    b) mag ik met Javascript kijken of een specifieke plugin is geinstalleerd (volgens mij wel)

    c) mag ik een SWF object in mijn webpagina embedden en server side kijken of de browser vervolgens een request komt doen voor dat SWF object? (volgens mij wel)

    d) mag ik nu met Javascript wel kijken of dat SWF object uiteindelijk is geladen? (volgens mij wel)

    e) volledige inductie van b naar n: mag ik voor een hele lijst vantevoren door mij gedefinieerde plugins achtereenvolgens kijken of deze zijn geinstalleerd? (volgens mij wel)

    f) is e nu echt veel anders dan a ? (volgens mij niet)

    Wat vinden jullie?

  16. Richard: Je mag wel een lijst met plugins maken en controleren of die zijn geinstalleerd maar alleen als je deze ook daadwerkelijk gaat gebruiken. Dan valt het onder de uitzondering. Puur een lijst met plugins bekijken zonder dat deze nodig zijn voor je site kan dus niet. En daar zit het grote verschil tussen a en e.

  17. Dat weet ik zo net nog niet. De “alleen als je deze ook daadwerkelijk gaat gebruiken” regel maakt een uitzondering op “toegang wenst te verkrijgen tot gegevens die zijn opgeslagen in de randapparatuur van een gebruiker dan wel gegevens wenst op te slaan in de randapparatuur van de gebruiker”, het is geen additionele voorwaarde.

  18. De voorwaarde is dat het direct nut moet hebben voor de gebruiker, dan valt het onder de uitzondering. Als jij wilt detecteren of Flash geinstalleerd is om een flash object weer te geven mag dat. Als je het om een andere reden wilt doen, mag het niet.

    Verder denk ik, dat alles wat in de headers wordt meegestuurd toch echt uitgelezen wordt door de server. Immers, het is anders als met je oren die je niet dicht kan zetten. Voor de headers zal je toch echt expliciet code moeten maken om ze uit te lezen (te verwerken).

  19. Er zijn twee hele grote verschillen. Wat de wet zegt en wat de minister zegt. Als de minister zegt dat fingerprinten daar ook onder valt maar de wet zegt daar niets over hou ik het bij wat de wet zegt.

    Ik vind het belachelijk dat de Nederlandse politiek heeft gekozen voor een zwaardere wet dan er in andere landen geld. Europa heeft Nederland gedwongen de wet in te voeren. Echter heeft Nederland zijn eigen draai eraan gegeven en de wet zwaarder gemaakt dan Europa aan Nederland heeft gevraagd te doen.

    Ik vraag mij af wanneer Nederlandse bedrijven de overheid aansprakelijk gaan stellen wegens oneerlijke concurrentie. Ja, wij zijn 1 europa maar in landen als Engeland geld er een andere cookiewet dan in Nederland. Ook in Belgie heeft de politiek besloten dat websites alleen maar hoeven te melden dat ze cookies plaatsen. Al heb je een Nederlandse site hebt die zich ook richt op Belgische bezoekers heeft een belgisch bedrijf voordeel omdat zij niet verplicht worden toestemming te vragen.

    Je ziet al dat grote sites als de Telegraaf, NS, etc zich aan de Europese regels houden en niet aan de Nederlandse wetgeving. Het verhaal dat Europa ons heeft opgedragen komt er op neer dat je je bezoekers moet melden dat je cookies plaats. In Nederland moet je toestemming vragen om cookies te plaatsen. Dat is heel iets anders dan Europa gevraagd heeft.

  20. Als jij wilt detecteren of Flash geinstalleerd is om een flash object weer te geven mag dat. Als je het om een andere reden wilt doen, mag het niet.
    Mijn punt: detecteren valt helemaal niet onder het verbod, dus hoeven we niet over de uitzondering te praten.
    Verder denk ik, dat alles wat in de headers wordt meegestuurd toch echt uitgelezen wordt door de server. Immers, het is anders als met je oren die je niet dicht kan zetten. Voor de headers zal je toch echt expliciet code moeten maken om ze uit te lezen (te verwerken).
    Het gaat om uitlezen van gegevens op de apparatuur van de gebruiker. Op het moment dat de gebruiker zelf het transport van de gegevens naar jouw apparatuur regelt (initieert) is deze regel volgens mij dus niet van toepassing.

  21. @Richard 23

    toegang wenst te verkrijgen tot gegevens die zijn opgeslagen in de randapparatuur van een gebruiker
    Het gaat er volgens mij niet om of de data transmissie door de computer of de server wordt gestart, maar dat het om gegevens op de PC van de gebruiker gaat. Ook al start de PC de dataoverdracht, die gegevens blijven van de gebruiker. En als je die gegevens dan wil gebruiken voor iets anders dan strikt noodzakelijk, dan heb je toestemming nodig.

    Als ik de minister was zou ik het zo uitleggen.

    Ik vind Arnoud’s compromis dan ook niet zo handig gekozen, het gaat niet om het uitlezen, maar dat het om opgeslagen gegevens gaat. De browsers sturen die gegevens om een aantal zaken technisch mogelijk te maken en die gegevens moet je dan niet gaan misbruiken voor andere doeleinden.

  22. Enkel de eerste twee items op Panopticlick (“User Agent” and “HTTP_ACCEPT Headers”) worden door de browser standaard meegestuurd, hier hoeft een website niets voor te doen. Alle overige informatie moet actief worden bemachtigd (“uitgelezen”) d.m.v javascript/Flash/Java etc. en valt dus sowiesie onder de “cookiewet”.

    Over de eerste twee items kan je discussieren omdat elke bezoeker het zelf meestuurt. Leuke discussie, maar niet heel erg relevant: deze twee gegevens gecombineerd zijn niet uniek genoeg voor device fingerprinting.

    Mijn User-Agent string heeft een kans van 1 op de 27.774, de Accept headers 1 op 4338. Hier zit echter een grote overlap in (er is een verband tussen browser versie en de accept headers), misschien dat je samen tot 1 op 30.000 komt. Significant minder dan 1 op 1.138.775 wanneer alle data gebruiker wordt. Dit lijkt me niet genoeg om bezoekers van een grote website uniek te kunnen identificeren.

    Conclusie: de “cookiewet” beperkt het aantal toegestane bronnen voor browser fingerprinting en maak het daarmee zo goed als onbruikbaar.

  23. @Peter, lees nog eens wat Arnoud hier over schreef want wat de minister zegt is niet iets wat je zo maar kan negeren.

    @Richard: Als jij met js kijkt of een bepaalde plugin geïnstalleerd is, initieer jij het en niet de gebruiker. Bij de normale HTTP headers is dat anders omdat de gebruiker deze altijd mee stuurt, ook al vraag jij er niet om. Dus bij a-e initieer jij de actie, de browser stuurt deze informatie namelijk niet zelf mee. En in die gevallen lees je dus echt gegevens op de apparatuur van de gebruiker….

  24. Ik blijf me afvragen welke informatie ik nu wel en niet mag onthouden voordat het geheel een persoonsgegeven wordt.

    Het lijkt me fundamenteel een grijze zone, want welk automatisch handhaafbaar criterium je ook gebruikt (ik ben Piwik aan het configureren), de mate van anonymisering zal per gebruiker sterk verschillen. Als ik bijvoorbeeld IP-adressen anonymiseer door de laatste twee bytes weg te gooien hangt het helemaal van de overgebleven waarden af hoeveel mogelijke gebruikers je daarmee samenneemt.

Geef een reactie

Handige HTML: <a href=""> voor hyperlinks, <blockquote> om te citeren, <UL>/<OL> voor lijsten, en <em> en <strong> voor italics en vet.