Odkrywanie Piaskownicy prywatności

Piaskownica prywatności zawiera szereg propozycji, które mają na celu spełnienie warunków korzystania z usług firm zewnętrznych bez stosowania plików cookie innych firm ani innych mechanizmów śledzenia.

Podsumowanie

  • W tym poście przedstawiamy interfejsy API i koncepcje związane z ofertami pakietowymi Piaskownicy prywatności.
  • Autorzy propozycji zwracają się do społeczności, szczególnie od osób z branży reklamowej (wydawców, reklamodawców i firm z branży technologii reklamowych), aby proponować brakujące przypadki użycia i dzielić się informacjami o tym, jak mogą być one przydatne w firmie.
  • Jeśli chcesz dodać komentarze do ofert pakietowych, możesz zgłosić problemy w repozytoriach, do których linki znajdziesz poniżej.
  • Na końcu tego posta znajdziesz glosariusz na temat propozycji.

Obecny stan prywatności w internecie

Witryny korzystają z usług innych firm, aby zapewniać statystyki, wyświetlać filmy i wykonywać wiele innych przydatnych czynności. Kompozycje to jedna z supermocy internetu. W szczególności reklamy są umieszczane na stronach internetowych za pomocą kodu JavaScript i elementów iframe firm zewnętrznych. Wyświetlenia reklam, kliknięcia i konwersje są śledzone za pomocą plików cookie i skryptów innych firm.

Jednak gdy odwiedzasz witrynę, możesz nie wiedzieć, jakie osoby trzecie zaangażują się w korzystanie z Twoich danych. Nawet wydawcy i programiści stron internetowych mogą nie zrozumieć całego zewnętrznego łańcucha dostaw.

Wybór reklam, pomiar konwersji i inne przypadki użycia obecnie polegają na zapewnieniu stabilnej tożsamości użytkowników w różnych witrynach. Dawniej było to możliwe z plikami cookie innych firm, ale przeglądarki zaczęły ograniczać dostęp do tych plików. Wzrosła też liczba innych mechanizmów do śledzenia użytkowników w witrynach, takich jak ukryta pamięć przeglądarki, odciski cyfrowe urządzeń i prośby o podanie danych osobowych, np. adresów e-mail.

To dylemat internetu. W jaki sposób można uzasadnić legalne zastosowania rozwiązań innych firm bez umożliwienia śledzenia użytkowników w różnych witrynach?

W jaki sposób witryny mogą finansować treści, umożliwiając innym firmom wyświetlanie reklam i mierzenie ich skuteczności, ale nie zezwalają na profilowanie poszczególnych użytkowników? W jaki sposób reklamodawcy i właściciele witryn mogą oceniać autentyczność użytkownika bez uciekania się do ciemnych wzorców, takich jak odciski cyfrowe urządzenia?

Obecne działanie może stanowić problem dla całego ekosystemu internetu, a nie tylko dla użytkowników. W przypadku wydawców i reklamodawców śledzenie tożsamości i korzystanie z różnych niestandardowych rozwiązań innych firm może zwiększyć dług technologiczny, złożoność kodu i ryzyko związane z danymi. Użytkownicy, deweloperzy, wydawcy i reklamodawcy powinni mieć pewność, że internet chroni wybory użytkowników dotyczące prywatności.

Reklama to podstawowy model prowadzenia działalności w internecie, ale reklama musi działać u każdego. Dochodzimy w ten sposób do misji Piaskownicy prywatności, czyli tworzenia dobrze działającego ekosystemu internetowego, w którym szanujemy użytkowników i dbamy o prywatność.

Przedstawiamy Piaskownicę prywatności

Piaskownica prywatności wprowadza zestaw interfejsów API chroniących prywatność, aby wspierać modele biznesowe, które pozwalają finansować otwartą sieć w sytuacji, gdy nie ma mechanizmów śledzenia takich jak pliki cookie innych firm.

Interfejsy API Piaskownicy prywatności wymagają, aby przeglądarki pełniły nową rolę. Zamiast korzystać z ograniczonych narzędzi i zabezpieczeń, interfejsy API umożliwiają przeglądarce użytkownika działanie w imieniu użytkownika – lokalnie, na jego urządzeniu – w celu ochrony informacji umożliwiających identyfikację użytkownika podczas korzystania z internetu. Interfejsy API umożliwiają takie przypadki użycia, jak wybór reklam i pomiar konwersji, bez ujawniania danych osobowych i informacji prywatnych. Z punktu widzenia inżynierii sandbox to środowisko chronione. Kluczową zasadą Piaskownicy prywatności jest to, że dane osobowe użytkownika powinny być chronione i nie udostępniane w sposób umożliwiający ich identyfikację w różnych witrynach.

