Jak Mercado Libre testuje Piaskownicę prywatności w celu zwiększenia prywatności klientów

Mercado Libre to wiodąca platforma e-commerce w Ameryce Łacińskiej, działająca w 18 krajach. Firma ta dysponuje złożoną infrastrukturą cyfrową, ma ponad 100 milionów aktywnych użytkowników i oferuje szeroki zakres usług, w tym platformę handlową, płatności (Mercado Pago) i logistykę.

Mercado Libre jest właścicielem ponad 40 domen, z których wiele do tej pory korzystało z plików cookie innych firm do obsługi takich funkcji jak uwierzytelnianie użytkowników w różnych witrynach czy wykrywanie oszustw.

Mercado Libre przeprowadziło liczne działania mające na celu zidentyfikowanie kluczowych funkcji i funkcjonalności, które mogą korzystać z plików cookie innych firm. Ich badania i wdrażanie alternatyw dla plików cookie innych firm, w tym interfejsów API Piaskownicy prywatności, pomagają zapewnić prawidłowe działanie usług i utrzymywanie pozytywnych doświadczeń użytkowników niezależnie od dostępności plików cookie innych firm.

Czytaj dalej, aby dowiedzieć się, jak firma Mercado Libre ogranicza korzystanie z plików cookie innych firm i chroni prywatność klientów.

Mercado Libre wzięło pod uwagę 3 aspekty korzystania z plików cookie innych firm:

  1. Czy Mercado Libre korzysta z udostępniania plików cookie między domenami?
  2. Czy usługi, które oferują jako podmiot zewnętrzny, zależą od plików cookie innych firm?
  3. Czy brak plików cookie innych firm wpłynie na działanie jakichkolwiek usług innych firm, z których korzysta użytkownik?

Ocena wpływu stosowania plików cookie innych firm w przypadku usług cyfrowych o takiej skali wymagała skoordynowanego podejścia, ponieważ zaangażowanych było wiele jednostek biznesowych.

Zespół platformy po stronie klienta Mercado Libre przeprowadził audyt wpływu i zapewnił scentralizowaną komunikację oraz wsparcie dla innych zespołów. Obejmowało to zasoby i szkolenia, które miały zapewnić zrozumienie niezbędnych zmian w całej firmie, aby wszystkie zespoły mogły wdrożyć nowe metody.

Poszczególne jednostki biznesowe Mercado Libre działają w osobnych domenach, takich jak mercadolibre.com, mercadopago.commercadoshops.com.

Po przeprowadzeniu szczegółowego audytu firma odkryła, w jakich przypadkach udostępnianie plików cookie w wielu witrynach było kluczowe dla wrażeń użytkowników w jej ekosystemie:

Ta kompleksowa analiza obejmowała informacje takie jak zespół, właściciel, wpływ na działalność, opis przypadku użycia, obecne zachowanie, potencjalne uszkodzenia i proponowane rozwiązanie w Piaskownicy prywatności.

Pliki cookie podzielone na części w Mercado Libre

Pliki cookie w partycjach, znane też jako CHIPS, umożliwiają deweloperom umieszczanie plików cookie w partycjonowanym miejscu na dane z oddzielnymi plikami cookie w przypadku każdej witryny najwyższego poziomu.

Wykorzystanie CHIPS do wykrywania oszustw bez plików cookie innych firm

Wyzwanie

Mercado Libre używa plików cookie innych firm, aby zapewnić płynne działanie platformy płatności dla użytkowników, którzy z niej korzystają. Dotyczy to zarówno płatności dokonywanych bezpośrednio na platformie, jak i przez przejrzyste integracje, które korzystają z usługi Mercado Pago jako procesora płatności. Na przykład używają plików cookie innych firm w mechanizmach, które pomagają wykrywać, kiedy karta kredytowa jest używana na urządzeniu znanym użytkownikowi, i w ten sposób zapobiegają oszustwom z użyciem karty kredytowej.

Informacje o urządzeniu to jeden z głównych sygnałów danych, których używają modele systemów uczących się Mercado Libre, aby zdecydować, czy zatwierdzić płatność. Brak tych informacji w przypadku znaczącej liczby użytkowników może oznaczać znaczny spadek współczynnika zatwierdzania płatności.

Rozwiązanie

Aby rozwiązać problemy związane z ograniczeniami plików cookie innych firm, firma Mercado Libre przetestowała rozwiązanie CHIPS, które ustawia unikalny plik cookie dla każdej witryny zintegrowanej z jej platformą do płatności. Celem jest umożliwienie Mercado Libre przechowywania kilku informacji o każdym sklepie.

