Inne firmy

Nieczęsto zdarza się, że witryna jest całkowicie samodzielna. Raport HTTP Web Almanac pokazuje, że większość stron (około 95%) zawiera treści należące do osób trzecich.

Almanac definiuje treści należące do osób trzecich jako coś, co jest udostępniane na wspólnym, publicznym źródle, które jest powszechnie używane przez różne i nie mają wpływu na żaden z poszczególnych właścicieli witryn. Mogą to być obrazy lub inne multimedia, takie jak filmy, czcionki czy skrypty. Obrazy i skrypty stanowią więcej niż wszystkie pozostałe elementy. Treści osób trzecich nie są niezbędne do tworzenia witryny, ale równie dobrze. z pewnością będziesz korzystać z czegoś wczytanego z publicznego serwera udostępnionego, takich jak czcionki internetowe, elementów iframe filmów, reklam lub bibliotek JavaScript. Możesz na przykład używać czcionek internetowych pochodzących z Google Fonts, lub pomiar analityki w Google Analytics; być może masz dodane przyciski „Podoba mi się” lub „Zaloguj się przez” z sieci społecznościowych; możesz umieszczać mapy lub filmy albo obsługiwać zakupy za pomocą usług innych firm; być może śledzisz błędy i logowanie danych we własnym zespole za pomocą zewnętrznych narzędzi do monitorowania.

Ze względu na ochronę prywatności warto zastosować nieco inną, słabiejszą definicję: zasób należący do osoby trzeciej, w szczególności skrypt zewnętrzny, jest udostępniany ze wspólnego i publicznego źródła oraz powszechnie używany, tak jak na ilustracji, ale jest również autorem przez kogoś innego niż właściciel witryny. To aspekt autorstwa stron trzecich jest kluczowy, gdy zastanawiasz się, jak chronić swoje użytkowników prywatności innych osób. Dzięki temu dowiesz się, jakie zagrożenia występują, a następnie zdecydujesz, jak lub czy chcesz zewnętrznych zasobów z uwzględnieniem tego ryzyka. Jak już wspominaliśmy, te kwestie pomogą Ci zrozumieć kontekst więc zrozumieć, jakie kompromisy trzeba podjąć i co one oznaczają.

Nie o to Ci chodzi, rozmawiając o „zasobach innych firm” i ogólnie: rozróżnienie między własnymi danymi informacje o osobach zewnętrznych dotyczą tak naprawdę kontekstu, w którym coś zostało użyte. Skrypt wczytywany z innej witryny jest własnością innej firmy zasób i żądanie HTTP wczytujące skrypt mogą zawierać pliki cookie, ale nie są to tak naprawdę „pliki cookie innych firm”. są tylko plikami cookie i czy są plikami innych firm, lub „własne” zależy od tego, czy skrypt jest wczytywany w witrynie lub na stronie właściciela skryptu.

Dlaczego korzystamy z zasobów firm zewnętrznych?

Rozwiązania firm zewnętrznych to doskonały sposób na dodanie funkcjonalności do witryny. Mogą to być funkcje dostępne dla użytkowników lub niewidoczne. funkcji programistycznych, takich jak śledzenie błędów, ale zmniejszają obciążenie programistyczne, a same skrypty są utrzymywane przez kogoś innego: zespół programistów usługi, w którą włączasz; A to wszystko dzięki możliwości kompozycji treści w internecie: zdolność łączenia części w całość, która jest większa niż ich suma.

Przydatny opis witryny Web Almanac w archiwum HTTP zawiera:

Firmy zewnętrzne oferują niekończącą się kolekcję obrazów, filmów czcionki, narzędzia, biblioteki, widżety, moduły do śledzenia, reklamy i wszystko, co można sobie wyobrazić do umieszczenia na naszych stronach internetowych. Dzięki temu nawet osób, które nie mają odpowiedniej wiedzy technicznej i mogą tworzyć i publikować treści w internecie. Bez firm zewnętrznych internet prawdopodobnie może być bardzo nudnym, opartym na tekście medium akademickim zamiast bogatej, wciągającej i skomplikowanej platformy, która ma tak ogromne znaczenie w życiu codziennym. jak wielu z nas dzisiaj.

Do czego mogą posłużyć zasoby innych firm?

Dostęp do niektórych informacji

Gdy korzystasz w swojej witrynie z zasobów innej firmy, niezależnie od ich rodzaju, pewne informacje są do niej przekazywane. Jeśli na przykład dołączysz obraz z innej witryny, żądanie HTTP wysłane przez przeglądarkę użytkownika zostanie przekazane do strony odsyłającej. nagłówek zawierający adres URL Twojej strony oraz adres IP użytkownika.

Śledzenie w witrynach

Wracając do tego samego przykładu: po wczytaniu obrazu z witryny zewnętrznej może on zawierać plik cookie, który zostanie odesłana do firmy zewnętrznej, gdy użytkownik poprosi o wyświetlenie tego obrazu w następnej kolejności. Oznacza to, że firma może się dowiedzieć, jest używana w witrynie i może zwrócić plik cookie z unikalnym identyfikatorem. Oznacza to, że następnym razem, gdy użytkownik odwiedzi Twoją witrynę lub jakąkolwiek inną witrynę zawierającą zasób tej firmy zewnętrznej, podaną w innym miejscu Plik cookie identyfikatora zostanie wysłany ponownie. Dzięki temu będzie mogła utworzyć dziennik o tym, gdzie użytkownik odwiedza: Twoją witrynę, inne witryny, korzystają z tych samych zasobów zewnętrznych w całym internecie.

Jest to śledzenie w witrynach, które umożliwia firmie zewnętrznej rejestrowanie aktywności użytkownika w wielu witrynach, o ile są Wszystkie witryny korzystają z zasobów pochodzących od tej samej firmy zewnętrznej. Może to być czcionka, obraz lub arkusz stylów – wszystkie zasoby statyczne. Może to być też zasób dynamiczny: fragment scenariusza, przycisk mediów społecznościowych, reklama. Dołączony skrypt może zebrać jeszcze więcej ponieważ są dynamiczne: może sprawdzać przeglądarkę i środowisko użytkownika oraz przekazywać te dane z powrotem do źródła. Każdy skrypt może to robić do pewnego stopnia, podobnie jak zasoby dynamiczne, których nie ma w formie skryptu, np. elementy osadzone w mediach społecznościowych lub umieszczone w mediach społecznościowych reklamę lub przycisk udostępniania. Jeśli spojrzysz na baner dotyczący plików cookie w popularnych witrynach, zobaczysz listę organizacji. który może dodać do Twoich użytkowników plik cookie służący do śledzenia, aby stworzyć obraz ich aktywności i utworzyć profil danego użytkownika. OK mogą być nawet setki. Jeśli firma zewnętrzna oferuje usługę bezpłatnie, jest to jeden ze sposobów, aby ta firma była dla niej opłacalna. jest to, że zbierają te dane, a potem na nich zarabiają.

Praktyczny przewodnik na temat typów problemów z prywatnością, przed którymi przeglądarka powinna chronić użytkowników, to Target Privacy Threat Model (Model zagrożeń związanych z prywatnością). Ten dokument jest nadal w trakcie pisania, ale daje pewne ogólne pojęcie, istniejących zagrożeń prywatności. Zagrożenia związane z zasobami zewnętrznymi są głównie związane z „niechcianym rozpoznawaniem w witrynach”, oraz „ujawnienie informacji poufnych”, w przypadku których witryna może gromadzić informacje, które użytkownik uważa za poufne.

