A API Shared Storage permite que os sites armazenem e acessem dados que não estão isolados pelo site de nível superior. Isso permite e facilita casos de uso entre sites, respeitando a privacidade do usuário.
Embora o Chrome tenha armazenamento particionado e esteja migrando para uma nova experiência que aumenta a escolha do usuário em cookies de terceiros, há vários casos de uso legítimos que dependem do armazenamento não particionado, o que não seria possível sem a ajuda de novas APIs da Web. Por exemplo, um produtor de conteúdo pode querer medir o alcance do conteúdo em diferentes sites, sem depender de identificadores em vários sites. A API Shared Storage atende a essa necessidade fornecendo um mecanismo mais reservado para armazenar e acessar dados não particionados entre sites.
O que é a API Shared Storage?
A API Shared Storage é uma instalação de armazenamento de uso geral projetada para permitir casos de uso entre sites que preservam a privacidade. Com recursos semelhantes às APIs localStorage e sessionStorage, o Shared Storage é um armazenamento de chave-valor em que os dados podem ser gravados a qualquer momento. Ao contrário de outras APIs do Web Storage, os dados do Shared Storage podem ser compartilhados entre diferentes sites de nível superior. No entanto, os dados do Shared Storage só podem ser lidos em um ambiente seguro e de saída usando APIs de saída restritas.
No diagrama anterior, o site shoes.example
pode ser incorporado a outros
sites de editores, como news.example
, e ainda acessar os mesmos dados.
Esse recurso de armazenamento compartilhado permite recursos entre sites, além de melhorar a privacidade do usuário, impedindo o rastreamento de visitantes individuais do site e restringindo o acesso aos dados. Os dados só podem ser acessados em um ambiente seguro com recursos de saída limitados (worklets).
A Shared Storage é a infraestrutura de armazenamento subjacente para um número limitado de APIs de saída. Uma API de saída é a única maneira de usar dados do Shared Storage. As APIs de saída são:
- Selecionar URL: selecione um URL de uma lista fornecida com base nos dados armazenados e renderize esse conteúdo em um frame fechado.
- Agregação particular: envie dados entre sites pela API Private Aggregation para gerar um relatório de resumo.
Por que precisamos do armazenamento compartilhado?
A API Shared Storage é um mecanismo de armazenamento flexível que os desenvolvedores da Web podem usar em combinação com as APIs de saída para resolver muitos casos de uso, incluindo a substituição de vários usos existentes de cookies de terceiros. Confira mais detalhes sobre possíveis casos de uso das APIs de saída: Select URL e Private Aggregation.
Sua empresa está procurando soluções de armazenamento entre sites que ainda não foram abordadas? Você pode compartilhar seu caso de uso e criar um problema no repositório de código aberto Shared Storage GitHub.
APIs de saída e casos de uso compatíveis com o armazenamento compartilhado
API Output | Caso de uso | Descrição |
---|---|---|
Selecionar URL | Alternar criativos de anúncios | É possível armazenar dados, como ID do criativo, contagens de visualizações e interação do usuário, para determinar quais criativos os usuários veem em diferentes sites. Isso permite equilibrar as visualizações e evitar a saturação de determinados conteúdos, evitando uma possível experiência negativa do usuário. |
Selecionar URL | Executar testes A/B | Um teste A/B compara duas ou mais versões de uma configuração para determinar qual delas tem melhor desempenho. É possível atribuir um usuário a um grupo de experimentos e armazená-lo no armazenamento compartilhado para acesso entre sites. |
Selecionar URL | Personalizar a experiência do usuário para clientes conhecidos | Você pode compartilhar conteúdo personalizado e calls-to-action com base no status de registro ou em outros estados do usuário. |
Selecionar URL, Agregação privada | Mitigações contra abuso | As organizações de segurança da Web e antifraude geralmente usam técnicas exclusivas para detectar usuários maliciosos, sejam bots automatizados ou pessoas reais tentando causar danos. É possível testar várias estratégias diferentes neste caso de uso, seja usando a API Select URL para codificar uma classificação de confiabilidade do usuário ou usando a API Private Aggregation para criar conjuntos de dados para a detecção de anomalias. |
Agregação particular | Medir o alcance único | Muitos produtores de conteúdo e anunciantes querem saber quantas pessoas únicas visualizaram o conteúdo exibido. Você pode usar o armazenamento compartilhado para informar a primeira vez que um usuário visualiza seu anúncio, vídeo incorporado ou publicação. Você pode evitar a contagem duplicada desse mesmo usuário em um site diferente e gerar um relatório agregado com ruídos para o alcance aproximado do conteúdo único. |
Agregação particular | Medir as informações demográficas dos usuários | Os produtores de conteúdo querem entender as informações demográficas do público. Com o armazenamento compartilhado, você captura dados demográficos do usuário no seu site próprio e aproveita os relatórios agregados para analisar essas informações em várias outras plataformas, como conteúdo incorporado. |
Agregação particular | Medir o alcance de frequência K+ | Às vezes, é descrita como "frequência efetiva", e geralmente há um número mínimo de visualizações antes que um usuário reconheça ou se lembre de determinado conteúdo (geralmente no contexto de visualizações de anúncios). Você pode usar o armazenamento compartilhado para criar relatórios de usuários únicos que visualizaram um conteúdo pelo menos K vezes. |
Como funciona o armazenamento compartilhado?
O Shared Storage permite que você tome decisões com base em dados entre sites, sem compartilhar informações do usuário (como histórico de navegação ou outros detalhes pessoais) com um site de incorporação ou exfiltrar dados para seus próprios servidores.
É possível gravar no armazenamento compartilhado a qualquer momento, mas só é possível ler os valores do armazenamento compartilhado em um ambiente seguro, conhecido como worklet.
Os worklets de armazenamento compartilhado são onde você adiciona sua lógica de negócios e, em seguida, lê e processa um valor do armazenamento compartilhado sem retornar diretamente o valor exato para o autor da chamada do worklet. É possível usar as APIs Private Aggregation ou Select URL Output para extrair informações do worklet. Outras APIs de saída podem ficar disponíveis à medida que novos casos de uso forem informados.
Status da API
A API Shared Storage está em disponibilidade geral. Siga as instruções para se inscrever no Sandbox de privacidade, usar a API ou ativar o desenvolvimento local.
Proposta | Status |
---|---|
Permitir a gravação de cabeçalhos de resposta Explicação Problema do GitHub |
Disponível em M124. Pode ser ativado manualmente em M119-M123 |
Como depurar worklets de armazenamento compartilhado com o DevTools Seção |
Disponível na versão M120 |
Atualização do limite de armazenamento de dados do armazenamento compartilhado para 5 MB Explicação |
Disponível em M124 |
createWorklet() para criar worklets entre origens sem um iframe |
Disponível na M125 |
Permitir script entre origens em addModule() e alinhar createWorklet() para corresponder ao comportamento |
Disponível na M130 |
Engajamento e compartilhamento de feedback
A proposta da API Shared Storage está em discussão e desenvolvimento e, portanto, está sujeita a mudanças.
Queremos saber sua opinião sobre a API Shared Storage.
- Proposta: analise a proposta detalhada.
- Discussão: participe da discussão em andamento para fazer perguntas e compartilhar seus insights.
Fique por dentro
- Lista de e-mails: inscreva-se na nossa lista de e-mails para receber as atualizações e os anúncios mais recentes relacionados à API Shared Storage.
Precisa de ajuda?
- Suporte para desenvolvedores: entre em contato com outros desenvolvedores e receba respostas para suas perguntas no repositório de suporte para desenvolvedores do Sandbox de privacidade.