To zmiana kierunku rozwoju przeglądarek. Zgodnie z wizją Piaskownicy prywatności przeglądarki zapewniają określone narzędzia, które spełniają określone wymagania, a jednocześnie chronią prywatność użytkowników. Potencjalny model prywatności w internecie wyznacza główne zasady korzystania z interfejsów API:

  • Aby określić zakres aktywności w internecie, w którym przeglądarka użytkownika może zezwolić witrynom na traktowanie osoby jako pojedynczej tożsamości.
  • Określenie sposobów, w jakie informacje mogą przechodzić przez granice tożsamości bez naruszania tej separacji.

Oferty pakietowe Piaskownicy prywatności

Aby skutecznie zrezygnować z plików cookie innych firm, inicjatywa Piaskownica prywatności wymaga Twojego wsparcia. Wyjaśnienia oferty pakietowej wymagają opinii deweloperów, wydawców, reklamodawców i firm z branży technologii reklamowych, aby zasugerować brakujące przypadki użycia i przekazać informacje o tym, jak osiągnąć cele w sposób zapewniający ochronę prywatności.

Wyjaśnienia dotyczące oferty możesz komentować, zgłaszając problemy dotyczące poszczególnych repozytoriów:

  • Model prywatności w internecie
    Określ zakres działań w internecie, w których przeglądarka użytkownika może zezwolić witrynom na traktowanie danej osoby jako jednej tożsamości. Określ sposoby, w jakie informacje mogą przechodzić przez granice tożsamości bez naruszania tej separacji.
  • Budżet na ochronę prywatności
    Ogranicz łączną ilość danych potencjalnie umożliwiających identyfikację, do których witryny mają dostęp. Zaktualizuj interfejsy API, aby zmniejszyć ilość ujawnionych danych potencjalnie umożliwiających identyfikację. Zapewnij dostęp do danych, które można zidentyfikować w sposób wymierny.
  • Gnatcatcher
    Ogranicz możliwość identyfikowania poszczególnych użytkowników na podstawie ich adresów IP.
  • Trust Token API
    Pozwala włączyć źródło, które ufa użytkownikowi, i udostępnia mu tokeny kryptograficzne przechowywane przez przeglądarkę użytkownika, dzięki czemu mogą one być używane w innych kontekstach do oceny autentyczności użytkownika.
  • Zestawy własne
    Zezwól na deklarowanie, że powiązane nazwy domen należące do tego samego podmiotu należą do tego samego podmiotu.
  • Raporty zbiorcze
    Udostępniaj mechanizmy chroniące prywatność, które obsługują różne przypadki użycia, np. pomiary konwersji po obejrzeniu, marki, wyników marki i zasięgu.
  • Raportowanie atrybucji
    Za pomocą raportów zbiorczych i na poziomie zdarzenia możesz mierzyć kliknięcia i wyświetlenia z poszanowaniem prywatności.
  • Topics API
    Włącz reklamy oparte na zainteresowaniach bez konieczności śledzenia stron odwiedzanych przez użytkownika. Projekt interfejsu API został opracowany na podstawie opinii społeczności z wcześniejszych testów FLoC i zastępuje propozycję FLoC.
  • FLEDGE
    Oferuje rozwiązanie do remarketingu zaprojektowane w taki sposób, że osoby trzecie nie mogą go używać do śledzenia zachowań użytkowników podczas przeglądania witryn.

Możesz od razu zapoznać się z wyjaśnieniem propozycji interfejsu API, a w najbliższych miesiącach będziemy publikować posty dotyczące każdej z nich z osobna.

Dodamy też do naszej playlisty 5-minutowych filmów, w których w prosty sposób omawiamy każdy interfejs API.

Przypadki użycia i cele

Pomiar konwersji

Cel: umożliwienie reklamodawcom pomiaru skuteczności reklam.