To najważniejsza różnica: niechciane rozpoznawanie w witrynach jest szkodliwe, nawet jeśli firma zewnętrzna nie gromadzi dodatkowych danych wrażliwych. ponieważ pozbawia użytkownika kontroli nad jego tożsamością. Uzyskiwanie dostępu do strony odsyłającej i adresu IP użytkownika a pliki cookie są samo w sobie niechcianym ujawnieniem. Korzystanie z zasobów innych firm wiąże się z planowaniem wykorzystania w sposób zapewniający ochronę prywatności. Część tych czynności należy do Ciebie jako twórcy witryny, a za część do przeglądarki. jako klienta użytkownika; czyli przedstawiciela działającego w imieniu użytkownika, aby uniknąć ujawniania informacji poufnych niechciane rozpoznawanie w różnych witrynach. Poniżej omówimy bardziej szczegółowo środki łagodzące i podejścia do działania w przeglądarce. i poziom zaawansowania witryny.

Kod innej firmy po stronie serwera

Nasza poprzednia definicja firmy zewnętrznej celowo zmodyfikowała podejście raczej po stronie klienta w almanku HTTP (zgodnie z prawdą w swoim raporcie!), należy uwzględnić informacje o autorach, ponieważ z perspektywy ochrony prywatności osoby trzecie to każdy, kto wie cokolwiek o użytkownikach.

Dotyczy to zarówno klientów, jak i firm zewnętrznych, które świadczą usługi, z których korzystasz na serwerze. Z poziomu prywatności warto też zrozumieć bibliotekę zewnętrzną (np. coś w NPM, Composer lub NuGet). Czy Twoje zależności przekazują dane poza Twoje granice? Jeśli przekazujesz dane do usługi logowania lub zdalnie hostowanej bazy danych, jeśli wśród bibliotek uwzględnisz także „phone home” do swoich autorów, to mogą one naruszać prywatność i w związku z tym muszą zostać skontrolowane. Firma zewnętrzna działająca na serwerze zazwyczaj musi przekazać Ci dane użytkownika, co oznacza, że że dane, na które są one narażone, są w większym stopniu pod Twoją kontrolą. Natomiast rozwiązanie zewnętrzne oparte na kliencie – skrypt lub zasób HTTP uwzględnione w witrynie i pobrane przez przeglądarkę użytkownika – mogą gromadzić niektóre dane bezpośrednio od użytkownika bez tego procesu w zakresie gromadzenia danych. Większość części tego modułu dotyczy sposobu identyfikowania firm zewnętrznych po stronie klienta Decydujesz się uwzględnić i wyświetlać użytkownikom reklamy, ponieważ możliwości zapośredniczenia są ograniczone. Ale warto Rozważ zabezpieczenie kodu po stronie serwera, aby zrozumieć wychodzące z niego wiadomości i móc rejestrować lub blokować są nieoczekiwane. Szczegółowe instrukcje, jak to zrobić, nie są tu uwzględnione (i w dużym stopniu zależą od konfiguracji Twojego serwera), ale to kolejny element Twojego stanowiska w zakresie bezpieczeństwa i prywatności.

Dlaczego trzeba uważać na firmy zewnętrzne?

Skrypty i funkcje innych firm są bardzo ważne, a naszym celem jako twórcy stron internetowych jest ich integracja, aby ich nie odwrócić! Jednak mogą wystąpić problemy. Treści osób trzecich mogą powodować problemy z wydajnością i stwarzają też problemy z bezpieczeństwem, ponieważ umieszczasz usługę zewnętrzną w granicach zaufania. Jednakże osoby trzecie treści mogą również powodować problemy związane z prywatnością.

Mówiąc o zasobach internetowych dostępnych w internecie, warto pamiętać o takich kwestiach jak: kiedy osoba trzecia może ukraść dane firmy, a kwestie dotyczące prywatności, które stanowią między innymi te kwestie: podjęta przez Ciebie osoba trzecia wykrada lub uzyska dostęp do danych bez Twojej zgody.

Przykładem problemu z bezpieczeństwem jest użycie „skimmingów” kradzież danych karty kredytowej – zasoby należące do osób trzecich, na stronie, na której użytkownik wpisuje dane karty kredytowej, potencjalnie wykraść te dane i wysłać je do ze złośliwym oprogramowaniem. Osoby tworzące te skrypty są bardzo kreatywne w wymyślaniu, gdzie je ukryć. Podsumowanie opisujące, jak skrypty skimmera zostały ukryte w treściach należących do osób trzecich, np. w logo witryn, favikonach i mediach społecznościowych, popularne biblioteki, takie jak jQuery, Modernizr i Menedżer tagów Google, widżety witryn (np. okna czatu na żywo) oraz pliki CSS.

Kwestie dotyczące prywatności są nieco inne. Te osoby trzecie są częścią Twojej oferty; w celu utrzymania użytkowników musisz mieć pewność, że użytkownicy mogą mu zaufać. Jeśli firma zewnętrzna, z której korzystasz, zbiera dane o użytkowników i niewłaściwie z nich korzysta, utrudnia ich usunięcie lub wykrycie, ucierpiał na naruszeniu bezpieczeństwa danych lub narusza , użytkownicy prawdopodobnie uznają to za zestawienie zaufania do Twojej usługi, a nie tylko firmy zewnętrznej. Liczy się Twoja reputacja i relacje. Dlatego warto zadać sobie pytanie: czy ufasz z jakich firm zewnętrznych korzystasz w witrynie?

Jakie są przykłady firm zewnętrznych?

dyskutujemy o firmach zewnętrznych ale istnieją różne rodzaje danych i mają one dostęp do różnych ilości danych użytkownika. Na przykład dodanie do kodu HTML elementu <img>, załadowanego z innego serwera, sprawi, że ten serwer otrzyma inne informacje o użytkownikach niż dodanie elementu <iframe> lub elementu <script>. Są to jedynie przykłady, a nie wyczerpująca lista. przydatne w zrozumieniu różnic między typami elementów firmy zewnętrznej, które mogą być stosowane w Twojej witrynie.

Wysyłanie prośby o zasób z innej witryny

Zasób z innej witryny to dowolny element w Twojej witrynie, który został wczytany z innej witryny i nie jest typu <iframe> ani <script>. Przykłady obejmują <img>, <audio>, <video>, czcionki internetowe wczytane przez CSS oraz tekstury WebGL. Są one ładowane przez żądanie HTTP, a jako opisane wcześniej żądania HTTP będą zawierały wszelkie pliki cookie ustawione wcześniej przez drugą witrynę, adres IP użytkownika wysyłającego żądanie oraz adres URL bieżącej strony jako strony odsyłającej. W przeszłości wszystkie żądania innych firm domyślnie uwzględniały te dane, podejmujemy starania mające na celu ograniczenie lub odizolowanie danych przekazywanych firmom zewnętrznym przez różne przeglądarki, zgodnie z opisem w sekcji „Zrozumienie Zabezpieczenia przeglądarek innych firm przejść dalej.

Umieszczanie elementu iframe z innej witryny

Kompletny dokument umieszczony na Twoich stronach za pomocą elementu <iframe> może wymagać dodatkowego dostępu do interfejsów API przeglądarki plików cookie, adresu IP i strony odsyłającej. Dokładne interfejsy API dostępne na <iframe>stronach i sposób, w jaki proszą one o dostęp, zależy od przeglądarki, i obecnie wprowadzane są zmiany: patrz „Zasady dotyczące uprawnień” poniżej, aby dowiedzieć się więcej o bieżących działaniach ograniczania lub monitorowania dostępu do interfejsów API dokumenty.

