Consent preflight: verifique antes de publicar
Por que (ensine desta forma): vibe coding torna fácil enviar um aplicativo em uma tarde, e igualmente fácil enviar um processo judicial. A armadilha comum é um pixel de rastreamento (Meta, Google, TikTok) que é ativado no momento em que a página abre. Na Califórnia, rastrear antes do consentimento pode ser tratado como interceptação telefônica, com multas de até US$ 5.000 por violação. Um banner de cookies não protege você se o pixel for disparado antes de alguém clicar nele. Ter um banner e esperar pela permissão são duas coisas completamente diferentes. A correção é uma instrução para seu construtor de IA, além de verificar se funcionou.
O único prompt a lembrar: "Certifique-se de que nenhum pixel de rastreamento, analytics ou scripts de terceiros carregue até que o usuário clique em Aceitar no meu banner de cookies."
Isso não é aconselhamento jurídico. Esta skill detecta os erros comuns e caros; não certifica nada.
As 10 verificações
Execute-as na URL de preview ou ao vivo em uma aba limpa, sem cookies (navegador integrado do Claude: armazenamento limpo, depois read_network_requests antes de qualquer clique), além da varredura de código se o código estiver disponível:
python3 ~/.claude/skills/consent-audit/scripts/scan_trackers.py <app-dir>
| # | Verificação | Passa |
|---|---|---|
| 1 | Visita nova, sem clique: alguma requisição para domínio de anúncio/analytics/replay (facebook, google-analytics, googletagmanager, tiktok, licdn, hotjar, clarity, posthog, segment, heycatch…)? | Nenhuma |
| 2 | Cookies antes do clique: _ga, _fbp, _gcl_au, _ttp, _hj*, ph_*? | Nenhum |
| 3 | Complementos de hospedagem desligados ou com controle: Lovable Visitor analytics, Vercel/Netlify/Cloudflare analytics, campos de pixel do construtor de sites | Desligados ou com controle |
| 4 | Rejeitar funciona: clique em Rejeitar, navegue por 2 páginas, nada opcional é disparado | Sim |
| 5 | Banner é justo: Aceitar e Rejeitar igualmente proeminentes; alternâncias desmarcadas. Se não houver rastreadores opcionais, não há banner (nenhum necessário) | Sim |
| 6 | Caminho de volta: link no rodapé "Escolhas de privacidade" para alterar ou retirar consentimento | Sim (se o banner existir) |
| 7 | Nenhuma identidade para rastreadores: faça login com uma conta de teste; nenhum email ou ID de usuário em requisições de rastreadores | Nenhum enviado |
| 8 | Nenhum segredo em URLs enviadas: nenhum ?code=, ?token=, ?email= ou texto de busca em requisições de rastreadores | Nenhum |
| 9 | Aviso de privacidade: página pública, link no rodapé e no cadastro, nomeia os fornecedores reais e contato real | Sim |
| 10 | Escopo da publicação: você conhece todas as alterações não publicadas que esta publicação vai liberar | Listadas e aprovadas |
Resultado
PREFLIGHT: <app> - <PASSOU / CORRIJA PRIMEIRO> (<data>)
1 ✅/❌ ... 10 ✅/❌ (uma linha de evidência cada: domínios vistos, cookies encontrados ou "nenhum")
Corrija primeiro: <as verificações com falha, em ordem de risco: 1, 7, 2, 3 primeiro>
- Tudo passa: publique e depois execute novamente as verificações 1, 2 e 4 na URL ao vivo. A hospedagem pode adicionar scripts que o preview não tinha.
- Qualquer uma de 1-4 ou 7-8 falha: não publique. Execute
consent-auditpara o inventário completo, depoisconsent-gate(ou remova o rastreador). - Apenas 5, 6 ou 9 falham: corrija com a seção de banner/aviso do
consent-gatee depois publique.
Notas de ensino (para estudantes)
- Mostre, não diga: abra o site deles em uma aba limpa com DevTools → Network, filtre por "facebook" ou "google", recarregue e deixe-os observar o pixel disparar antes de tocarem no banner. Esse momento faz a lição ficar.
- Menos rastreadores é a vitória fácil. Se eles ainda não estão rodando anúncios, ainda não precisam de um pixel. Sem rastreador significa sem banner e sem risco.
- Analytics vs. seus próprios dados: desligar rastreadores não apaga o que o aplicativo salva para os usuários (contas, progresso, respostas de formulários). Isso é dados primários (first-party) e são cobertos pelo aviso de privacidade, não pelo banner.
- Sites de curso e vídeo: um pixel do Meta em páginas que reproduzem vídeos carrega um risco federal adicional (VPPA). Mantenha pixels fora das páginas de lição.