Interfejs Attribution Reporting API umożliwia pomiar dwóch połączonych ze sobą zdarzeń: 1. Zdarzenie w witrynie wydawcy, np. wyświetlenie lub kliknięcie reklamy przez użytkownika. 1. Kolejna konwersja w witrynie reklamodawcy.

Ten interfejs API obsługuje pomiary klikalności i po wyświetleniu.

Inne funkcje tego interfejsu API obejmują raportowanie atrybucji na różnych urządzeniach i atrybucji „z aplikacji do witryny”.

Interfejs API udostępnia też 2 rodzaje raportów atrybucji:

  • Raporty na poziomie zdarzenia łączą kliknięcie lub wyświetlenie określonej reklamy (po stronie reklamy) z danymi od strony konwersji. Aby chronić prywatność użytkowników, uniemożliwiając łączenie ich tożsamości z różnych witryn, dane po stronie konwersji są bardzo ograniczone, a dane są „zaszumiane” (co oznacza, że w niewielkim odsetku przypadków wysyłane są dane losowe). W ramach dodatkowej ochrony prywatności raporty nie są wysyłane od razu.

  • Raporty zbiorcze nie są powiązane z żadnym zdarzeniem po stronie reklamy. Raporty te zapewniają bogatsze i dokładniejsze dane o konwersjach niż raporty na poziomie zdarzenia. Połączenie technik ochrony prywatności w kryptografii, dystrybucji zaufania i prywatności różnicowej pomaga zmniejszyć ryzyko złączenia tożsamości w różnych witrynach.

Oba typy raportów można stosować jednocześnie – ich wzajemnie się uzupełniają.

Więcej informacji o stanie tych funkcji i sposobach ich wypróbowania znajdziesz w artykule Wprowadzenie do raportowania atrybucji.

Wybierz reklamy

Cel: umożliwienie reklamodawcom wyświetlania reklam odpowiednich dla użytkowników.

Trafne reklamy są bardziej korzystne dla użytkowników i bardziej opłacalne dla wydawców (osób prowadzących witryny z reklamami). Dzięki narzędziom innych firm przestrzeń reklamowa jest bardziej wartościowa dla reklamodawców (osób, które ją kupują w witrynach). To z kolei zwiększa przychody z witryn z reklamami i umożliwia tworzenie i publikowanie treści.

Istnieje wiele sposobów na wyświetlanie reklam odpowiednich dla użytkownika. Oto niektóre z nich:

  • Dane własne: wyświetlaj reklamy związane z tematami, którymi użytkownik wcześniej się interesował w witrynie lub z treściami, które już w tej witrynie przeglądał.
  • Kontekstowa: wybierz, gdzie mają się wyświetlać reklamy na podstawie treści witryny. Na przykład: „Umieść tę reklamę obok artykułów na temat robienia na drutach”.
  • Remarketing: wyświetlaj reklamy użytkownikom, którzy odwiedzili już Twoją witrynę, ale nie są oni w niej obecni. Na przykład: „Wyświetlaj reklamę z wełną po obniżonej cenie użytkownikom, którzy odwiedzili Twój sklep i zostali w koszyku z wyrobami na drutach podczas przeglądania stron o rękodziełach”.
  • Oparte na zainteresowaniach: reklamy są wybierane na podstawie historii przeglądania użytkownika. Na przykład: „Wyświetlaj tę reklamę użytkownikom, których zachowania podczas przeglądania wskazują, że mogą być zainteresowani robieniem na drutach”.

Dane własne i kontekstowy wybór reklam można uzyskiwać bez dostępu do informacji o użytkowniku poza jego aktywnością w witrynie. Techniki te nie wymagają śledzenia w witrynach.

Remarketing odbywa się zwykle przez stosowanie plików cookie lub innego sposobu rozpoznawania osób w różnych witrynach: dodawania użytkowników do list i wybierania konkretnych reklam do wyświetlenia.