Wykonywanie kodu JavaScript w innej witrynie

Dodanie elementu <script> powoduje wczytanie i uruchomienie kodu JavaScript z innej witryny w kontekście najwyższego poziomu strony. Oznacza to, że uruchamiany skrypt ma pełny dostęp do wszystkiego, co robią Twoje własne skrypty. Uprawnieniami przeglądarki nadal zarządzają tymi danymi. dlatego na przykład żądanie lokalizacji użytkownika nadal wymaga zgody użytkownika. Jednak wszelkie informacje na stronie lub jak zmienne JavaScript mogą być odczytywane przez taki skrypt. Dotyczy to nie tylko plików cookie przekazywanych do innych witryn określone w żądaniu, ale też pliki cookie, które są przeznaczone tylko dla Twojej witryny. Skrypt innej firmy wczytał się też na może wysyłać te same żądania HTTP co Twój kod, co oznacza, że w celu uzyskania danych może wysyłać żądania fetch() do interfejsów API backendu.

Uwzględnienie bibliotek innych firm w zależnościach

Jak pisaliśmy wcześniej, Twój kod po stronie serwera prawdopodobnie zawiera zależności innych firm i nie można ich odróżnić od Twojego. w ich mocy. kod dołączony z repozytorium GitHub lub z biblioteki Twojego języka programowania (npm, PyPI, composer itd.) może odczytywać wszystkie te same dane co drugi kod.

Znajomość firm zewnętrznych

Wymaga to zrozumienia Twojej listy zewnętrznych dostawców oraz znajomości ich prywatności, zbierania danych poglądami i zasadami dotyczącymi doświadczenia. Wiedza ta staje się częścią serii kompromisów: jak przydatna i ważna to usługa z uwzględnieniem ich uciążliwych, niewygodnych i niepokojących wymagań. Dostarczane przez inną firmę Treść jest wartościowa, ponieważ nie wymaga ciężkiej pracy jako właściciel witryny i pozwala skupić się na podstawowych kompetencjach. Dlatego warto skoncentrować się na tym, aby zmniejszyć wygodę i prywatność użytkowników, aby zapewnić im lepsze wrażenia. Nie należy jednak mylić doświadczenia użytkownika z doświadczeniem dewelopera: „Nasz zespół programistów ułatwia tworzenie usługi” nie jest dla użytkowników ciekawą historią.

To proces kontroli.

Audytowanie firm zewnętrznych

Aby zrozumieć, co robi firma zewnętrzna, należy przeprowadzić kontrolę. Możesz to zrobić zarówno pod względem technicznym, jak i nietechnicznym. dla pojedynczej firmy zewnętrznej i całej kolekcji.

Przeprowadzanie kontroli innej niż techniczna

Pierwszy krok nie obejmuje kwestii technicznych – zapoznaj się z polityką prywatności dostawców. Jeśli wykorzystujesz zasoby innych firm, znajdziesz w polityce prywatności. Będą długie i pełne tekstów prawnych. W niektórych dokumentach mogą być stosowane w szczególności ostrzegaliśmy przed wcześniejszymi modułami, takimi jak przesadne twierdzenia lub brak oznaczenia o sposobie i czasie usuwania zgromadzonych danych. Należy pamiętać, że z perspektywy użytkownika wszystkie dane, gromadzone w Twojej witrynie, w tym przez osoby trzecie, podlegają niniejszym zasadom ochrony prywatności. Nawet jeśli gdy użytkownicy w jasny sposób opisują swoje cele i przekraczają oczekiwania w związku z prywatnością danych użytkownicy mogą pociągnąć Cię do odpowiedzialności za wszystko, co zrobią wybrane przez Ciebie osoby trzecie. Jeśli jest cokolwiek w o polityce prywatności, której nie chcesz zawrzeć w swoich polityce, ponieważ spowodowałoby to zmniejszenie zaufanie, to zastanów się, czy jest tu jakiś inny dostawca.

To kwestia, która może być przydatna w połączeniu z omówionym dalej audytem technicznym, ponieważ na podstawie tych informacji innego użytkownika. Musisz wiedzieć, jakie zasoby firm zewnętrznych wykorzystujesz do celów biznesowych (np. sieci reklamowe) czy osadzona treść), ponieważ będą istnieć relacje biznesowe. To dobre miejsce, by zacząć Audyt techniczny będzie także pozwalał na zidentyfikowanie podmiotów zewnętrznych, szczególnie tych zajmujących się niż ze względów biznesowych (komponenty zewnętrzne, analityka, biblioteki narzędziowe) i można ją dołączyć do listy firmy zewnętrzne zorientowane na biznes. Z tego powodu właściciel witryny powinien mieć poczucie, że rozumiesz, co trzeci , które dodajesz do witryny, oraz dla Twojej firmy, aby Twoja firma mogła przedstawić swojego radcę prawnego z wykazem osób trzecich, aby upewnić się, że wypełniasz wszelkie wymagane zobowiązania.

Przeprowadzanie audytu technicznego

W przypadku audytu technicznego ważne jest, aby wykorzystać zasoby in situ jako część witryny. czyli nie ładuj zależności za pomocą jarzma testowego i skontrolować to w ten sposób. Upewnij się, że widzisz, jak Twoje zależności działają w odniesieniu do Twojej witryny, wdrażane w publicznym internecie, a nie w trybie testowym czy deweloperskim. Bardzo instruujesz, że własną witrynę warto traktować nowego użytkownika. Otwórz przeglądarkę w czystym nowym profilu, zanim się zalogujesz (ani nie masz zapisanej umowy), a następnie spróbuj odwiedzić swoją witrynę.

Zarejestruj w swojej witrynie nowe konto, jeśli podasz konta użytkowników. Nowym użytkownikiem będzie zarządzać Twój zespół projektowy procesu pozyskiwania klientów z perspektywy UX, ale spójrzmy na nie z perspektywy prywatności. Nie wystarczy kliknąć „Akceptuję” z warunkami korzystania z usługi, ostrzeżeniem o plikach cookie lub polityką prywatności; ustaw sobie zadanie związane z używaniem własnej usługi bez ujawniania żadnych danych osobowych ani plików cookie śledzących, a także sprawdzić, czy możesz to zrobić i jak trudne jest to. Pomocne może też być sprawdzenie w narzędziach dla programistów przeglądarki, które witryny są odwiedzane i jakie dane są przekazywane. tych witryn. Narzędzia dla programistów udostępniają listę osobnych żądań HTTP (zwykle w sekcji „Sieć”) i można w nich zobaczyć Na tej podstawie żądania pogrupowane według typu (HTML, CSS, obrazy, czcionki, JavaScript, żądania zainicjowane przez JavaScript). Jest również możliwe dodać nową kolumnę zawierającą domenę każdego żądania i pokazującą, z ilu różnych miejsc kontaktuje się osoba, i mogą występować „wnioski osób trzecich”, wyboru, aby wyświetlane były tylko dane innych firm. (Warto również użyć atrybutu Content-Security-Policy raportowania w celu przeprowadzenia ciągłego audytu, o którym mowa dalej).

Przydatne informacje o wszystkich zadaniach możesz też znaleźć w narzędziu Simon Hearne żądania podrzędne wysyłane przez publicznie dostępną stronę.