W tym przypadku rozwiązanie CHIPS pomogło Mercado Libre zapewnić klientom płynne i wydajne korzystanie z usługi nawet wtedy, gdy pliki cookie innych firm są zablokowane.

Szczegóły techniczne

Najczęstszą metodą integracji Mercado Pago jako procesora płatności jest użycie kodu JavaScript, który zawiera moduł tokenizacji danych karty i moduł zapobiegania oszustwom. Moduł zapobiegania oszustwom wykorzystuje pliki cookie innych firm do powiązania płatności z urządzeniami użytkowników.

W przeszłości Mercado Pago mogło używać plików cookie innych firm do identyfikowania i śledzenia urządzeń użytkowników w różnych sklepach, jak pokazano na poniższym diagramie.

Schemat bez partycji, który był używany przez Mercado Pago w przeszłości.
Niepartycjonowany schemat używany wcześniej przez Mercado Pago.

Obecnie pliki cookie podzielone umożliwiają Mercado Libre utrzymywanie identyfikacji urządzenia przez ustawienie osobnego pliku cookie dla każdej witryny najwyższego poziomu. Jak widać na poniższym obrazie, to podejście chroni prywatność, ponieważ ogranicza udostępnianie informacji między sklepami. Pliki cookie z partycjami są używane, gdy pliki cookie innych firm są niedostępne. Ogranicza to udostępnianie informacji w różnych sklepach, co zwiększa prywatność użytkowników.

podzielone pliki cookie, które obecnie stosuje Mercado Libre;
Pliki cookie z oddzielonymi obszarami, które obecnie stosuje Mercado Libre.

Wczesna faza rozwoju

Po pierwsze, Mercado Libre wyłączył pliki cookie innych firm w Chrome i sprawdził, czy nie zostały one ustawione w witrynach, w których Mercado Libre działa jako dostawca zewnętrzny. Mercado Libre zaktualizował te pliki cookie, aby były podzielone. Dzięki tej zmianie udało im się potwierdzić, że pliki cookie z partycjami można ustawić w Chrome, nawet jeśli użytkownik wyłączył pliki cookie innych firm. Następnie Mercado Libre dodał nagłówek Set-Cookie i nie napotkał żadnych błędów, postępując zgodnie z instrukcjami dotyczącymi projektowania zabezpieczeń CHIPS.

Wydajność firmy

Mercado Libre zaczęło już używać CHIPS do integracji Mercado Pago i Mercado Shops z domenami niestandardowymi. Mercado Libre przechowuje teraz na urządzeniach użytkowników dodatkowy plik cookie z partycjami, a także standardowy plik cookie bez partycji.

Wdrożenie systemu CHIPS w przypadku Mercado Libre było proste.

Testowanie skuteczności systemu CHIPS w modelach oszustwa wykorzystujących uczenie maszynowe

Mercado Libre planuje zaprzestać wysyłania standardowego sygnału dotyczącego niepartycjonowanych plików cookie w grupie kontrolnej, aby symulować scenariusz, w którym pliki cookie innych firm są blokowane, a zamiast nich używane są pliki cookie partycjonowane (CHIPS). Początkowo grupa kontrolna będzie obejmować część użytkowników witryny. Mercado Libre zamierza stopniowo zwiększać udział i liczbę witryn, testując ich skuteczność.

Skuteczność będzie mierzona na podstawie zatwierdzenia płatności przez grupę kontrolną w porównaniu z poprzednim, porównywalnym okresem.

Wcześniejsze eksperymenty

Mercado Libre przeprowadził podobne testy na grupie kontrolnej, aby sprawdzić, czy można zidentyfikować te same urządzenia za pomocą CHIPS zamiast niepartycjonowanych plików cookie i zmierzyć wiek urządzenia (plik cookie).

Grupa kontrolna składała się z docelonych sprzedawców z Argentyny i Brazylii; obie grupy zachowywały się tak samo.

Podsumowując, Mercado Libre mogło potwierdzić tożsamość około 70% urządzeń korzystających z CHIPS, co oznacza, że pozostałe 30% to nowi użytkownicy lub przypadki niestandardowego zachowania.

Wnioski z wdrażania CHIPS

Mercado Libre zobowiązuje się do ochrony prywatności użytkowników, nawet jeśli oznacza to konieczność dokonania kompromisu między prywatnością a minimalnym utrudnieniem dla użytkowników. Wdrożenie CHIPS było proste i pomógło zminimalizować wpływ tego kompromisu w ramach tej samej witryny. Mercado Libre nadal testuje inne rozwiązania z Piaskownicy prywatności, takie jak tokeny stanu prywatnego, które mogą całkowicie wyeliminować różnice w doświadczeniach, zapewniając jednocześnie to, co najlepsze z obu światów: prywatność i przydatność.

