Śledzące parametry w adresach URL, czyli o fbclid i tym podobnych

2 dni temu

Czy analizowaliście kiedyś dokładnie linki do różnego rodzaju materiałów w Internecie, które są publikowane np. na portalu Facebook lub linki do materiałów na portalu YouTube, które udostępniacie znajomym? Czy wiecie, iż takim udostępnieniem linku możecie nieświadomie „sprezentować” Waszym znajomym śledzenie ich aktywności przez podmioty zewnętrzne, a tym samym prowadzić do naruszenia ich prywatności? jeżeli tego nie wiedzieliście, to koniecznie przeczytajcie ten artykuł. Wyjaśniamy w nim, jakie niechciane przez Was informacje mogą znajdować się w linkach do stron internetowych, czy działania operatorów stron internetowych polegające na dodawaniu takich elementów do linków są zgodne z prawem i jak możecie przeciwdziałać takim praktykom.

Odcinek ICD Express #7

Temat ten omawiamy w artykule poniżej, oraz w naszym najnowszym odcinku ICD Express:

Elementy adresu URL

Na wstępie opiszemy budowę linków do zasobów internetowych. Składają się one z 4 zasadniczych części:

Ostatnia część linku, czyli parametr, jest w tym wypadku opcjonalny – można go usunąć, a adres przez cały czas będzie prowadził do tej samej strony. Gdyby ww. link wyglądał tak, jak poniżej, również wyświetlilibyście określony zasób:

https://internet-czas-dzialac.pl/icd-news-19/

W założeniu parametry w URL mają służyć do tego, aby zmienić jakiś aspekt strony – na przykład sposób sortowania listy produktów w sklepie internetowym. Biorąc jednak pod uwagę fakt, iż serwer ignoruje parametry, których obecności się nie spodziewa, jest możliwość dopisania dowolnego, wymyślonego parametru do danego adresu URL. Serwer je zignoruje i przez cały czas wyświetli osobie odwiedzającej ten adres to, co nadawca zamierzył. Ale parametr jest odczytany przez skrypty śledzące na stronie i użyty do analizy.

Najpopularniejszymi parametrami są fbclid stosowany przez Facebooka (Meta) i si, który stosuje YouTube. Oczywiście są także inne firmy, które stosują praktyki doklejania parametrów śledzących. W naszych rozważaniach skupimy się jednak na powyższych dwóch przykładach parametrów, jako najbardziej „panoszących się” w sieci.

Warto wiedzieć, iż parametr śledzący jest zwykle długim ciągiem znaków, który wygląda losowo, ale może być łatwo powiązany z użytkownikiem, który kopiuje linka, aby wysłać go innym. Gdy udostępnicie link z parametrem np. znajomemu, to ten parametr fbclid czy si pozostaje niezmieniony. Jakie to ma znaczenie praktyczne? Takie, iż dany portal, z którego udostępniliście link, jest w stanie technicznie zweryfikować, kto komu wysyła wiadomości, choćby jeżeli odbywa się to poza danym portalem (w naszych przykładach — poza Facebook albo YouTube). Po udostępnieniu parametr fbclid czy si pozostaje niezmieniony i Facebook albo YouTube mogą używać go do śledzenia całej wędrówki danego linka. Dzięki temu skrypty śledzące mogą wnioskować o tym, którzy użytkownicy są znajomymi, choćby o ile nie są znajomymi np. na Facebooku i nie używają go do komunikacji.

Czy parametr zawsze dokleja się do ścieżki?

Czy parametr dokleja się do ścieżki zawsze i bez naszej wiedzy lub naszego wpływu? Sprawdziliśmy to w odniesieniu do parametrów si YouTube i fbclid Facebooka.

YouTube

Gdy odwiedzamy stronę YouTube po raz pierwszy, jesteśmy pytani o „Ustawienia personalizacji i pliki cookie”.

Ekran modalny wyświetlany przy pierwszym wejściu na stronę youtube.com

Jak wiąże się Wasz wybór w tym zakresie z doklejaniem parametru si? Mamy 4 możliwe scenariusze:

  1. Brak konta użytkownika na portalu YouTube i wybranie opcji „Odrzuć wszystkie” – parametr si nie jest doklejany do ścieżek.
  2. Brak konta użytkownika na portalu YouTube i wybranie opcji „Zaakceptuj wszystko” - parametr si jest doklejany do ścieżek.
  3. Brak konta użytkownika na portalu YouTube i zgoda wyłącznie na „Historia w YouTube” - parametr „si” jest doklejany do ścieżek.
  4. Brak konta użytkownika na portalu YouTube i zgoda wyłącznie na „Personalizacja reklam na YouTube” - parametr si nie jest doklejany do ścieżek.

Ekran z ustawieniami prywatności dla niezalogowanego użytkownika ma tylko te dwa cele do wyboru:

Ekran „Ustawień personalizacji i plików” cookie na stronie youtube.com

Zatem YouTube dokleja parametr si wyłącznie przy zaakceptowanym celu „Historia w YouTube”. Jaki jest opis powyższego celu?

„Historia w YouTube