Na tym etapie można również uwzględnić firmy zewnętrzne skoncentrowane na działalności, wskazane w ramach audytu nietechnicznego. (czyli listy firm, z którymi utrzymujesz relacje finansowe, by korzystać z ich zasobów). Celem jest aby dopasować listę osób trzecich, z których korzystasz (na podstawie danych finansowych i prawnych) oraz listę, (sprawdzając, jakie żądania HTTP wysyła Twoja witryna). W przypadku każdego trzeciego segmentu biznesowego z jakiej strony są wysyłane techniczne żądania wychodzące. Jeżeli nie potrafisz zidentyfikować żądań w ramach audytu technicznego innej firmy, identyfikowanych przez relacje biznesowe, ważne jest ustalenie, dlaczego, i ukierunkowanie testów. Być może dostawca ładowany jest tylko dla określonego kraju, na urządzeniu określonego typu albo dla zalogowanych użytkowników. Spowoduje to powiększenie listę obszarów witryny, które należy kontrolować i upewnić się, że są widoczne wszystkie dostępy wychodzące. (Może też zidentyfikować osobę trzecią zasobów, za które płacisz, a z których nie korzystasz, co zawsze motywuje dział finansów).

Po zawężeniu listy próśb do innych firm, które chciałyby wziąć udział w audycie, będzie zawierać wszystkie szczegóły dotyczące danego żądania, a zwłaszcza dane, które zostały do niego przekazane. Jest to również bardzo jest typowa, że żądanie zewnętrzne inicjowane przez Twój kod jest następnie inicjowane przez wiele innych żądań. Te dodatkowe firmy zewnętrzne również są „importowane”. do własnej polityki prywatności. Jest to pracochłonne, ale cenne zadanie, często można je wstawiać do istniejących analiz; Twój zespół programistów frontendu powinien już kontrolować żądania dotyczące związane z wydajnością (np. za pomocą istniejących narzędzi, takich jak WebPageTest czy Lighthouse) oraz uwzględnianie danych i audyt prywatności w tym procesie może uprościć ten proces.

Mapa żądań web.dev.
Mapa żądań web.dev (drastycznie uproszczona) przedstawiająca witryny zewnętrzne, które wysyłają żądania o dostęp do innych witryn itp.

Tak

Otwórz przeglądarkę z czystym nowym profilem użytkownika, aby nie logować się na konto i nie mieć zapisanej umowy. a następnie otwórz przeglądarkę narzędzia dla programistów panel Sieć, aby wyświetlić wszystkie żądania wychodzące. Dodaj nową kolumnę z domeną każdego żądania i sprawdź pole „żądania osób trzecich” aby wyświetlały się tylko te firmy zewnętrzne, jeśli są dostępne. Następnie:

  • Odwiedź swoją witrynę.
  • Załóż nowe konto, jeśli podasz konta użytkowników.
  • Spróbuj usunąć utworzone konto.
  • Wykonuj w witrynie standardowe (lub dwa) działania (dokładnie to zależy od tego, jak działa witryna, ale wybierz typowe czynności, które wykonuje większość użytkowników).
  • Wykonanie czynności, o której wiesz, że dotyczy w szczególności zależności osób trzecich. Może to obejmować udostępnianie treści w tych usługach mediów społecznościowych, rozpoczynania procesu płatności lub umieszczania treści z innej witryny.

Wykonując każde z tych zadań, zanotuj zasoby żądane z domen, które nie należą do Ciebie. Możesz to zrobić w panelu Sieć. zgodnie z opisem. Są to niektóre firmy zewnętrzne. Możesz to zrobić, przechwytując sieć za pomocą narzędzi sieciowych w przeglądarce. logu żądań w pliku HAR.

Pliki HAR i przechwytywanie

Plik HAR to standardowy format JSON zawierający wszystkie żądania sieciowe wysyłane przez stronę. Aby pobrać plik HAR dotyczący konkretnej strony:

Chrome

Otwórz Narzędzia deweloperskie w przeglądarce (Menu > Więcej narzędzi > Narzędzia dla programistów), przejdź do panelu Sieć, wczytaj (lub odśwież) stronę i wybierz symbol zapisywania strzałki w dół w prawym górnym rogu obok menu rozwijanego Bez ograniczania.

Panel sieci w Narzędziach deweloperskich w Chrome z wyróżnionym symbolem Pobierz plik HAR.
Firefox

Otwórz narzędzia dla programistów w przeglądarce (Menu > Więcej narzędzi > Narzędzia dla programistów internetowych), przejdź do panelu Sieć, wczytaj (lub odśwież) stronę i wybierz symbol koła zębatego w prawym górnym rogu obok menu ograniczania. W menu wybierz Zapisz wszystko jako plik HAR**.

Panel sieci narzędzi dla programistów przeglądarki Firefox z wyróżnioną opcją Zapisz wszystko jako Har.
Safari

Otwórz narzędzia dla programistów przeglądarki (Menu > Programowanie > Pokaż inspektora sieci. Jeśli nie widzisz menu Programowanie, włącz je w Menu > Safari > Ustawienia > Zaawansowane > pokaż menu Programowanie na pasku menu), przejdź do panelu Network (Sieć), wczytaj (lub odśwież) stronę i wybierz Export (Eksportuj) w prawym górnym rogu (po prawej stronie Zachowaj dziennik – może być konieczne powiększenie okna).

Panel sieci inspektora sieci w Safari z wyróżnioną opcją eksportu HAR.

Aby uzyskać więcej szczegółów, możesz też zarejestrować informacje przekazywane osobom trzecim (w sekcji Żądanie), choć dane te są często są zaciemnione i nieużyteczne.

Sprawdzone metody integrowania rozwiązań firm zewnętrznych

Możesz ustalić własne zasady dotyczące firm zewnętrznych, z których korzysta Twoja witryna: zmieniać dostawców reklam na podstawie ich metod, jak irytujące lub uciążliwe jest wyskakujące okienko z prośbą o zgodę na stosowanie plików cookie albo czy chcesz używać w swojej witrynie przycisków mediów społecznościowych śledzenia linków w e-mailach lub linków utm_campaign do śledzenia za pomocą usługi Google Analytics w swoich tweetach. Jednym z aspektów, które należy wziąć pod uwagę tworzenie witryny to ochrona prywatności i bezpieczeństwa usług analitycznych. Niektóre usługi analityczne są sprzedawane ochrony prywatności. Często można też korzystać z zewnętrznych skryptów, które same w sobie zapewniają ochronę prywatności: nie jesteś pierwszym zespołem, który chce zwiększyć prywatności i ochrony przed zbieraniem danych przez osoby trzecie, mogą już być rozwiązaniami. Wielu dostawców zewnętrznych jest obecnie bardziej wrażliwych na problemy związane z gromadzeniem danych niż w przeszłości, i często możesz dodać funkcje lub parametry, które zwiększą ochronę użytkownika. Oto kilka przykładów.

Podczas dodawania przycisku udostępniania w mediach społecznościowych

Rozważ umieszczenie przycisków HTML bezpośrednio – kilka dobrze zaprojektowanych przykładów znajduje się na stronie https://sharingbuttons.io/. Możesz też dodać zwykłe linki HTML. Kompromis w tym to polega na tym, że tracisz „liczbę udostępnień”. statystyk i umiejętności klasyfikowania klientów w statystykach Facebooka. To przykład kompromisu między korzystaniem z usług zewnętrznego dostawcy a otrzymywaniem mniejszej ilości danych analitycznych.

Ogólnie rzecz biorąc, jeśli umieszczasz jakiś interaktywny widżet od innej firmy, często zamiast tego możesz podać link do niej. Oznacza to, że Twoja witryna nie ma wbudowanej funkcji, ale ma wpływ na decyzję o udostępnianiu dane Twojej firmie zewnętrznej. Użytkownik może zdecydować, czy chce wchodzić w interakcje z Twoją firmą zgodnie z własnymi preferencjami.

