A partir do Chrome 100, o teste de origem do CHIPS permite ativar cookies em "particionamento". armazenamento, com um cookie jar separado por site de nível superior.
Mudanças
- Setembro de 2022: confira as informações atualizadas sobre como estender o teste de origem até o Chrome 106.
- Agosto de 2022: o requisito
path=/
foi removido (consulte github.com/privacycg/CHIPS/pull/49). - Junho de 2022: a partir do Chrome 104, não será mais necessário omitir o atributo
Domain
para definir cookies com o atributoPartitioned
. - Maio de 2022: a partir do Chrome 103, não será mais necessário enviar o cabeçalho
Accept-CH: Sec-CH-Partitioned-Cookies
para ativar o teste de origem.
O que são CHIPS?
Cookies com estado particionado independente (CHIPS) é uma proposta do Sandbox de privacidade que permite aos desenvolvedores ativar um cookie em "particionado". armazenamento, com potes de cookie separados por site de nível superior.
Um cookie de terceiros particionado é vinculado ao site de nível superior onde está inicialmente definido e não pode ser acessado de outro lugar. O objetivo é permitir que cookies sejam definidos por um serviço de terceiros, mas lidos apenas no contexto do site de nível superior em que foram inicialmente definidos.
Para quem é o teste de origem?
Esse teste está disponível como um teste de origem de terceiros. Com ele, os provedores de conteúdo incorporado podem testar um novo recurso em vários sites.
Se um site se inscrever no teste como primário, o particionamento de cookie também vai estar disponível para todos os provedores de conteúdo de terceiros dele. Esses provedores terceirizados também devem receber cabeçalhos HTTP extras, indicando a inscrição no teste de origem.
Por quanto tempo o teste vai durar?
O teste estará disponível do Chrome 100 ao Chrome 105. Consulte a programação de lançamentos do Chrome para saber as datas previstas.
Como se inscrever no teste de origem
Pré-requisitos
Chrome Stable 103.
Etapas
Para se registrar no teste de origem e receber um token para seus domínios, acesse a página de teste de origem do CHIPS.
Inclua o cabeçalho
Origin-Trial
com um token válido em todas as respostas com um cabeçalhoSet-Cookie
que incluaPartitioned
:Origin-Trial: <ORIGIN TRIAL TOKEN>
Adicione o atributo
Partitioned
aos cookies de duas maneiras:No cabeçalho
Set-Cookie
:Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
Em JavaScript:
cookieStore.set({ name: '__Host-name', value: 'value', secure: true, path: '/', sameSite: 'none', // Set a partitioned cookie using the attribute below. partitioned: true, });
Exemplo
Os sites que participam do teste de origem precisam incluir os seguintes cabeçalhos na resposta:
Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
Verifique se está funcionando
Inspecione os cabeçalhos
Se você tiver ativado o teste de origem e definido um cookie particionado, as solicitações subsequentes do cliente do Chrome vão incluir o cabeçalho de solicitação Sec-CH-Partitioned-Cookies: ?0
até que a sessão atual seja encerrada.
Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value
Se o site receber o cookie sem essa dica do cliente, isso significa que não foi possível ativar o teste de origem, e o cookie que você está recebendo não é particionado.
As respostas que não incluem um cabeçalho Set-Cookie
com Partitioned
não afetam o status de participação no teste de origem de um site.
Se você não responder com um token válido no cabeçalho Origin-Trial
, os cookies particionados na máquina vão ser convertidos em não particionados.
Para mais detalhes, consulte a documentação de CHIPS em chromium.org.
DevTools
- Acesse
chrome://flags/#partitioned-cookies
e mude a configuração para "Ativado". - Reinicie o Chromium clicando no botão "Reiniciar" no canto inferior direito ou acessando chrome://restart.
- Acesse
chrome://settings/cookies
e verifique se o botão de opção está definido como "Permitir todos os cookies" "Bloquear cookies de terceiros na navegação anônima". - Carregue o site com a incorporação.
- Abra o DevTools para Aplicativo > Cookies > yourSite e procure a coluna Partition Key no DevTools.
Mais detalhes
Requisitos de cookies
- Os cookies particionados precisam ser definidos com
Secure
. (Path=/
não é mais necessário: consulte github.com/privacycg/CHIPS/pull/49). - O atributo
SameParty
não pode ser usado comPartitioned.
O Chrome aplicará essas regras aos cookies definidos com o atributo Partitioned
, esteja o particionamento de cookies ativado ou desativado. Cookies definidos incorretamente serão rejeitados.
Se o particionamento de cookies estiver desativado, mas o cookie estiver definido com os atributos corretos, o Chrome ignorará o atributo Partitioned
, e o cookie resultante ainda será enviado em solicitações para o host em sites de nível superior diferentes daquele em que foi definido.
Os cookies particionados também precisam incluir o atributo SameSite=None
para permitir que eles sejam enviados em um contexto de terceiros em navegadores que não são compatíveis com o particionamento de cookies.
JavaScript e service workers
Os frames que aceitarem o teste de origem terão acesso à leitura e gravação de cookies particionados usando APIs JavaScript, como document.cookie
e a API CookieStore. Os frames que não estiverem nos scripts do teste não poderão ler nem gravar cookies particionados.
O teste de origem dos CHIPS não é compatível com service workers.
Interaja e compartilhe feedback
- Aborde os problemas e acompanhe a discussão no GitHub (link em inglês).
- Faça perguntas e participe de discussões no repositório de suporte ao desenvolvedor do Sandbox de privacidade.
- Conheça diferentes caminhos para enviar feedback sobre propostas do Sandbox de privacidade.