Cookies com estado particionado independente (CHIPS, na sigla em inglês) em teste de origem

A partir do Chrome 100, o teste de origem do CHIPS permite ativar cookies no armazenamento "particionado", com um jar de cookies separado por site de nível superior.

Mudou

O que são CHIPS?

Cookies com estado particionado independente (CHIPS) é uma proposta do Sandbox de privacidade que permite aos desenvolvedores ativar um cookie no armazenamento "particionado", com jars 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, que permite aos provedores de conteúdo incorporado testar um novo recurso em vários sites.

Se um site se inscrever no teste como primário, o particionamento de cookies também vai estar disponível para todos os provedores de conteúdo terceirizados. 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.

Passos

  1. 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.

  2. Inclua o cabeçalho Origin-Trial com um token válido em todas as respostas com um cabeçalho Set-Cookie que inclua Partitioned:

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. 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

  1. Acesse chrome://flags/#partitioned-cookies e mude a configuração para "Ativado".
  2. Para reiniciar o Chromium, clique no botão "Reiniciar" no canto inferior direito ou acesse chrome://restart.
  3. Acesse chrome://settings/cookies e verifique se o botão de opção está definido como "Permitir todos os cookies" ou "Bloquear cookies de terceiros na navegação anônima".
  4. Carregue o site com a incorporação.
  5. Abra o "Open DevTools" em Application > 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 com Partitioned.

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