Możesz na przykład dodać linki do Twittera i Facebooka, aby udostępnić swoją usługę w witrynie mojawitryna.example.com:

<a href="https://facebook.com/sharer/sharer.php?u=https%3A%2F%2Fmysite.example.com"
   rel="noopener" aria-label="Share on Facebook" target="_blank" >Share on Facebook</a>
<a href="https://twitter.com/intent/tweet/?text=My%20cool%20service!&amp;url=https%3A%2F%2Fmysite.example.com"
   rel="noopener" aria-label="Share on Twitter" target="_blank">Share on Twitter</a>

Pamiętaj, że Facebook umożliwia określenie adresu URL do udostępnienia, a Twitter – adresu URL i tekstu.

Umieszczanie filmu na stronie

Jeśli umieszczasz filmy z witryn hostujących filmy, poszukaj opcji chroniących prywatność w kodzie. Na przykład w YouTube, aby uniknąć śledzenia plików cookie, zastąp youtube.com w adresie URL do umieszczenia na stronie elementem www.youtube-nocookie.com nakładane na użytkowników wyświetlających stronę umieszczania. Możesz też zaznaczyć opcję „Włącz rozszerzony tryb prywatności” podczas generowania Udostępnij/umieść link z YouTube. To dobry przykład zastosowania zewnętrznego trybu zapewniającego większą ochronę użytkownikom. Więcej informacji znajdziesz na stronie https://support.google.com/youtube/answer/171780. oraz inne opcje umieszczania w serwisie YouTube).

Inne strony z filmami mają pod tym względem mniej opcji: na przykład TikTok nie ma możliwości umieszczania filmów bez śledzenia. w momencie tego pisania. Filmy można hostować samodzielnie (są to rozwiązania alternatywne), ale może to być przy obsłudze wielu urządzeń.