Korzystaj z funkcji takich jak rekomendacje na stronie głównej YouTube oparte na Twojej aktywności, np. obejrzanych i wyszukiwanych filmach. Gdy to ustawienie jest wyłączone, funkcje YouTube używające historii do personalizowania usług są wyłączone.”

Nie jest tutaj wyjaśnione, w jaki sposób parametr si jest związany z Historią w YouTube i do jakich celów ten unikalny parametr jest wykorzystywany. Nie wynika to też z Polityki prywatności YouTube. Widzimy jednak, iż mamy jakiś wpływ na jego stosowanie – tzn. wyłącznie, gdy zaakceptujemy cookies związane z Historią w YouTube, si jest doklejany.

Facebook

Na Facebooku wygląda to gorzej. W przypadku niezalogowanego użytkownika proces kopiowania linku wygląda następująco – na przykładzie naszego fanpage’a:

  1. Najeżdżamy na link i widzimy, iż prowadzi do naszej domeny (zob. lewy dolny róg)
  2. Klikamy prawym przyciskiem i wybieramy „kopiuj link”.
  3. Facebook wprowadza nas w błąd, bo w schowku ląduje adres z dziwnymi znakami: https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.internet-czas-dzialac.pl%2Ficd-news-12%2F&h=AT1_eDEW4Y-7-lEB-VzK_JJbyQrbYHbd2eIWJzpAi2zvubbmhHqTGQA3hsamNyN8DY99gKYIyOJn3TK0Ox6Zc6RshaUdeEm_8bveDV1hApyfCwlV0WLLG7ZCaSw-2OHR5MCwsAQ-hOUh&__tn__=%2CmH-R&c[0]=AT3XDeF9XxueCaDLsbIN05ElXGX51OhKt-A7hkfb6OP1PllM5kWvg7WhHhXa645fecROUI1F643Jmzif1PWTU0kNeEut9ePUja_wur_GbJa0yzJiXaSWpF8PrxxOPEyf73D5WhSbcLHy6H3x2sp-rwkhMl3DU8AkG5o0DrLw2oa1g6LZpFk7pP99ndFRWyp6gl-MxHm8yGwBR8VWJORHwR6z6PIl2iWpbP5Z
Zrzut ekranu przedstawiający część naszego posta na Facebooku

W przypadku zalogowanego użytkownika Facebooka i braku zgód na cookies sytuacja wygląda następująco:

  1. Linki kopiowane z Facebooka i wysłane w prywatnych wiadomościach mają doklejony fbclid.
  2. Linki umieszczone na pejdżach mają w podglądzie linku doklejony fbclid (zob. lewy dolny róg screenshota poniżej). Jednak skopiowanie linku znowu umieszcza w schowku inny link (jak w przypadku niezalogowanego użytkownika), prowadzący ostatecznie do linkowanej strony, ale odwiedzający najpierw l.facebook.com, podając Facebookowi dodatkowe identyfikatory.
Zrzut ekranu przedstawiający część naszego posta na Facebooku, widać część pełnego adresu

Podsumowując, jako zalogowany użytkownik Facebooka nie masz możliwości w ustawieniach cookies zapobiec doklejaniu parametru fbclid w kopiowanych linkach...

Czy parametr to dane osobowe?

Opisaliśmy już jak funkcjonują parametry doklejane do ścieżek w adresach url na przykładzie fbclid i si, a teraz warto sobie zadać pytanie, jak wpływają one na naszą prywatność? W szczególności – czy stanowią dane osobowe?

Jak wskazaliśmy wyżej, dodawanie parametrów służy analityce ruchu na stronach, konwersji linków, a potencjalnie — celom reklamowym. Dla przeciętnego użytkownika Internetu dodawany w ramach parametru ciąg znaków nic nie znaczy, ale już dla podmiotów, które dodają je do ścieżek, taki ciąg znaków może znaczyć bardzo dużo. Przekazywanie linków np. z parametrem fbclid pozwala identyfikować drogę linku przez różnych użytkowników. Parametry dodawane do ścieżek mogą być nośnikiem wielu metadanych, a w konsekwencji prowadzić do identyfikacji użytkownika Internetu. Wobec tego jak najbardziej można je uznać za dane osobowe. Ma to takie konsekwencje, iż podmioty doklejające parametry powinny analizować swoje działania pod kątem zgodności z przepisami o ochronie danych osobowych (z RODO na czele) i stosować wynikające z nich zasady. Czy to robią? Śmiemy wątpić i mamy ku temu podstawy – choćby brak jasnego informowania użytkowników o tym, czym są parametry dodawane do ścieżek i czemu służą, a także prawdopodobny brak analizy, czy parametry spełniają choćby zasadę minimalizacji. W przypadku fbclid zalogowany użytkownik nie ma w ogóle możliwości sprzeciwić się praktyce doklejania parametrów w linkach. Brak informowania użytkowników Internetu o praktykach dodawania paramentów do ścieżek naszym zdaniem może być uznany za tzw. deceptive pattern (aka dark pattern), czyli nieuczciwą praktykę naruszającą prawa użytkowników. W zasadach prywatności Facebooka nie znaleźliśmy bezpośredniej wzmianki o powyższym działaniu (choć może być ukryta w jednym lub wielu gładkich i okrągłych sformułowań zawartych w tym dokumencie).

