1. O que o jogo utiliza hoje
O jogo guarda progresso e preferências no armazenamento local do navegador. O Firebase mantém informações necessárias à autenticação conforme seu SDK e a persistência do navegador. Apagar dados do site pode encerrar sessões e apagar o progresso local.
| Item identificado | Tecnologia | Conteúdo/finalidade | Duração no código |
|---|---|---|---|
treta-paulista-perfil | localStorage | Apelido, visual do personagem, saldo fictício e roupas | Sem expiração automática |
treta-paulista-vergonha | localStorage | Placar acumulado dos times | Sem expiração automática |
treta-paulista-bandeiras | localStorage | Placar de bandeiras | Sem expiração automática |
sundown-showdown-settings | localStorage | Preferências de som, gráficos, dificuldade e iluminação | Sem expiração automática |
treta-ctrl | localStorage | Indica que a apresentação dos controles já foi vista | Sem expiração automática |
treta-visita | sessionStorage | Evita repetir a contagem de visita do painel global na mesma sessão da aba | Até encerrar a sessão da aba, conforme o navegador |
_ga, _ga_5GXN2G1K7C | Cookies opcionais do Google Analytics | Identificadores do navegador/sessão para relatórios de visitas, somente após aceite | Configuração do site: até 180 dias, sem renovar a validade a cada visita; pode ser menor conforme o navegador |
treta-privacy-v1 | localStorage | Versão e escopo do aviso, permissão de audiência, data da escolha e validade | Escolha válida por até 180 dias; vencida, volta a pedir escolha |
treta-live-presence | localStorage opcional | Identificador aleatório de curta duração para não contar repetidamente abas do mesmo navegador | Validade lógica renovada por 90 segundos; remoção ao revogar. Um registro vencido pode permanecer fisicamente no navegador até nova visita ou limpeza |
| Firebase App Check | Cache gerido pelo SDK em IndexedDB e tokens de validação | Proteção das chamadas aos serviços Firebase | Token válido por uma hora, com renovação automática; remoção física depende do navegador |
| Google reCAPTCHA Enterprise | Processamento de sinais técnicos e mecanismos do Google | Avaliação de risco e prevenção de abuso | Conforme o serviço; inventário de cookies do fornecedor ainda em revisão |
| Persistência de autenticação Firebase | Armazenamento gerido pelo SDK, que pode usar IndexedDB e mecanismos de fallback | Manutenção e recuperação da sessão da conta | Depende da persistência configurada e dos tokens; confirmar no navegador |
O Google Analytics está configurado no fluxo G-5GXN2G1K7C e só carrega com permissão atual de medição. Meta Pixel e AdSense não estão ativos. A versão integrada possui contadores operacionais do jogo no painel LED do MASP: visitas por sessão de aba, vergonha e bandeiras por time. Não representam visitantes únicos nem relatórios GA4; o inventário e o enquadramento desses contadores também precisam de revisão. O gerenciador de preferências está implementado nesta branch. Ele pode remover cookies conhecidos de Analytics (_ga, _ga_*, _gid, _gat*) ao interromper a medição; não cria esses cookies por conta própria. Isso não significa ausência de dados técnicos, armazenamento ou operações dos fornecedores. O measurementId do Firebase não ativa medição: existe uma configuração separada para a tag fornecida pelo responsável, condicionada ao consentimento.
As fontes do jogo, do admin e dos documentos são servidas pelo próprio site. O jogo e o admin continuam carregando bibliotecas e serviços do Firebase/Google para as funcionalidades existentes. Essas requisições são distintas da medição opcional; a auditoria no navegador deve identificar dados efetivamente transmitidos pelos fornecedores. As imagens e os vídeos dos outdoors são arquivos servidos pelo Firebase Storage, sem players do YouTube ou Vimeo.
App Check e reCAPTCHA Enterprise são usados para segurança, independentemente da escolha de audiência. Recusar métricas não desliga essa proteção. Isso não habilita Google Analytics nem publicidade personalizada. Consulte a privacidade e os termos do Google. A revisão jurídica desse desenho e do inventário do fornecedor continua pendente.
2. Medição de audiência pretendida
Contagem de presença implementada: com permissão de medição, o jogo envia um sinal de presença ao Firebase a cada 30 segundos enquanto a página está visível e há conexão. O servidor conta os identificadores ativos nos últimos 90 segundos; o admin recebe somente o total e o horário da consulta, atualizado a cada 15 segundos. É uma estimativa de navegadores, não identificação de pessoas únicas ou medição de quem recusou. Abas compartilham o identificador quando o navegador permite armazenamento; sem esse armazenamento, cada aba pode ser contada separadamente. Admin e páginas institucionais não enviam presença.
O registro de audiência no Firestore guarda somente o hash do identificador aleatório e o instante de expiração, sem conta, apelido, time político, dispositivo, localização, páginas percorridas ou histórico de partida. O identificador em trânsito é necessário para renovar ou retirar esse registro. A infraestrutura Firebase pode receber tokens de autenticação do SDK e dados técnicos da conexão; esses dados não são associados ao registro de audiência pelo código. Há um limite de chamadas separado por hash diário do IP, usado para segurança, com janela de um minuto e validade lógica de cinco minutos. Hash não é promessa de anonimização irreversível.
Recusar impede criar o identificador e enviar sinais. Revogar interrompe os sinais, remove o identificador local e solicita a retirada do registro atual; falha de rede pode fazer o total demorar até 90 segundos para refletir a saída. Ocultar/fechar a página ou perder conexão também faz a presença expirar sem depender de uma chamada final. Documentos vencidos são excluídos fisicamente de forma assíncrona pela política TTL do Firestore; o atraso de remoção não os mantém na contagem. A revisão dos textos, dos cookies e dos cuidados etários permanece pendente. Essa contagem não ativa Google Analytics.
O responsável solicitou a integração da tag Google Analytics G-5GXN2G1K7C. Depois do aceite, o site envia uma visualização por carregamento de página pública, com caminho conhecido, título fixo e sem query, fragmento ou referenciador. O admin fica excluído. A medição otimizada foi desativada no fluxo pelo responsável e a configuração pública consultada deixou de incluir esses eventos automáticos. O código não envia conta, apelido, time político, CPF, dados de pagamento ou valores de formulários; desabilita dados fornecidos pelo usuário, Google Signals e personalização de anúncios. O Google Analytics usa identificadores de cookies e processa informações técnicas do navegador/conexão para os relatórios; isso não deve ser apresentado como ausência de dados pessoais. A retenção de relatórios e outras opções administrativas da propriedade ainda precisam de revisão.
Não incluir em eventos de audiência e-mails, CPF/CNPJ, senhas, tokens, URLs privadas de vídeo, identificadores de pagamento ou escolha de time associável a pessoa. Não enviar URLs completas com parâmetros do jogo ou identificadores de conta. Evitar impressão digital do dispositivo, reconhecimento entre sites e integrações de publicidade comportamental.
A existência de adolescentes no público exige avaliar o desenho antes da ativação. Consentimento, se utilizado, não autoriza práticas proibidas ou incompatíveis com a proteção desse público.
3. Como funcionam as escolhas nesta versão
O painel oferece aceitar, recusar e configurar com o mesmo destaque. A medição começa bloqueada. Recusar não impede jogar. O botão permanente “Cookies e privacidade” permite rever a escolha no jogo e nas páginas de documentos; o admin também permite consultar as preferências, mas nunca inicia medição de audiência.
A escolha fica separada do aceite dos termos e vale por até 180 dias neste navegador. Mudanças de escolha são aplicadas também às outras abas abertas. Escolhas inválidas, vencidas ou referentes a outra revisão ou configuração de medição voltam ao estado bloqueado. Se o navegador impedir salvar, a escolha vale só naquela página e um aviso explica essa limitação.
A medição só começa com aceite atual. A integração do Google Analytics usa uma nova revisão do aviso e pede nova escolha, sem reutilizar automaticamente o aceite anterior de presença. Antes de aceitar ou após recusar, a tag não é carregada e não são enviados pings de Analytics sem cookies. É possível continuar jogando normalmente.
Se uma medição configurada estiver ativa e a permissão for retirada, o controle desabilita a coleta, remove cookies de Analytics acessíveis ao site e recarrega a página para encerrar os scripts do provedor. Isso não elimina dados já enviados. A limpeza não remove o progresso nem a sessão da conta.
A sessão solicitada e o registro desta escolha são apresentados separadamente do progresso e das configurações do jogo. Estes últimos continuam sendo salvos pelo jogo e não possuem chave para desativação no painel de cookies. Apagá-los exige remover os dados do site no navegador. A revisão jurídica dessa classificação e do desenho dos controles permanece pendente; o painel não trata todo armazenamento local como cookie de audiência ou como estritamente necessário.
4. Limpeza e controles do navegador
É possível remover dados deste site nas configurações do navegador. Isso pode apagar perfil e placares locais e encerrar a sessão, mas não exclui a conta nem pedidos armazenados no Firebase ou no Asaas. Solicitações de exclusão desses dados devem seguir o canal de privacidade.
5. Antes da ativação de métricas
Confirmar fornecedor, finalidade, base legal e proteção etária; auditar armazenamento e tráfego do fornecedor real; documentar nomes efetivos, campos e prazos; validar recusa e revogação com a configuração real; atualizar e revisar este aviso. O painel e o bloqueio técnico foram implementados; essas decisões e a ativação de métricas continuam pendentes.