Os cookies de terceiros têm muitos usos, mas também são um facilitador importante do rastreamento entre sites.
O Chrome está propondo uma nova experiência de escolha do usuário com cookies de terceiros. Você precisa preparar seu site para usuários que optam por navegar sem cookies de terceiros.
Nesta página, você encontra informações sobre soluções que preservam a privacidade para cenários incorporados que tradicionalmente dependiam de cookies de terceiros e estratégias para ajudar a escolher a solução que melhor se adapta às suas necessidades.
Os serviços incorporados, ou incorporações, incluem conteúdo de terceiros (como vídeos, mapas), componentes interativos (como chat, sistemas de comentários ou serviços de pagamento), serviços de login e muito mais.
A maior parte do trabalho de transição dos cookies de terceiros precisa ser feito pelos desenvolvedores de incorporação, e não pelos sites que hospedam as incorporação. Este guia vai discutir principalmente soluções para desenvolvedores que criam serviços incorporados.
Se o seu site usa uma incorporação que usa cookies de terceiros, audite e teste as jornadas relacionadas a ela e entre em contato com os provedores de incorporação se descobrir algum problema.
Auditar e testar as jornadas dos usuários relacionadas à incorporação
A melhor maneira de determinar se as in-line estão sendo afetadas por cookies de terceiros é testar os fluxos de usuários com a flag de teste de cookies de terceiros ativada.
Depois de restringir os cookies de terceiros, teste estes cenários de incorporação comuns:
- Widgets de chat:você consegue iniciar uma sessão de chat? Você consegue atualizar a página sem perder a sessão? Você consegue navegar para outras páginas e manter sua sessão?
- Incorporações de conteúdo:você consegue assistir vídeos ou outros conteúdos incorporados? As preferências do usuário, como idioma ou legendas, são mantidas? Você está vendo anúncios quando esperado, por exemplo, não os vendo como assinante premium?
- Login:os logins, incluindo os de logon único (SSO), funcionam nas incorporações que os aceitam? Eles são mantidos após a atualização da página e a navegação para páginas que usam as mesmas incorporações?
- Widgets de comentários:você consegue deixar comentários, marcar com "Gostei" e dar votos positivos?
- Soluções de pagamento integradas:você consegue concluir pagamentos?
Nas próximas seções, você vai encontrar informações mais específicas sobre como esses fluxos podem ser afetados.
Casos de uso comuns
Há várias APIs que podem ser usadas para incorporações que tradicionalmente dependiam de cookies de terceiros. A tabela a seguir lista alguns fluxos de trabalho comuns e as APIs recomendadas para uso como um resumo de alto nível. As seções a seguir explicam o raciocínio por trás dessas recomendações.
Caso de uso | API recomendada para o uso de cookies de terceiros |
---|---|
Widget de chat | CHIPS |
Incorporações de mapa | CHIPS |
Domínios de sandbox para conteúdo de usuário não confiável (como googleusercontent.com e githubusercontent.com) que precisam de escopo de estado por editor |
CHIPS |
Anúncios incorporados que precisam de um escopo de estado por editor | CHIPS |
Fazer login usando um provedor de identidade | FedCM |
Embed hospedado em origens diferentes, mas relacionadas. | API Storage Access com conjuntos de sites relacionados |
Incorporações de conteúdo com preferências baseadas em login (como conteúdo de vídeo sem anúncios ou preferências de idioma/legenda) |
API Storage Access |
Widget de comentários de mídias sociais que exige login | API Storage Access |
Como escolher a API para usar em casos de uso de terceiros incorporados
Esta seção explica como escolher uma API alternativa adequada e explica as APIs recomendadas.
O fluxograma a seguir ajuda a escolher entre as opções disponíveis:
O diagrama de fluxo faz três perguntas principais, que vamos analisar em mais detalhes e por que uma determinada API é recomendada em cada caso.
1. Os cookies são específicos do site de incorporação?
Muitas incorporações de terceiros são usadas de forma independente em sites completamente não relacionados. Por exemplo, os widgets de chat para suporte ao cliente geralmente exigem cookies para funcionar, mas não precisam compartilhar esses cookies entre duas organizações completamente diferentes que usam a mesma solução de widget de chat. Na verdade, a preferência seria nem permitir o compartilhamento de cookies em muitos desses casos.
Se você oferece um serviço de incorporação de terceiros para outros sites e ele depende de cookies, considere se esses cookies são específicos para o serviço no site em que ele está incorporado. Elas são compartilhadas por instâncias da sua incorporação em outros sites?
Se os cookies não precisarem ser compartilhados, a opção mais fácil é particionar cookies usando CHIPS. Essa API vincula cookies de terceiros ao site de nível superior, em vez de permitir que eles sejam compartilhados por todos os sites que usam a mesma incorporação de terceiros. A CHIPS é fácil de implementar, porque requer apenas a adição de um atributo Partitioned
extra aos cookies existentes. Isso permite que os serviços incorporados ainda salvem o estado, mas remove o armazenamento compartilhado entre sites que permitiria o rastreamento entre sites.
Os sites também precisam verificar se os cookies estão sendo usados pelos motivos certos. Os cookies só devem ser usados quando forem definidos ou precisarem ser enviados com solicitações HTTP. Se esse não for o caso e os cookies forem usados apenas como uma opção de armazenamento conveniente, considere as várias APIs de armazenamento. Isso mantém os dados locais quando não é necessário enviá-los. As APIs de armazenamento já estão particionadas em todos os principais navegadores, de maneira semelhante à forma como o CHIPS particiona cookies.
2. Os cookies são de um provedor de identidade de terceiros?
Um uso comum de cookies de terceiros em incorporações é fornecer recursos de login gerenciados por um provedor de terceiros, como o Fazer login com o Google. Nesse caso, os cookies particionados não são uma opção.
A Federated Credential Management (FedCM) é uma API dedicada especificamente para esse caso de uso e funciona sem cookies de terceiros. Se o FedCM tiver suporte do provedor de identidade, isso poderá eliminar a necessidade de cookies de terceiros.
Leia mais sobre como lidar com os efeitos dos cookies de terceiros nos fluxos de trabalho de login no guia de identidade.
3. Os cookies são usados em um pequeno número de sites relacionados?
Se nenhuma das opções anteriores for uma substituição adequada para os cookies, será necessário reativar o acesso a cookies de terceiros para a incorporação. Isso pode ser ativado em casos de uso específicos e controlados com a API Storage Access. Essa API reativa o acesso total a cookies de terceiros (sujeito a controles), então é a opção mais poderosa. Por isso, recomendamos que você evite esse recurso se uma alternativa mais restritiva for suficiente.
Há alguns requisitos para usar a API Storage Access:
- O usuário precisa ter visitado o site da incorporação em um nível superior. Por exemplo, se você incorporar um sistema de comentários, o usuário também precisará visitar o site desse sistema.
- O usuário precisa interagir com a incorporação antes que os cookies possam ser compartilhados. Isso significa que talvez não seja possível carregar o conteúdo incorporado completo antes da interação do usuário.
- O usuário pode precisar aprovar o compartilhamento de cookies com um pop-up do navegador, principalmente na primeira instância e periodicamente depois disso.
- O site de incorporação também pode precisar definir atributos de sandbox adicionais.
Essas restrições garantem que a ação poderosa de reativar cookies de terceiros seja feita apenas quando o usuário e o site esperam isso. No entanto, em alguns cenários, as ações do usuário podem ser puladas. Por exemplo, se o usuário tiver aprovado o acesso recentemente, talvez não seja necessário pedir novamente por um período (conforme definido pelo navegador).
Outro cenário em que isso provavelmente é esperado pelo usuário é para sites relacionados. Por exemplo, algumas organizações usam várias origens diferentes, que são consideradas como cross-site pelo navegador. Por isso, o uso de cookies nelas é tratado como de terceiros. Exemplos incluem marcas com sites específicos para cada país (como example.com e example.co.uk) ou sites específicos da marca (como example.car e example.house).
Nesse caso, quando há um pequeno número de sites relacionados, é possível usar conjuntos de sites relacionados. Os sites são enviados ao Chrome para que ele saiba que eles estão relacionados. Isso permite o acesso à API Storage Access de uma maneira mais fácil de usar, com menos solicitações ao usuário.
Para sites não relacionados que são de terceiros e em que o acesso total a cookies de terceiros é necessário porque as APIs alternativas não são suficientes, o uso da API Storage Access estará sujeito a requisitos e solicitações completos.
Comparação das várias APIs
Cada uma das soluções tem características e limitações ligeiramente diferentes, o que as torna a melhor escolha para determinados casos de uso. A tabela a seguir resume as principais diferenças:
CHIPS | Armazenamento particionado | FedCM | API Storage Access com conjuntos de sites relacionados | API Storage Access | |
---|---|---|---|---|---|
O usuário não precisa ter acessado anteriormente a parte incorporada como um site de nível superior | |||||
Não exige que o usuário aprove o acesso | |||||
Não exige que o usuário interaja com a incorporação | Também pode ser verdadeiro para sites incorporados com acesso de nível superior. |
||||
Esforço de implementação | Muito baixo | Baixo | Alta | Médio | Médio |
Pode ser usado para compartilhar cookies em vários sites/origens de nível superior | (Proposta em discussão.) |
||||
Disponível em navegadores que não são Chromium | (Retorna à API Storage Access.) |
Suporte a casos de uso em vários navegadores
A compatibilidade com navegadores é um dos principais fatores na hora de decidir sobre uma solução, como mencionado na última linha da tabela. Algumas das APIs (CHIPS, FedCM, Related WebSite Sets) estão disponíveis apenas nos navegadores Chromium. No momento, as únicas soluções que funcionam em vários navegadores são as APIs de armazenamento particionado (quando os cookies não são necessários) ou a API Storage Access (quando os cookies são necessários).
No entanto, como observado anteriormente, a API Storage Access tem várias restrições que podem afetar a experiência do usuário no seu site. A equipe do Chrome trabalhou na adição das outras APIs, que foram projetadas para atender a casos de uso específicos e oferecer uma experiência semelhante à possível com cookies de terceiros. Portanto, é recomendável considerar quais são as melhores opções e tratá-las como melhorias progressivas, com uma alternativa para a API Storage Access para navegadores que não oferecem suporte.
Como os cookies podem ser bloqueados por vários motivos (por exemplo, configurações do navegador, extensões), a detecção de recursos do suporte à API pode não ser suficiente. Em vez disso, é melhor testar se os cookies esperados existem e, se não, usar o fluxo de trabalho da API Storage Access para solicitar acesso a cookies de terceiros.
Tome providências agora.
Se a incorporação de terceiros não funcionar mais sem o uso de cookies de terceiros, várias soluções estarão disponíveis para lidar com o possível impacto, conforme detalhado nesta palestra. Agora é o momento de auditar seu serviço quanto a cookies de terceiros.
Para quem está enfrentando problemas com as incorporações agora, enquanto o Chrome testa a remoção de cookies de terceiros, há várias opções de curto prazo para ajudar na migração para as alternativas descritas nesta postagem. Consulte a documentação sobre como preservar experiências importantes do usuário para mais informações.
Se você tiver dúvidas sobre casos de uso de incorporação de terceiros não abordados neste guia, informe um novo problema usando a tag "descontinuação de cookies de terceiros" no repositório de suporte a desenvolvedores.