Wybór reklam opartych na zainteresowaniach korzysta obecnie z plików cookie, aby śledzić zachowania użytkowników w jak największej liczbie witryn. Wiele osób niepokoi się kwestiami związanymi z prywatnością wyboru reklam. Piaskownica prywatności proponuje 2 opcje: remarketingu i wyboru opartego na zainteresowaniach:

  • FLEDGE: przypadki użycia remarketingu.
    Interfejs API został zaprojektowany w taki sposób, że inne firmy nie mogą go używać do śledzenia zachowań użytkowników podczas przeglądania internetu. W przeglądarce użytkownika, a nie reklamodawcy czy platformie technologii reklamowej, są przechowywane zdefiniowane przez reklamodawcę grupy zainteresowań, z którymi jest powiązana przeglądarka użytkownika. Przeglądarka użytkownika łączy dane o grupach zainteresowań z danymi kupującego/sprzedawcy reklamy i logiką biznesową, aby przeprowadzić „aukcję” lokalnie na urządzeniu użytkownika, aby wybrać reklamę, i nie udostępniać danych firmie zewnętrznej.

  • Topics API: dla odbiorców opartych na zainteresowaniach.
    Możesz włączyć reklamy oparte na zainteresowaniach bez konieczności śledzenia stron odwiedzanych przez użytkownika. Interfejs API proponuje wykorzystanie systemów uczących się do ustalenia tematów na podstawie nazw hostów, a także interfejsu JavaScript API, który zwraca przybliżone tematy, którymi użytkownik może być obecnie zainteresowany, na podstawie nazw hostów odwiedzanych ostatnio witryn.

Walka z odciskami palców

Cel: Zmniejszenie ilości potencjalnie rozpoznawalnych danych ujawnianych przez interfejsy API oraz zapewnienie użytkownikom możliwości kontrolowania i pomiaru dostępu do danych, które można zidentyfikować.

Przeglądarki podjęły kroki w celu wycofania plików cookie innych firm, ale techniki rozpoznawania i śledzenia zachowania poszczególnych użytkowników, zwane odciskami cyfrowymi, stale ewoluują. Odcisk cyfrowy wykorzystuje mechanizmy, o których użytkownicy nie są świadomi i których nie mogą kontrolować.

  • Propozycja budżetu na rzecz prywatności ma na celu ograniczenie możliwości korzystania z odcisków cyfrowych przez określenie, jaka część danych odcisków cyfrowych jest ujawniana przez interfejsy API JavaScript lub inne „przestrzeń” (np. nagłówki żądań HTTP) oraz określenie limitu ilości danych, do których można uzyskać dostęp.

  • Zakres odcisków cyfrowych, takich jak nagłówek User-Agent, jest ograniczony, a dane udostępniane przez alternatywne mechanizmy, takie jak wskazówki klienta, podlegają limitom budżetu prywatności. Inne interfejsy, takie jak orientacja urządzenia i interfejsy API poziomu baterii, zostaną zaktualizowane, aby informacje były jak najmniej dostępne.

Zabezpieczenia adresów IP

Cel: kontrola dostępu do adresów IP, aby ograniczyć liczbę ukrytych odcisków cyfrowych, i umożliwienie witrynom rezygnacji z wyświetlania adresów IP, aby nie wykorzystywać budżetu na ochronę prywatności.

Adres IP użytkownika to publiczny „adres” jego komputera w internecie, który w większości przypadków jest przypisywany dynamicznie przez sieć, przez którą łączy się on z internetem. Jednak nawet dynamiczne adresy IP mogą pozostawać stabilne przez dłuższy czas. Nic dziwnego, że adresy IP są istotnym źródłem danych odcisków cyfrowych.

Pakiet Gnatcatcher ma na celu zapewnienie metody ochrony prywatności, która nie będzie wykorzystywać budżetu związanego z prywatnością, a jednocześnie gwarancja, że witryny wymagające dostępu do adresów IP w uzasadnionych celach, takich jak zapobieganie nadużyciom, będą mogły to robić (podlega certyfikacji i kontroli).

Propozycja składa się z 2 elementów: * Samodzielna ślepota na adresy IP umożliwia witrynom informowanie przeglądarek, że nie łączą adresów IP z użytkownikami. * Funkcja NAT (Near-path) umożliwia grupom użytkowników wysyłanie ruchu przez ten sam prywatny serwer, skutecznie ukrywając ich adresy IP przed hostem witryny.

Zwalczanie spamu, oszustw i ataków typu DoS

Cel: weryfikacja autentyczności użytkownika bez użycia odcisków cyfrowych.

