Mercado Libre — ведущая платформа электронной коммерции в Латинской Америке, работающая в 18 странах. У них сложная цифровая инфраструктура с более чем 100 миллионами активных пользователей и разнообразным спектром услуг, включая торговую площадку, платежи (Mercado Pago) и логистику.
Mercado Libre владеет более чем 40 доменами, многие из которых исторически использовали сторонние файлы cookie для реализации таких функций, как межсайтовая аутентификация пользователей и обнаружение мошенничества.
Mercado Libre провела обширную работу по выявлению критически важного пользовательского опыта и функций, которые могут зависеть от сторонних файлов cookie. Их исследования и внедрение альтернатив сторонним файлам cookie, включая API-интерфейсы Privacy Sandbox, помогают обеспечить правильную работу их свойств и продолжают приносить пользователям положительный опыт независимо от того, доступны ли сторонние файлы cookie.
Читайте дальше, чтобы узнать о том, как Mercado Libre стремится снизить зависимость от сторонних файлов cookie и защитить конфиденциальность своих клиентов.
Аудит файлов cookie и оценка воздействия
Mercado Libre рассмотрел три аспекта использования сторонних файлов cookie:
- Полагается ли Mercado Libre на межсайтовое совместное использование файлов cookie между своими доменами?
- Зависят ли услуги, которые они предоставляют в качестве третьей стороны, от сторонних файлов cookie?
- Пострадает ли какая-либо из сторонних служб, на которые они полагаются, если сторонние файлы cookie будут недоступны?
Оценка влияния использования сторонних файлов cookie на цифровые объекты такого масштаба потребовала скоординированного подхода, поскольку в этом участвует множество бизнес-подразделений.
Команда фронтенд-платформы Mercado Libre провела аудит воздействия и обеспечила централизованную связь и поддержку другим командам. Это включало ресурсы и обучение, чтобы обеспечить понимание необходимых изменений в масштабах всей компании, чтобы все команды могли внедрить новые методы.
Варианты использования межсайтового обмена файлами cookie
Каждое из бизнес-подразделений Mercado Libre работает на отдельных доменах, таких как mercadolibre.com , mercadopago.com и mercadoshops.com .
Проведя подробный аудит, они выявили, где обмен файлами cookie между сайтами имеет решающее значение для взаимодействия с пользователем в их экосистеме:
- Аутентификация пользователя : потенциальные сбои для части из 75 миллионов активных покупателей в месяц в 18 странах.
- Внутренняя аналитика : более 4000 бизнес-аналитиков полагаются на межсайтовые данные при принятии решений. Потенциальное влияние на отслеживание путешествий пользователей.
- Предотвращение мошенничества : жизненно важно для обеспечения безопасности потоков платежей, когда сторонние файлы cookie недоступны ( более 50 покупок в секунду для Mercado Libre, 244 транзакций в секунду для Mercado Pago ).
Этот комплексный анализ включал такую информацию, как команда, владелец, влияние на бизнес, описание варианта использования, текущее поведение, потенциальные поломки и предлагаемое решение Privacy Sandbox.
Разделенные файлы cookie на Mercado Libre
Разделенные файлы cookie , также известные как CHIPS, позволяют разработчикам размещать файлы cookie в разделенном хранилище с отдельными банками файлов cookie для каждого сайта верхнего уровня.
Использование CHIPS для обнаружения мошенничества без сторонних файлов cookie
Испытание
Mercado Libre использует сторонние файлы cookie, чтобы обеспечить удобство доступа пользователей к их платежной платформе как для платежей, происходящих непосредственно на платформе, так и для прозрачной интеграции, в которой Mercado Pago используется в качестве платежного процессора. Например, они используют сторонние файлы cookie в механизмах, помогающих определить, когда кредитная карта используется с известного пользователю устройства, и, таким образом, предотвратить мошенничество с кредитными картами.
Информация об устройстве — это один из основных сигналов данных, используемых моделями машинного обучения Mercado Libre для принятия решения о подтверждении платежа или нет. Таким образом, отсутствие этой информации для значимого числа пользователей может привести к значительной потере их коэффициента одобрения платежей.
Решение
Чтобы устранить ограничения сторонних файлов cookie, Mercado Libre протестировала CHIPS — решение, которое устанавливает уникальный файл cookie для каждого веб-сайта, интегрированного с его платежной платформой. Цель состоит в том, чтобы позволить Mercado Libre хранить несколько фрагментов информации для каждого отдельного магазина.
В этом случае CHIPS помог Mercado Libre обеспечить бесперебойную и эффективную работу для постоянных клиентов, даже если сторонние файлы cookie заблокированы.
Техническое углубление
Самый распространенный метод интеграции использования Mercado Pago в качестве платежного процессора предполагает использование JavaScript, который включает в себя как модуль токенизации данных карты, так и модуль предотвращения мошенничества. Модуль предотвращения мошенничества использует сторонние файлы cookie для привязки платежей к устройствам пользователей.
Раньше, используя сторонние файлы cookie, Mercado Pago мог идентифицировать и отслеживать устройства пользователей в магазинах, как показано на следующей диаграмме.
Сегодня разделенные файлы cookie позволяют Mercado Libre поддерживать идентификацию устройства, устанавливая отдельный файл cookie для каждого сайта верхнего уровня. Как показано на следующем изображении, этот подход сохраняет конфиденциальность, поскольку ограничивает обмен информацией между магазинами. Разделенные файлы cookie используются, когда сторонние файлы cookie недоступны. Это ограничивает обмен информацией между магазинами, что повышает конфиденциальность пользователей.
Раннее развитие
Во-первых, Mercado Libre отключила сторонние файлы cookie в Chrome и убедилась, что их файлы cookie не были успешно установлены на сайтах, где Mercado Libre выступал в качестве стороннего поставщика. Затем Mercado Libre обновил эти файлы cookie, чтобы их можно было разделить. Благодаря этому изменению они смогли подтвердить, что разделенные файлы cookie могут быть установлены в Chrome, даже если пользователь отключил сторонние файлы cookie. Затем Mercado Libre добавил заголовок Set-Cookie
и не обнаружил ошибок, следуя инструкциям по проектированию безопасности CHIPS .
Эффективность бизнеса
Mercado Libre уже начал использовать CHIPS для интеграции Mercado Pago и магазинов Mercado с пользовательскими доменами. Mercado Libre теперь хранит дополнительный разделенный файл cookie наряду со стандартным неразделенным файлом cookie на устройствах своих пользователей.
Внедрение CHIPS для Mercado Libre прошло легко.
Тестирование эффективности CHIPS на моделях мошенничества с машинным обучением
Mercado Libre планирует прекратить отправку стандартного сигнала неразделенных файлов cookie для контрольной группы, чтобы смоделировать сценарий, в котором сторонние файлы cookie блокируются, и вместо этого использовать разделенные файлы cookie (CHIPS). Первоначально эта контрольная группа будет включать в себя долю населения сайта, и Mercado Libre намерен постепенно увеличивать долю и количество сайтов по мере проверки эффективности.
Эффективность будет измеряться в соответствии с одобрением платежей контрольной группы по сравнению с предыдущим сопоставимым периодом.
Более ранние эксперименты
Mercado Libre провел аналогичный эксперимент с контрольной группой, чтобы проверить, могут ли они идентифицировать одни и те же устройства с помощью CHIPS вместо неразделенных файлов cookie и измерить возраст устройства (cookie).
Контрольная группа состояла из целевых торговцев из Аргентины и Бразилии; обе группы вели себя одинаково.
В заключение Mercado Libre смог подтвердить идентичность примерно 70% устройств, использующих CHIPS, а это означает, что оставшиеся 30% были либо новыми пользователями, либо случаями с неожиданным поведением.
Заключение по внедрению CHIPS
Mercado Libre стремится защищать конфиденциальность пользователей, даже если это представляет собой компромисс между конфиденциальностью и минимальным трением для пользователей. Внедрение CHIPS было простым и помогло минимизировать влияние этого компромисса на одном сайте. Mercado Libre все еще изучает другие решения Privacy Sandbox, такие как Private State Tokens , которые потенциально могут полностью устранить разрыв в опыте, тем самым сочетая лучшее из обоих миров: конфиденциальность и полезность.
Сопутствующие наборы веб-сайтов на Mercado Libre
Наборы связанных веб-сайтов (RWS) — это способ для компании объявить взаимосвязи между сайтами, чтобы браузеры разрешали ограниченный доступ к сторонним файлам cookie для определенных целей.
Использование наборов связанных веб-сайтов для поддержки аналитических возможностей.
Испытание
Когда новое устройство входит в один из доменов, принадлежащих и управляемых Mercado Libre (O&O), Meli использует файл cookie, чтобы понять активность устройства в различных доменах, таких как mercadolibre.com и mercadopago.com.
Решение
Чтобы разрешить ситуации, когда сторонние файлы cookie недоступны, Mercado Libre внедрила RWS для всех своих клиентских доменов, где использовались сторонние файлы cookie, соблюдая ограничение основного домена и пяти других связанных доменов в одном наборе.
Подробное техническое описание: поиск подходящих доменов для включения
В ходе расследования того, какие домены включать в набор, Mercado Libre обнаружила, что многие из их доменов содержат устаревшие файлы cookie, которые больше не используются. Эти домены были исключены из набора.
Команда веб-интерфейсной платформы отвечала за создание и управление соответствующими наборами веб-сайтов Mercado Libre. (Полный набор можно найти в репозитории «Связанный веб-сайт Set» на GitHub .)
{
"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"
],
...
}
},
После одобрения заявки потребовалось всего две недели, чтобы набор был запущен в производство.
Репликация сторонних файлов cookie в доменах O&O с помощью Storage Access API
Требования
Чтобы сервер мог устанавливать файлы cookie, он должен поддерживать CORS, а запросы должны иметь перекрестное происхождение и включать учетные данные:
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Origin', `${req.headers.origin}`);
Файлы cookie должны быть настроены с помощью:
-
Secure
-
SameSite=None
Если сторонние файлы cookie по умолчанию недоступны, клиент должен проверить, есть ли у него разрешение на доступ к неразделенным файлам cookie с помощью navigator.permissions.query()
, а затем запросить разрешения на доступ к хранилищу для каждого встроенного домена с помощью requestStorageAccessFor()
. Кроме того, взаимодействие пользователя с экраном (например, щелчок или действие клавиатуры) необходимо для того, чтобы пользовательский агент успешно запросил разрешение в первый раз.
Преодоление проблем RWS
Существующие процессы распространения файлов cookie, такие как пиксели изображений, и использование API доступа к хранилищу столкнулись с ограничениями из-за необходимости взаимодействия с пользователем. Так было в случае с постоянным входом пользователя в домены Mercado Libre, который нарушается, когда пользователи отказываются от сторонних файлов cookie.
Сопутствующие наборы веб-сайтов и технологии Privacy Sandbox не предназначены для однозначной замены сторонних файлов cookie и могут не поддерживать некоторые варианты использования:
Пиксели изображения
- Mercado Libre мог бы добавить атрибут
crossorigin="use-credentials"
. Однако зависимость от взаимодействия с пользователем (пользователи нажимают на ссылку) означает, что Mercado Libre не может гарантировать, что файл cookie будет установлен. Пиксели также отменяются, если есть навигация между экранами: когда Chrome обнаруживает навигацию, он отменяет все запросы ресурсов с текущей страницы, чтобы начать загрузку новой.
- Mercado Libre мог бы добавить атрибут
sendBeacon()
-
crossorigin
невозможно настроить, поэтому запросы не выполняются, а файлы cookie не отправляются.
-
Перенаправления с помощью
sendBeacon()
или пикселей изображения- Поскольку они зависят от взаимодействия с пользователем, невозможно установить файлы cookie посредством перенаправления на промежуточные экраны между различными доменами, выполняющими JavaScript.
Ограничение веб-представления
API разрешений недоступен в WebView. Это вынудило Mercado Libre реализовать логику, согласно которой API доступа к хранилищу запускается только там, где доступен API разрешений (везде, кроме WebView). Кроме того, requestStorageAccessFor()
в настоящее время не поддерживается Safari или Firefox.
Mercado Libre продолжает использовать обнаружение функций по мере необходимости, независимо от платформы.
Универсальное решение
Mercado Libre необходимо было использовать fetch()
и {keepalive: true, credentials: 'include'}
. Таким образом, они могли настроить CORS, включить учетные данные и гарантировать, что запрос будет выполнен в фоновом режиме без отмены браузером.
fetch(domain, {
keepalive: true,
credentials: 'include',
});
// or
fetch(domain, {
method: 'POST'
body: data,
keepalive: true,
credentials: 'include',
});
Полный пример:
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',
});
}
Тестирование в Chrome
Соответствующий набор веб-сайтов можно протестировать локально, установив флаг Chrome. Например, для демонстрации на сайте linked-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/
Заключение по внедрению RWS
Реализация RWS для крупных сайтов не является тривиальной . Mercado Libre требовались ресурсы только одного разработчика, но от начала до завершения процесса развертывания в 18 странах потребовалось около трех месяцев.
Рекомендация для тех, кто хочет внедрить RWS: начните заранее! Не откладывайте внедрение RWS. Mercado Libre пришлось изменить файлы cookie на стороне сервера и клиента, добавить новые заголовки, внести изменения в серверную часть и обновить JavaScript.
Заключительные замечания и следующие шаги
Успешная реализация API-интерфейсов Privacy Sandbox компанией Mercado Libre продемонстрировала их стремление адаптироваться к меняющемуся ландшафту конфиденциальности. Активно тестируя и устраняя использование сторонних файлов cookie, Mercado Libre поддерживает критически важные бизнес-функции, такие как аналитика и предотвращение мошенничества, одновременно повышая конфиденциальность пользователей и обеспечивая соответствие развивающимся правилам. Этот практический пример предоставляет ценную информацию для организаций, стремящихся перейти к будущему, в котором доступность сторонних файлов cookie не является чем-то само собой разумеющимся.