Podobnie jak w przypadku omawianych wcześniej interaktywnych widżetów, często możesz zastąpić osadzony film linkiem do witryny, z której pochodzą. Ta opcja jest mniej interaktywna, ponieważ film nie będzie odtwarzany w tekście, ale pozostawi on wybór, czy chcesz obejrzeć go razem z użytkownikiem. Może to być jako przykład „wzorca fasadowego”, czyli nazwy dynamicznego zastępowania zawartości interaktywnej czymś, co wymaga od użytkownika aby je wywołać. Umieszczony na TikToku film można zastąpić zwykłym linkiem do jego strony, można pobrać i wyświetlić miniaturę filmu oraz utworzyć z niego link. Nawet jeśli wybrany dostawca filmów nie pozwalają na łatwe umieszczanie filmów bez śledzenia, wielu hostów wideo obsługuje oEmbed, interfejs API, który po udostępnieniu linku do filmu lub umieszczonej treści będą zwracać szczegółowe informacje o tych treściach, takie jak miniatura i tytuł. TikTok obsługuje interfejs oEmbed (szczegółowe informacje można znaleźć na stronie https://developers.tiktok.com/doc/embed-videos). Oznacza to, że możesz (ręcznie lub automatycznie) zmienić link do filmu na TikToku https://www.tiktok.com/@scout2015/video/6718335390845095173 w metadane JSON o filmie za pomocą https://www.tiktok.com/oembed?url=https://www.tiktok.com/@scout2015/video/6718335390845095173 i zdobądź miniaturę do wyświetlenia. WordPress często używa go do żądania oEmbed np. informacje o osadzonych treściach. Możesz użyć tej funkcji automatycznie aby wyświetlić „fasadę”, wyglądający interaktywny i przełącza się na osadzony film lub link do niego, gdy użytkownik zdecyduje się go kliknąć.

Umieszczanie skryptów analitycznych

Usługa Analytics została zaprojektowana tak, aby zbierać informacje o użytkownikach, aby można było je analizować. Właśnie do tego służy. Systemy analityczne gromadzą i wyświetlają dane o dostępach i użytkownikach, które są przeprowadzane na serwerze innej firmy, np. Google Analytics, związanych z implementacją. Istnieją też własne systemy analityczne, np. https://matomo.org/, jednak jest to bardziej pracochłonne niż rozwiązanie innej firmy. Korzystanie z systemu takiego we własnej infrastrukturze pomaga jednak ograniczyć gromadzenie danych, ponieważ nie opuszcza własnego ekosystemu. zarządzanie tymi danymi, ich usuwanie i ustawianie dla nich zasad; stanie się Twoim obowiązkiem. Wiele problemów związanych ze śledzeniem w witrynach wiąże się z ukryciem i w sposób potajemny lub efekt uboczny korzystania z usługi, która w ogóle nie wymaga gromadzenia danych. w oprogramowaniu analitycznym służąca do zbierania danych, dzięki którym właściciele witryn mogą dowiedzieć się o ich użytkownikach.

W przeszłości istnieje podejście polegające na gromadzeniu wszystkich dostępnych danych o wszystkim, np. o gigantycznej sieci rybackich, a następnie przeanalizować je pod kątem ciekawych wzorców. Takie podejście w dużej mierze wywołuje uczucie niepokoju i niepokoju o gromadzeniu danych, które omówiliśmy w części 1 tego szkolenia. Obecnie wiele witryn najpierw ustala, które pytania zadać, a potem gromadzić konkretne, ograniczone dane, aby odpowiedzieć na te pytania.

Jeśli Twoja witryna i inne witryny korzystają z jakiejś usługi innej firmy, która działa przez Ciebie, uwzględniając w witrynie kod JavaScriptu, i tworzy pliki cookie dla każdego użytkownika, należy wziąć pod uwagę, że może on korzystać z niepożądanego rozpoznawania w różnych witrynach. czyli śledzenie użytkowników w różnych witrynach. Niektórzy mogą i inni nie, ale nasze stanowisko w zakresie ochrony prywatności zakłada, że usługa zewnętrzna korzysta w rzeczywistości z śledzenia w witrynach, chyba że masz uzasadnione powody, aby sądzić, że jest inaczej. Nie jest to powód, by unikać takich usług, ale należy wziąć to pod uwagę przy ocenie kompromisów. korzystanie z nich.

Kiedyś analityka sprowadzała się wyłącznie do wyboru, czy dane rozwiązanie ma być używane, czy nie – w zamian za zbieranie wszystkich danych i naruszanie ochrony prywatności do analizy i planowania lub całkowicie zrezygnować z analiz. Jednak już tak nie jest i często pojawia się złoty środek między tymi dwiema skrajnościami. Sprawdź u swojego dostawcy usług analitycznych opcje konfiguracji do ograniczenia zbierane dane i zmniejszają ilość i czas ich przechowywania. Ponieważ dysponujesz danymi z audytu technicznego opisanych wcześniej, możesz ponownie uruchomić odpowiednie sekcje tego audytu, aby się upewnić, że zmiana tych konfiguracji faktycznie zmniejsza ilość gromadzonych danych. Jeśli przenosisz witrynę z istniejącej witryny, może to zapewnić Ci miarodajne wskaźniki, które można opisać z punktu widzenia użytkowników. np. usługa Google Analytics oferuje opcję wyboru (domyślnie wyłączona). funkcje ochrony prywatności, z których wiele może pomóc zachować zgodność z lokalnymi przepisami dotyczącymi ochrony danych. Kilka opcji, które warto wziąć pod uwagę podczas konfigurowania Google Analytics uwzględnia ustawienie okresu przechowywania zebranych danych (Administracja > Informacje o śledzeniu > Przechowywanie danych) krótszy niż domyślny okres 26 miesięcy, oraz włączenie bardziej technicznych rozwiązań, np. częściowej anonimizacji adresów IP (więcej informacji znajdziesz na https://support.google.com/analytics/answer/9019185).

Korzystanie z usług innych firm w sposób zapewniający ochronę prywatności

Opisaliśmy, jak na etapie projektowania aplikacji chronić użytkowników przed osobami trzecimi, a jednocześnie gdy planujesz realizację tej aplikacji. Podjęcie decyzji o niekorzystaniu z żadnej firmy zewnętrznej jest częścią tego planu, Do tej kategorii należy również kontrola Twoich zastosowań – chodzi o podjęcie decyzji o swoim podejściu do prywatności. Jednak te decyzje nie są z natury zbyt szczegółowe. Decyzja o współpracy z konkretną firmą zewnętrzną lub rezygnacja z korzystania z niej nie jest wyczerpująca. Znacznie bardziej prawdopodobne jest, że będziesz szukać czegoś pośredniego: potrzebujesz lub planujesz korzystać z konkretnej oferty firmy zewnętrznej, ale wyeliminować tendencji naruszania prywatności (umyślnych lub przypadkowych). Zadaniem tego jest ochrona użytkowników w czasie kompilacji: dodając środki ochrony w celu zmniejszenia niespodziewanych szkód. Wszystkie te nagłówki to nowe nagłówki HTTP, które możesz podać podczas udostępniania stron, które będą instruktażem lub poleceniem dla klienta użytkownika, aby przyjął określone stanowiska związane z prywatnością i bezpieczeństwem.

Zasada odsyłająca

Tak

Ustaw zasadę strict-origin-when-cross-origin lub noreferrer, aby inne witryny nie otrzymywały nagłówka strony odsyłającej podczas tworzenia do nich linków lub gdy są one wczytywane przez stronę jako zasoby podrzędne:

index.html:
<meta name="referrer" content="strict-origin-when-cross-origin" />

Lub po stronie serwera, na przykład w usłudze Express:

const helmet = require('helmet');
app.use(helmet.referrerPolicy({policy: 'strict-origin-when-cross-origin'}));

W razie potrzeby ustaw bardziej rygorystyczne zasady w przypadku określonych elementów lub żądań.

Dlaczego chroni to prywatność użytkowników

Domyślnie każde żądanie HTTP wysyłane przez przeglądarkę do nagłówka Referer zawiera adres URL strony, która inicjuje żądanie: np. linku, umieszczonego obrazu czy skryptu. Może to być kwestia prywatności, ponieważ adresy URL mogą zawierać informacje prywatne. że są one udostępniane osobom trzecim, przekazuje im te prywatne informacje. Oto kilka przykładów na stronie Web.dev adresów URL zawierających dane prywatne – wiedząc, że użytkownik odwiedził Twoją witrynę z https://social.example.com/user/me@example.com, można dowiedzieć się, kim jest, czyli wyraźny wyciek. Jednak nawet adres URL, który nie ujawnia prywatnych informacji, ujawnia, że dany użytkownik (który możesz znać, (jeśli są zalogowani) przeszli tu z innej witryny, co oznacza, że ten użytkownik odwiedził tę witrynę. Jest to samo w sobie ekspozycja zawierające dodatkowe informacje o historii przeglądania użytkownika.

Dostarczenie nagłówka Referrer-Policy (z poprawną pisownią) pozwala to zmienić, tak aby niektóre adresy URL odesłania nie były przesyłane lub nie były przekazywane. MDN zawiera pełną listę szczegółów, ale większość przeglądarek ma przyjęła domyślną wartość strict-origin-when-cross-origin, co oznacza, że adres URL strony odsyłającej jest teraz przekazywany strony jako źródło (https://web.dev, a nie https://web.dev/learn/privacy). To przydatna ochrona prywatności bez nie musisz robić nic więcej. Możesz go jednak zawęzić, określając Referrer-Policy: same-origin, aby uniknąć przekazywania informacji o stronie odsyłającej osobom trzecim (lub Referrer-Policy: no-referrer, by uniknąć przekazania nikomu, kto może podawać Twój adres pochodzenia). To dobry przykład równowagi między prywatnością a użytecznością narzędzi – nowa wartość domyślna zapewnia znacznie większą ochronę prywatności niż wcześniej, nadal przekazuje ogólne informacje wybranym przez Ciebie podmiotom trzecim, takim jak dostawca usług analitycznych).

Warto też wyraźnie określić ten nagłówek, ponieważ wtedy dokładnie wiesz, jakie są zasady, zamiast polegać na ustawieniach domyślnych przeglądarki. Jeśli nie możesz ustawić nagłówków, możesz ustawić zasady dotyczące stron odsyłających dla całej strony HTML za pomocą elementu meta w <head>: <meta name="referrer" content="same-origin"> Jeśli niepokoi Cię konkretne firmy zewnętrzne, możesz też ustawić referrerpolicy atrybut w poszczególnych elementach, takich jak <script>, <a> lub <iframe>: <script src="https://thirdparty.example.com/data.js" referrerpolicy="no-referrer">

Content-Security-Policy

Nagłówek Content-Security-Policy, często nazywany „CSP”, określa, skąd można ładować zasoby zewnętrzne. Używa się go przede wszystkim do ochrony przed atakami typu cross-site scripting i wstrzykiwaniem skryptów, ale gdy jest używany w połączeniu ze zwykłymi audytami może też ograniczyć możliwość przekazywania danych przez wybrane firmy zewnętrzne.

co może negatywnie wpłynąć na wrażenia użytkownika; jeśli jeden z skryptów zewnętrznych zacznie ładować zależność z tagu źródła nie ma na liście, to żądanie zostanie zablokowane, skrypt przestanie działać, a aplikacja może przestać działać (lub przynajmniej do wersji zastępczej, która nie używa JavaScriptu). Jest to przydatne, gdy wdrożysz CSP ze względu na bezpieczeństwo, który jest jego normalnym przeznaczeniem: jest ochrona przed problemami związanymi ze skryptami z innych witryn (i w tym celu używaj rygorystycznego CSP). Gdy poznasz już wszystkie wbudowane skrypty, z których korzysta Twoja strona, możesz zrobić ich listę, obliczyć wartość skrótu lub dodać losową wartość (zwanej „jednorazowym”) dla każdego z nich, a następnie dodać listę haszów do wartości Content Security Policy. Zapobiegnie to skryptowi, który nie ma na liście. Należy to włączyć w proces produkcji witryny: skrypty na stronach muszą , aby uwzględnić wartość jednorazową lub uzyskać hasz obliczony w ramach kompilacji. Więcej informacji znajdziesz w artykule o rygorystycznym stanie csp.

Na szczęście przeglądarki obsługują powiązany nagłówek: Content-Security-Policy-Report-Only. Jeśli ten nagłówek zostanie podany, żądania , które naruszają podane zasady, nie zostaną zablokowane, ale na podany adres URL zostanie wysłany raport JSON. Taki nagłówek mógłby wygląda tak: Content-Security-Policy-Report-Only: script-src 3p.example.com; report-uri https://example.com/report/, a jeśli przeglądarka wczyta skrypt z innego miejsca niż 3p.example.com, żądanie zostanie zrealizowane, ale raport zostanie wysłana do podanego report-uri. Zwykle służy do eksperymentowania z zasadami przed ich wdrożeniem, ale jest przydatny jest wykorzystanie tego procesu jako metody przeprowadzania „ciągłego audytu”. Oprócz opisanej wcześniej standardowej kontroli, możesz włączyć raportowanie CSP, aby sprawdzić, czy pojawią się jakieś nieoczekiwane domeny, co może oznaczać, że wczytują się zasoby zewnętrzne z zasobów innych firm, które należy wziąć pod uwagę i ocenić. (Może to też być oznaką tego, że ktoś wykorzystanie skryptów hakerskich przekroczyło oczywiście granice Twojego bezpieczeństwa, o czym również warto wiedzieć).

Content-Security-Policy to złożony i łatwy w użyciu interfejs API. Wiadomo, że trwają prace nad stworzeniem „nowej generacji”. CSP które będą osiągać te same cele, ale nie będą tak skomplikowane. (lub zaangażować się i pomóc w jego projektowaniu), wejdź na https://github.com/WICG/csp-next, aby uzyskać szczegółowe informacje.

Tak

Dodaj ten nagłówek HTTP do wyświetlanych stron: Content-Security-Policy-Report-Only: default-src 'self'; report-uri https://a-url-you-control. Jeśli plik JSON zostanie opublikowany pod tym adresem URL, zapisz go. Sprawdź przechowywane dane, aby uzyskać zbiór domen innych firm, o które prosi Twoja witryna, gdy odwiedzają je inni. Zaktualizuj nagłówek Content-Security-Policy-Report-Only, aby wyświetlić listę oczekiwanych domen i zobaczyć, kiedy lista się zmieni:

Content-Security-Policy-Report-Only: default-src 'self' https://expected1.example.com https://expected2.example.com ; report-uri https://a-url-you-control

Dlaczego

Stanowi to stałą część audytu technicznego. Wstępny audyt techniczny zapewni Ci lista firm zewnętrznych, które Twoja witryna udostępnia lub którym przekazuje dane użytkowników. Ten nagłówek będzie powodować zgłaszanie żądań stron z informacjami o firmach zewnętrznych, z którymi się teraz kontaktujemy, i śledzić zmiany w czasie. To nie tylko informuje o zmianach, przez istniejące firmy zewnętrzne, ale także zaznaczy nowo dodane takie firmy, które nie zostały uwzględnione w audycie technicznym. Ważne jest zaktualizowanie nagłówka, aby przestać raportować o oczekiwanych domenach, ale ważne jest też powtórzenie instrukcji okresowy audyt techniczny (ponieważ metoda Content-Security-Policy nie wskazuje, jakie dane są przekazywane, o złożeniu wniosku).

Pamiętaj, że nie trzeba go dodawać do stron wyświetlanych za każdym razem ani do każdej z nich. Zmniejsz liczbę otrzymywanych odpowiedzi na strony w nagłówku, aby uzyskać reprezentatywną próbkę raportów, które nie przytłaczają ich zbyt dużo.

Zasady dotyczące uprawnień

Nagłówek Permissions-Policy (wprowadzony pod nazwą Feature-Policy) działa podobnie do nagłówka Content-Security-Policy. ale ogranicza dostęp do zaawansowanych funkcji przeglądarki. Można na przykład ograniczyć korzystanie ze sprzętu urządzenia, takiego jak akcelerometr, aparatu lub urządzeń USB albo w celu ograniczenia funkcji niezwiązanych ze sprzętem, takich jak uprawnienia do pełnego ekranu lub używanie synchronicznego interfejsu XMLHTTPRequest. Te ograniczenia można zastosować do strony najwyższego poziomu (aby zapobiec próbie użycia tych funkcji przez załadowane skrypty) lub do strony umieszczone w ramkach podrzędnych wczytywane za pomocą elementu iframe. Ograniczenie używania interfejsu API nie jest związane z odciskiem cyfrowym w przeglądarce. Trzeba uniemożliwić osobom trzecim wykonywanie uciążliwych działań (takich jak używanie zaawansowanych interfejsów API, okien uprawnień itp.). W modelu zagrożeń związanych z prywatnością określa się ją jako „intrusion”.

Nagłówek Permissions-Policy jest określony jako lista par (cechy, dozwolone źródła) i w ten sposób:

Permissions-Policy: geolocation=(self "https://example.com"), camera=(), fullscreen=*

Ten przykład pozwala tej stronie („self”) i elementom <iframe> ze źródła example.com na korzystanie z interfejsów API navigator.geolocation. za pomocą JavaScriptu, umożliwia tej stronie i wszystkim ramkom podrzędnym korzystanie z pełnoekranowego interfejsu API oraz zabrania jakiejkolwiek strony, w tym tej strony, od używania aparatu do odczytywania informacji o filmie. Więcej szczegółów oraz listę potencjalnych przykładów znajdziesz tutaj.

Lista funkcji obsługiwanych przez nagłówek Permissions-Policy jest obszerna i może się zmieniać. Obecnie na liście pod adresem https://github.com/w3c/webappsec-permissions-policy/blob/main/features.md.

Tak

Przeglądarki, które obsługują interfejs Permissions-Policy, domyślnie nie zezwalają na zaawansowane funkcje w ramkach podrzędnych. Musisz coś zrobić, aby je włączyć. Domyślnie ta metoda jest prywatna. Jeśli zauważysz, że ramki podrzędne w Twojej witrynie wymagają tych uprawnień, możesz je dodawać wybiórczo. Domyślnie do strony głównej nie są stosowane żadne zasady uprawnień, więc skrypty (w tym skrypty innych firm), które są wczytywane przez stronę główną nie mają ograniczonych możliwości korzystania z tych funkcji. Z tego powodu warto zastosować restrykcyjne Permissions-Policy domyślnie na wszystkich stronach, a potem stopniowo dodaj do nich funkcje, których wymagają Twoje strony.

Przykładowe przydatne funkcje, na które wpływa aplikacja Permissions-Policy, to m.in. wysyłanie żądań o lokalizację użytkownika, dostęp do czujników (w tym akcelerometr, żyroskop i magnetometr), uprawnienia do włączenia trybu pełnoekranowego oraz żądania dostępu do aparatu i mikrofonu użytkownika. Pełną listę funkcji (zmieniających) znajdziesz powyżej.

Niestety domyślne zablokowanie wszystkich funkcji, a potem selektywne ich ponowne włączenie wymaga podania wszystkich funkcji w nagłówku. co może wydawać się dość nieeleganckie. Zacznij od takiego nagłówka Permissions-Policy. permissionspolicy.com/ ma łatwy do kliknięcia generator do utworzenia takiego nagłówka: użycie go do utworzenia nagłówka wyłączającego wszystkie funkcje. Efektem jest to:

Permissions-Policy: accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(),
display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(),
fullscreen=(), geolocation=(), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), navigation-override=(),
payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), web-share=(), xr-spatial-tracking=()

Wbudowane funkcje ochrony prywatności w przeglądarkach

Oprócz „czasu kompilacji” i „czas projektowania”, ochrony prywatności, a także w czasie działania, czyli w czasie działania aplikacji. funkcji zaimplementowanych w przeglądarkach w celu ochrony użytkowników. Nie są to funkcje, którymi możesz bezpośrednio kontrolować lub z których możesz korzystać jako witryna Są to funkcje usługi, o których warto wiedzieć, ponieważ decyzje dotyczące tych produktów mogą mieć wpływ na Twoje witryny. w przeglądarkach. Oto przykład, w jaki sposób zabezpieczenia w przeglądarce mogą wpływać na Twoją witrynę, jeśli masz skrypt JavaScript działający po stronie klienta, który czeka aby zależność od innej firmy została wczytana przed kontynuowaniem konfigurowania strony, a zależność tej firmy w ogóle się nie wczytuje, może nigdy nie zostać ukończone, więc użytkownik zobaczy stronę w połowie załadowaną.

Obejmują one funkcję Intelligent Tracking Prevention w Safari (i bazowego silnika WebKit) oraz Ulepszonej ochrony przed śledzeniem (i jego mechanizm – Gecko). Utrudnia to firmom zewnętrznym tworzenie szczegółowych profili użytkowników.

Podejścia przeglądarek do funkcji ochrony prywatności często się zmieniają, dlatego ważne jest, aby być na bieżąco. ta lista zabezpieczeń były poprawne. Przeglądarki mogą też stosować inne zabezpieczenia, nie są one wyczerpujące. Zapoznaj się z modułem poświęconym sprawdzonym metodom. , aby nadążać za zmianami w interfejsie. Pamiętaj też o przetestowaniu w nadchodzących wersjach przeglądarek pod kątem zmian, które mogą wpłynąć na Twoje projekty. Pamiętaj, że w trybach incognito/prywatnego przeglądania czasami stosowane są inne ustawienia niż domyślne przeglądarki (pliki cookie innych firm mogą być blokowane domyślnie w takich trybach). Dlatego testowanie w trybie incognito nie zawsze odzwierciedla typowe wrażenia większości użytkowników, jeśli nie korzystają z przeglądania prywatnego. Pamiętaj też, że blokowanie plików cookie w różnych sytuacjach może oznaczać, że inne rozwiązania do przechowywania danych, takie jak window.localStorage, są blokowane nie tylko pliki cookie,

Chrome

  • Pliki cookie innych firm powinny być blokowane w przyszłości. Od tego momentu nie są domyślnie zablokowane. (może to być włączone przez użytkownika): https://support.google.com/chrome/answer/95647 można znaleźć szczegółowe informacje na ten temat.
  • funkcje ochrony prywatności w Chrome, a w szczególności funkcje tej przeglądarki, które komunikują się z Google i usługami innych firm, są opisane na stronie privacysandbox.com/.

Edge

  • Pliki cookie innych firm nie są domyślnie blokowane (ale użytkownik może to włączyć).
  • bloki funkcji zapobiegania śledzeniu na brzegu sieci. urządzenia śledzące z nieodwiedzonych witryn i znane szkodliwe urządzenia śledzące są domyślnie zablokowane.

Firefox

Aby sprawdzić, co może być zablokowane, i ułatwić debugowanie, kliknij ikonę tarczy na pasku adresu lub otwórz about:protections w przeglądarce Firefox (na komputerze).

Safari

  • Pliki cookie innych firm są domyślnie zablokowane.
  • W ramach funkcji inteligentnego zapobiegania śledzeniu Safari ogranicza informacje o stronie odsyłającej przekazywanej do innych stron, aby wskazywać witrynę najwyższego poziomu, a nie określoną stronę: (https://something.example.com, zamiast https://something.example.com/this/specific/page).
  • Dane przeglądarki localStorage są usuwane po 7 dniach.

(streszczenie tych funkcji znajdziesz na stronie https://webkit.org/blog/10218/full-third-party-cookie-blocking-and-more/).

Aby dowiedzieć się, co może być blokowane, i ułatwić debugowanie, włącz „Tryb debugowania inteligentnego zapobiegania śledzeniu” w przeglądarce Safari menu programisty (na komputerze). (Więcej informacji znajdziesz na stronie https://webkit.org/blog/9521/intelligent-tracking-prevention-2-3/).

Oferty pakietowe dotyczące interfejsu API

Dlaczego potrzebujemy nowych interfejsów API?

Nowe funkcje i zasady chroniące prywatność w przeglądarkach pomagają chronić prywatność użytkowników, ale wiążą się z tym też problemy. Wiele technologii internetowych można stosować do śledzenia w witrynach, mimo że zostały zaprojektowane i wykorzystywane do innych celów. Przykład: wiele używanych na co dzień systemów federacji tożsamości korzysta z plików cookie innych firm. Liczne rozwiązania reklamowe, są oparte na plikach cookie innych firm. Wiele rozwiązań do wykrywania oszustw opiera się na odciskach cyfrowych. Co może się zdarzyć w takich przypadkach, gdy wycofamy pliki cookie innych firm i odciski cyfrowe?

Rozróżnienie przypadków użycia i skuteczne rozróżnienie zastosowań naruszających prywatność byłoby trudne i podatne na błędy przez przeglądarki od innych. Właśnie dlatego większość najpopularniejszych przeglądarek blokuje pliki cookie innych firm i odciski cyfrowe lub zamierza to zrobić, aby chronić użytkowników prywatności.

Potrzebne jest nowe podejście: w związku z wycofaniem plików cookie innych firm i ograniczeniem odcisków cyfrowych deweloperzy potrzebują interfejsów API opracowanych pod kątem określonych potrzeb. pod kątem przypadków użycia (które wciąż są dostępne), ale zostały zaprojektowane w sposób zapewniający ochronę prywatności. Celem jest projektowanie i budowanie Interfejsy API, których nie można używać do śledzenia w witrynach. W przeciwieństwie do funkcji przeglądarki opisanych w poprzedniej sekcji te technologie dążąc do przekształcenia się w interfejsy API w różnych przeglądarkach.

Przykłady ofert dotyczących interfejsu API

Ta lista nie jest wyczerpująca – zawiera tylko część omawianych tematów.

Przykłady propozycji interfejsu API, które zastąpią technologie oparte na plikach cookie innych firm:

Przykłady propozycji interfejsów API, które zastąpią technologie oparte na pasywnym śledzeniu:

Przykłady innych propozycji, na których mogą opierać się inne interfejsy API w przyszłości bez stosowania plików cookie innych firm:

Poza tym pojawia się kolejny typ propozycji interfejsu API, który warto wypróbować i wprowadzić do tej pory tajne zabezpieczenia śledzenia charakterystyczne dla poszczególnych przeglądarek. Jednym z przykładów jest budżet na potrzeby ochrony prywatności. W ramach tych przypadków użycia interfejsów API, które początkowo zostały zaproponowane przez Chrome, są ogólnie dostępne pod terminem Piaskownicy prywatności.

Global-Privacy-Control to nagłówek, który informuje o tym, że użytkownik prosi o nieudostępnianie zebranych danych osobowych innym witrynom. Jego działanie jest podobne do wycofania funkcji Do Not Track.

Stan pakietów dotyczących interfejsu API

Większość z tych ofert interfejsu API nie została jeszcze wdrożona lub są wdrożone tylko za pomocą flag lub w niektórych środowiskach do eksperymentów.

Ta faza publicznego inkubacji jest ważna: dostawcy przeglądarek i deweloperzy gromadzą informacje i doświadczenia w zakresie tego, czy interfejsy API przydatny i czy w rzeczywistości spełniają swoje zadanie. Z tej fazy korzystają deweloperzy, dostawcy przeglądarek i inne podmioty w ekosystemie. w celu iteracji projektu interfejsu API.

Najlepszym źródłem informacji o proponowanych nowych interfejsach API jest obecnie lista propozycji Grupy ds. prywatności w GitHubie.

Czy potrzebujesz używać tych interfejsów API?

Jeśli Twoja usługa bazuje bezpośrednio na plikach cookie innych firm lub takich technikach jak odciski cyfrowe, zalecamy zapoznanie się z tymi nowymi interfejsami API, eksperymentowanie z nimi oraz wnoszenie własnych doświadczeń do dyskusji i projektowania interfejsów API. We wszystkich innych przypadkach nie musisz znać wszystkich szczegółów na temat nowych interfejsów API w momencie pisania, ale dobrze jest wiedzieć, co się pojawi w przyszłości.