Ochrona przed oszustwami ma kluczowe znaczenie dla zapewnienia bezpieczeństwa użytkownikom, a reklamodawcom i właścicielom witryn możliwość dokonywania dokładnych pomiarów skuteczności reklam. Reklamodawcy i właściciele witryn muszą umieć odróżnić złośliwe boty od autentycznych użytkowników. Jeśli reklamodawcy nie mogą rzetelnie określić, które kliknięcia reklam pochodzą od ludzi, wydają mniej, a więc wydawcy witryn otrzymują mniejsze przychody. Wiele usług innych firm używa obecnie technik takich jak odcisk cyfrowy urządzenia, aby zwalczać oszustwa.

Niestety techniki służące do identyfikowania prawidłowych użytkowników oraz blokowania spamerów, oszustów i botów działają w sposób podobny do technik odcisków cyfrowych, które szkodzą prywatności.

  • Interfejs Trust Tokens API proponuje alternatywne podejście, które umożliwia przeniesienie autentyczności użytkownika w jednym kontekście, takim jak strona w mediach społecznościowych, w innym kontekście, takim jak reklama wyświetlana w witrynie z wiadomościami, bez identyfikowania użytkownika ani łączenia tych 2 tożsamości.

Umożliwienie przynależności domen do tego samego konta

Cel: umożliwienie jednostkom deklarowania, że powiązane nazwy domen należą do tego samego podmiotu.

Wiele organizacji ma własne witryny w wielu domenach. Może to być problem, jeśli na śledzenie tożsamości użytkowników w różnych witrynach są postrzegane jako „zewnętrzne”, ale w rzeczywistości należą do tej samej organizacji.

  • Dzięki własnemu zestawowi koncepcje własne i firm zewnętrznych w internecie będą bardziej zgodne z rzeczywistością. W tym celu wiele domen może zadeklarować się jako należące do tego samego podmiotu.

Więcej informacji

Wyjaśnienia dotyczące oferty Piaskownicy prywatności

Inicjatywa Piaskownica prywatności wymaga Twojego wsparcia. Objaśnienie oferty interfejsu API wymaga opinii, w szczególności po to, aby zasugerować brakujące przypadki użycia i lepiej określić sposoby osiągnięcia założonych celów.

Potencjalny model prywatności w internecie określa podstawowe zasady, na których opierają się interfejsy API.

Piaskownica prywatności

Dyskusja i udział

Przypadki użycia, zasady i wymagania


Załącznik: słowniczek pojęć używanych w objaśnieniach oferty

Współczynnik klikalności (CTR)

Stosunek liczby użytkowników, którzy kliknęli reklamę i ją zobaczyli. (Zobacz też wyświetlenie).

Konwersja po kliknięciu (CTC)

Konwersja przypisana reklamie, która została kliknięta.

Konwersja

Wykonanie działania na stronie reklamodawcy przez użytkownika, który wcześniej wszedł w interakcję z jego reklamą. Może to być na przykład zakup produktu lub subskrypcja biuletynu po kliknięciu reklamy, która prowadzi do witryny reklamodawcy.

Prywatność różnicowa

Udostępniać informacje o zbiorze danych, aby ujawniać wzorce zachowań bez ujawniania informacji prywatnych o poszczególnych osobach ani o tym, czy należą one do zbioru danych.

Domena

Patrz: Domena najwyższego poziomu i eTLD.

eTLD, eTLD+1

Domeny najwyższego poziomu o stanie „Effective” są zdefiniowane na liście domen publicznych. Na przykład:

co.uk
appspot.com
glitch.me

Skuteczne domeny najwyższego poziomu pozwalają odróżnić foo.appspot.com od bar.appspot.com. Efektywna domena najwyższego poziomu (eTLD) w tym przypadku to appspot.com, a cała nazwa witryny (foo.appspot.com, bar.appspot.com) to eTLD+1.

Zobacz też Domena najwyższego poziomu.

Entropia

Miara tego, w jakim stopniu dany element danych ujawnia tożsamość danej osoby.

Entropia danych jest mierzona w bitach. Im więcej danych ujawnia tożsamość, tym wyższa jest ich entropia.

Dane można łączyć, aby zidentyfikować osobę, ale może być trudno stwierdzić, czy nowe dane zwiększają entropię. Na przykład wiedza o tym, że dana osoba pochodzi z Australii, nie zmniejsza entropii, jeśli wiesz już, że pochodzi z Wyspy Kangura.

Odcisk cyfrowy