Powiązane zestawy witryn (RWS) to sposób, w jaki firma może deklarować relacje między witrynami, aby przeglądarki zezwalały na ograniczony dostęp do plików cookie innych firm do określonych celów.

Wyzwanie

Gdy nowe urządzenie wchodzi do domeny należącej do Mercado Libre i obsługiwanej przez tę firmę, Meli używa pliku cookie, aby poznać aktywność urządzenia w różnych domenach, takich jak mercadolibre.com i mercadopago.com.

Rozwiązanie

Aby rozwiązać problemy związane z brakiem plików cookie innych firm, Mercado Libre wdrożyło RWS we wszystkich domenach dla klientów, w których używano plików cookie innych firm, z zachowaniem ograniczenia domeny podstawowej i 5 innych powiązanych domen w jednym zestawie.

Szczegóły techniczne: znajdowanie odpowiednich domen do uwzględnienia

Podczas analizowania, które domeny uwzględnić w zbiorze, Mercado Libre odkryło, że wiele jego domen zawierało nieaktualne pliki cookie, których już się nie używa. Te domeny zostały wykluczone z zbioru.

Zespół platformy front-endu odpowiadał za tworzenie i zarządzanie powiązanymi zestawami witryn Mercado Libre. (pełny zestaw znajdziesz w repozytorium GitHub zestawu powiązanych witryn).

 {
      "contact": "infraestructura@mercadolibre.com",
      "primary": "https://mercadolibre.com",
      "associatedSites": [
        "https://mercadolivre.com",
        ...
      ],
      "rationaleBySite": {
        "https://mercadolivre.com": "Mercado Libre in Brazil",
        ...
      },
      "ccTLDs": {
        "https://mercadolibre.com": [
          "https://mercadolibre.com.ar",
     ...
        ],
        "https://mercadolivre.com": [
          "https://mercadolivre.com.br"
        ],
        ...
      }
    },

Po zatwierdzeniu zgłoszenia zajęło to tylko 2 tygodnie.

Wymagania

Aby serwer mógł ustawiać pliki cookie, musi obsługiwać CORS, a żądania muszą być między domenami i zawierać dane logowania:

res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Origin', `${req.headers.origin}`);

Pliki cookie muszą być skonfigurowane z:

  • Secure
  • SameSite=None

Gdy pliki cookie innych firm nie są domyślnie dostępne, klient musi sprawdzić, czy ma uprawnienia do dostępu do plików cookie bez partycji za pomocą navigator.permissions.query(), a następnie poprosić o uprawnienia dostępu do pamięci masowej dla każdej wbudowanej domeny za pomocą requestStorageAccessFor(). Dodatkowo, aby klient użytkownika mógł poprosić o pierwszą zgodę, konieczna jest interakcja użytkownika z ekranem (np. kliknięcie lub działanie na klawiaturze).

Rozwiązywanie problemów z RWS

Istniejące procesy propagowania plików cookie, takie jak piksele obrazu i korzystanie z interfejsu Storage Access API, były ograniczone ze względu na wymóg interakcji z użytkownikiem. Tak było w przypadku logowania w usłudze Mercado Libre, które jest trwałe i niezależne od domeny. Funkcja ta jest zakłócana, gdy użytkownicy zrezygnują z plików cookie innych firm.

Zestawy powiązanych witryn i technologie Piaskownicy prywatności nie są przeznaczone do zastępowania plików cookie innych firm i mogą nie obsługiwać niektórych przypadków użycia:

  • piksele obrazu,

    • Mercado Libre może dodać atrybut crossorigin="use-credentials". Jednak zależność od interakcji użytkownika (kliknięcie przez niego linku) oznacza, że Mercado Libre nie może zagwarantować, że plik cookie zostanie ustawiony. Pixele są też anulowane, jeśli nastąpi nawigacja między ekranami: gdy Chrome wykryje nawigację, anuluje wszystkie żądania zasobów z bieżącej strony, aby rozpocząć wczytywanie nowej.
  • sendBeacon()

    • Nie można skonfigurować crossorigin, więc żądania nie są realizowane, a pliki cookie nie są wysyłane.
  • przekierowania z sendBeacon() lub pikseli obrazu,

    • Ponieważ te pliki cookie zależą od interakcji użytkownika, nie można ich ustawiać za pomocą przekierowań do ekranów pośrednich między różnymi domenami, które wykonują JavaScript.

Ograniczenie WebView