Co ciekawe, jak opisano w jednym z badań, fbclid, w połączeniu z Meta (dawniej Facebook) Pixel, może służyć ciągłemu monitorowaniu zachowań użytkowników podczas przeglądania:

  1. różnych witryn internetowych;
  2. różnych działań na każdej stronie internetowej.

Jak wskazują badacze, ten rodzaj śledzenia aktywności użytkowników może sięgać choćby 2015 roku, czy wręcz 2013 roku (kiedy to prekursor omawianej technologii został po raz pierwszy wprowadzony przez Facebooka). jeżeli użytkownik po raz pierwszy utworzy konto na Facebooku, platforma może dopasować jego wcześniejszą aktywność w sieci, zebraną w anonimowej formie od 2015 roku, do jego nowo utworzonego profilu na portalu, i kontynuować śledzenie jego aktywności w przyszłości. Ze szczegółami możecie zapoznać się tutaj: https://dl.acm.org/doi/abs/10.1145/3543507.3583311.

Co możesz zrobić, by uchronić się przed doklejaniem parametrów w linkach?

Skoro Facebook dokleja parametr fbclid bez dania wyboru użytkownikowi i potencjalnie inne portale tez mogą tak postępować, to czy możecie coś z tym zrobić? Tak, choć oczywiście wymaga to podjęcia pewnych działań z Waszej strony – korporacje nie będą Wam bowiem dawać łatwych i intuicyjnych rozwiązań.

Po pierwsze, możecie skorzystać z opcji przeglądarki Firefox – query parameter stripping, która służy automatycznemu usuwaniu linków śledzących:

Query Parameter Stripping — Firefox Source Docs documentation

Drugie narzędzie to wtyczka CleanLinks dla przeglądarki Firefox. Ma ona jednak pewne wady, ponieważ czasem powoduje, iż usuwane jest za dużo znaków, a w konsekwencji pewne strony internetowe czy formularze mogą nie działać.

CleanLinks – Get this Extension for 🦊 Firefox (en-US)
CleanLinks converts redirect links to normal links: - <a href=“https://prod.outgoing.prod.webservices.mozgcp.net/v1/925ab3357f1b85feab2ae34379ea42b9912cc3f0304334482ec3a1beb642103f/http%3A//www.foobar.com/track=ftp%3A//gnu.org” rel=“nofollow”>http://www.foobar.com/track=ftp://gnu.org…

A co możesz zrobić na swojej stronie internetowej, aby nie odczytywać fbclid lub podobnych parametrów? Po pierwsze: nie włączać na stronie skryptów śledzących, w szczególności tych facebookowych. To zmniejszy prawdopodobieństwo, iż Meta otrzyma dane, w których zdobywaniu ma pomagać fbclid.

Ale na tym nie koniec! Możemy jeszcze jako administratorzy stron automatycznie usuwać parametry śledzące z paska adresu użytkownika. Nasza strona, na przykład, automatycznie usuwa fbclid, aby uniknąć sytuacji, iż ktoś kliknie w linka prowadzącego do ICD na Facebooku, i udostępni go dalej poprzez kopiowanie z paska adresu lub dzięki funkcji „udostępnij”. W naszym przypadku realizujemy to dzięki konfiguracji naszego serwera (`nginx`):

map $request_uri $redirect_fbclid { "~^(.*?)([?&]fbclid=[a-zA-Z0-9_-]+)$" $1; } server { # ... if ( $redirect_fbclid ) { return 301 $redirect_fbclid; }Ten kawałek konfiguracji zaczerpnęliśmy z tego snippeta użytkownika lynt-smitka na Microsoft Github: https://gist.github.com/lynt-smitka/b5ff2cab70443c17a214006a4d5bc48c

Można to samodzielnie przetestować odwiedzając adres http://internet-czas-dzialac.pl/?fbclid=123123 i obserwując, jak fbclid znika. Sposobów jest więcej (np. JS po stronie przeglądarki, .htaccess) - zależnie od wybranych technologii. W razie kłopotów z konfiguracją takiego autoczyszczenia - z chęcią udzielimy pomocy na Forum ICD :)

Podsumowanie

Sposób, w jaki Meta i YouTube wdrażają parametry śledzące jest co najmniej wątpliwe pod kątem prawnym i będziemy dążyli do tego, aby regulatorzy się pochylili nad tym tematem. W międzyczasie użytkownicy i administratorzy stron chcący dbać o prywatność muszą podjąć dodatkowe kroki, aby chronić siebie i innych przed skutkami używania tych parametrów.

Źródła

  • https://dl.acm.org/doi/abs/10.1145/3543507.3583311, The Hitchhiker’s Guide to Facebook Web Tracking with Invisible Pixels and Click Ids, Paschalis Bekos, Panagiotis Papadopoulos, Evangelos Pavlos Markatos, Nicolas Kourtellis
  • Nadmiarowe parametry w adresach URL, Piotr Siemieniak, ABI Expert 1/2024
Idź do oryginalnego materiału