Techniki identyfikacji i śledzenia zachowań poszczególnych użytkowników. Odcisk cyfrowy wykorzystuje mechanizmy, o których użytkownicy nie są świadomi i których nie mogą kontrolować. Strony takie jak Panopticlick i amiunique.org pokazują, jak można połączyć dane odcisku palca, aby zidentyfikować Ciebie jako osobę.

Powierzchnia do odcisków cyfrowych

Element, który może zostać użyty (prawdopodobnie w połączeniu z innymi platformami) do identyfikacji konkretnego użytkownika lub urządzenia. Na przykład metoda JavaScript navigator.userAgent() i nagłówek żądania HTTP User-Agent zapewniają dostęp do platformy do odcisków cyfrowych (ciąg znaków klienta użytkownika).

Google

Zasoby z odwiedzanej witryny. Na przykład strona, którą czytasz, znajduje się w witrynie web.dev i zawiera zasoby z tej witryny. Zobacz też Firmy zewnętrzne.

Wyświetlenie

Wyświetlenie reklamy. Zobacz też współczynnik klikalności.

k-anonimowość

Miara anonimowości w zbiorze danych. Jeśli masz k anonimowość, nie będzie można odróżnić Cię od innych osób w zbiorze danych k–1. Oznacza to, że k osób ma te same informacje (łącznie z Tobą).

Liczba jednorazowa

Dowolny numer używany tylko raz w komunikacji kryptograficznej.

Punkt początkowy

Źródło żądania, w tym nazwa serwera, ale bez informacji o ścieżce. Przykład: https://web.dev.

Powierzchnia bierna

Niektóre platformy do odcisków cyfrowych, np. ciągi znaków klientów użytkownika, adresy IP i nagłówki akceptacji języka, są dostępne dla każdej witryny niezależnie od tego, czy witryna poprosi o ich podanie. Oznacza to, że platformy pasywne mogą z łatwością wykorzystać budżet witryny związany z prywatnością.

Inicjatywa Piaskownica prywatności zakłada zastąpienie platform pasywnych aktywnymi sposobami uzyskiwania konkretnych informacji. Można na przykład jednorazowo korzystać ze wskazówek klienta, aby poznać język użytkownika, zamiast stosować nagłówek akceptacji języka dla każdej odpowiedzi na każdy serwer.

Wydawca

Wyjaśnienia dotyczące oferty Piaskownicy prywatności dotyczą głównie reklam, więc do wydawców, na które się odwołują, należą ci, którzy wyświetlają reklamy w swoich witrynach.

Zasięg

Łączna liczba osób, którym wyświetli się reklama.

Remarketing

Reklamy kierowane na osoby, które odwiedziły już Twoją witrynę. Na przykład sklep internetowy może wyświetlać reklamy zabawek osobom, które wcześniej oglądały zabawki w jego witrynie.

Witryna

Patrz: Domena najwyższego poziomu i eTLD.

Platforma

Zapoznaj się z sekcjami Powierzchnia do odcisków palców i Powierzchnia pasywna.

Inna firma

Zasoby pochodzące z innej domeny niż strona, którą odwiedzasz. Na przykład witryna foo.com może korzystać z kodu analitycznego z google-analytics.com (w języku JavaScript), czcionek z witryny use.typekit.net (za pomocą elementu link) i filmu z vimeo.com (w elemencie iframe). Zobacz też Własne segmenty odbiorców.

Domena najwyższego poziomu (TLD)

Domeny najwyższego poziomu, takie jak .com czy .org, są wymienione w bazie danych stref głównych.

Pamiętaj, że niektóre „witryny” są w rzeczywistości tylko subdomenami. Na przykład translate.google.com i maps.google.com to tylko subdomeny google.com (czyli eTLD + 1).

.well-known

Warto uzyskać dostęp do zasad i innych informacji o hoście przed wysłaniem żądania. Na przykład plik robots.txt informuje roboty indeksujące, które strony odwiedzić, a które zignorować. IETF RFC8615 określa znormalizowany sposób udostępniania metadanych z całej witryny w standardowych lokalizacjach w podkatalogu /.well-known/. Ich listę znajdziesz na stronie iana.org/assignments/well-known-uris/well-known-uris.xhtml.


Dziękujemy wszystkim, którzy pomogli napisać i sprawdzić tego posta.

Zdjęcie: Pierre Bamin, Unsplash.