Interfejs Permissions API jest niedostępny w WebView. Zmusiło to Mercado Libre do wdrożenia logiki, która uruchamia interfejs Storage Access API tylko wtedy, gdy interfejs Permissions API jest dostępny (wszędzie oprócz WebView). Ponadto requestStorageAccessFor() nie jest obecnie obsługiwana przez Safari ani Firefox.

Mercado Libre nadal używa wykrywania funkcji w razie potrzeby, niezależnie od platformy.

Rozwiązanie uniwersalne

Mercado Libre musiało używać fetch(){keepalive: true, credentials: 'include'}. Dzięki temu mogą skonfigurować CORS, uwzględnić poświadczenia i zadbać o to, aby żądanie zostało wysłane w tle bez anulowania przez przeglądarkę.

fetch(domain, {
  keepalive: true,
  credentials: 'include',
});

// or

fetch(domain, {
  method: 'POST'
  body: data,
  keepalive: true,
  credentials: 'include',
});

Pełny przykład:

const TP_DOMAINS = ['https://mercadolibre.com',
                   'https://www.mercadoshops.com.ar',
                   'https://www.mercadopago.com',
                   'https://www.mercadopago.com.ar'];

if ('requestStorageAccessFor' in document) {
   // Check the permission to see if storage access is already available.
   let storageAccessPermission = await navigator.permissions.query({
       name: 'top-level-storage-access',
       requestedOrigin: TP_DOMAINS[0]
   })

   // If the permission has already been granted, request storage access.
   if (storageAccessPermission.state === 'granted') {
       requestStorageAccessForDomains();
   }

   // If the state "prompt" is returned, a storage access request must be triggered by user gesture.
   else if (storageAccessPermission.state === 'prompt') {
       document.addEventListener('click', requestStorageAccessForDomains, { capture: true });
       document.addEventListener('keydown', requestStorageAccessForDomains, { capture: true });
   }
} else {
   console.log('requestStorageAccessFor is not supported');
}

function requestStorageAccessForDomains() {
   // Request storage access for each domain.
   TP_DOMAINS.forEach(rSAFor)

   // Clean up listeners so they are not called again.
   document.removeEventListener('click', requestStorageAccessForDomains);
   document.removeEventListener('keydown', requestStorageAccessForDomains);
}

function rSAFor(domain) {
   document.requestStorageAccessFor(domain).then(
       success => { setCookie(domain); },
       err => { console.log('requestStorageAccessFor error: ' + err); }
   );
}

function setCookie(domain) {
   const url = new URL(domain);
   const hostname = url.hostname.split('.').slice(1).join('.');
   fetch(domain + '/pixel.gif?name=_d2id&value=DONE&max_age=94608000&domain=.' + hostname, {
       keepalive: true,
       credentials: 'include',
   });
}

Testowanie w Chrome

Powiązany zestaw stron internetowych można przetestować lokalnie, ustawiając flagę Chrome. Na przykład w przypadku wersji demonstracyjnej related-website-sets.glitch.me:

--use-related-website-set="{\"primary\": \"https://related-website-sets.glitch.me\", \"associatedSites\": [\"https://rws-member-1.glitch.me\"]}"
https://related-website-sets.glitch.me/

Podsumowanie implementacji zestawu powiązanych witryn

Wdrożenie RWS w przypadku witryn o dużej skali nie jest proste. Mercado Libre potrzebowało tylko zasobów jednego programisty, ale od początku do końca w 18 krajach proces wdrożenia zajął około 3 miesięcy.

Osoby, które chcą wdrożyć RWS, powinny zacząć jak najwcześniej. Nie zwlekaj z wdrożeniem RWS. Firma Mercado Libre musiała zmienić pliki cookie po stronie serwera i klienta, dodać nowe nagłówki, wprowadzić zmiany w backendzie i zaktualizować kod JavaScript.

Końcowe uwagi i kolejne kroki

Skuteczne wdrożenie interfejsów API Piaskownicy prywatności przez Mercado Libre pokazuje ich zaangażowanie w dostosowywanie się do zmieniających się przepisów dotyczących prywatności. Dzięki proaktywnemu testowaniu i rozwiązywaniu problemów z wykorzystywaniem plików cookie innych firm Mercado Libre zachował ważne funkcje biznesowe, takie jak analityka i zapobieganie oszustwom, a zarazem zwiększył prywatność użytkowników i zapewnił zgodność z rozwijającymi się przepisami. Ten przypadek analizy dostarcza cennych informacji organizacjom, które chcą przejść na rozwiązania przyszłości, w której dostępność plików cookie innych firm nie jest czymś oczywistym.