Rozpoznanie bez pliku cookie
Przeglądarka przy wczytaniu strony zdradza dziesiątki drobiazgów – czcionki, wymiary ekranu, strefę czasową, osobliwości grafiki. Pojedynczo żaden z nich nie mówi wiele. Złożone razem dają wartość rozpoznającą urządzenie przez tygodnie, bez zapisywania czegokolwiek.
Rozstrzygająca różnica wobec pliku cookie tkwi w kierunku. Cookie zostaje odłożone i później odnalezione – urządzenie nosi identyfikator ze sobą. Odcisk nie jest odkładany, lecz za każdym razem liczony na nowo, z właściwości i tak obecnych. Urządzenie nie niesie niczego; samo jest identyfikatorem.
Wynikają stąd dwie nieprzyjemne cechy. Odcisk przeżywa usunięcie wszystkich danych przeglądarki, bo nie ma czego usuwać. I jest niewidoczny: w ustawieniach przeglądarki nie istnieje lista, która by go pokazywała, tak jak pokazywane są pliki cookie.
Z czego składa się odcisk
Wartość informacyjną pojedynczej cechy da się zmierzyć. Zwykłą miarą jest entropia: o ile znajomość tej cechy zmniejsza zbiór urządzeń wchodzących w grę? Sama strefa czasowa dzieli ludność świata na dobre dwa tuziny grup – niewielka pomoc. Lista zainstalowanych czcionek bywa natomiast w wielu przypadkach niemal jednoznaczna.
Jak mocno pojedyncze cechy zawężają
Kwalifikacja prawna jest jaśniejsza, niż się wydaje
Rozpowszechnione nieporozumienie głosi, że fingerprinting to szara strefa, bo nic nie jest zapisywane. Brzmienie § 25 TDDDG mówi co innego: obejmuje ono przechowywanie informacji w urządzeniu końcowym oraz dostęp do informacji już tam przechowywanych. Odczytanie listy czcionek jest takim dostępem. To, czy coś zostaje pozostawione, nie ma znaczenia.
Grupa Robocza Art. 29 zapisała to już w 2014 roku w odrębnej opinii, na długo przed upowszechnieniem techniki. Kwalifikacja od tego czasu się nie zmieniła: fingerprinting w celach reklamowych lub analitycznych wymaga zgody, i to tej samej, której wymagałoby cookie.
Dwie drogi do tego samego rozpoznania
Dla prowadzenia strony płynie stąd prosty wniosek. Skrypt wczytywany przed zgodą nie może łączyć cech – a czy to robi, z zewnątrz trudno ocenić. Niezawodne jest więc tylko jedno: wczytywać skrypty podmiotów trzecich dopiero po decyzji, zamiast ufać, że skrypt wczytany wcześniej się powstrzyma. Ta powściągliwość jest zapewnieniem dostawcy, nie sprawdzalną właściwością kodu.