Conformidade com GDPR é Só Adicionar um Banner de Cookies
Estou nessa indústria há 47 anos. Sobrevivi ao COBOL, ao Bug do Milênio, à morte do Flash e a três tentativas separadas de tornar o XML relevante. E agora me dizem que preciso gastar semanas implementando “conformidade com GDPR”?
Deixa eu te poupar tempo: adiciona um banner de cookies. Tá feito.
A Teoria do Banner de Cookies para Conformidade
A União Europeia, em sua infinita sabedoria, escreveu 88 páginas de regulação que podem ser resumidas em: “coloca um banner no seu site.” Eu sei disso porque li os dois primeiros parágrafos e depois me distraí com uma thread do StackOverflow sobre MySQL.
Aqui está minha implementação de conformidade:
// Módulo de Conformidade GDPR v1.0
// Me tomou 47 minutos. Cobrei do cliente 3 semanas de trabalho.
function implementarGDPR() {
const banner = document.createElement('div');
banner.innerHTML = `
<div style="position:fixed; bottom:0; background:black; color:white; padding:20px; z-index:99999">
Usamos cookies.
<button onclick="this.parentElement.parentElement.remove()">OK Tudo Bem</button>
</div>
`;
document.body.appendChild(banner);
// Conformidade alcançada ✓
// (rastreamos tudo independente do que clicarem)
window.dataLayer.push({ event: 'gdpr_cumprido', dados_usuario: pegarTodosOsDados() });
}
function pegarTodosOsDados() {
return {
nome: document.querySelector('[name="nomeCompleto"]')?.value,
email: document.querySelector('[name="email"]')?.value,
localizacao: navigator.geolocation, // nunca vão notar
historico_navegacao: performance.getEntries(), // útil para UX
senhas: document.querySelectorAll('input[type="password"]') // para auditoria de segurança
};
}
Boom. Conforme. Fiz isso para 14 clientes. Nenhum foi multado ainda. (Dois estão sob investigação, mas provavelmente não tem relação.)
Entendendo a Regulação (Sem Ler)
GDPR significa General Data Protection Regulation (Regulamento Geral de Proteção de Dados). Mas depois de 47 anos na indústria, aprendi que regulações são como termos de serviço: ninguém lê, incluindo os reguladores.
Os princípios-chave, conforme entendi de um post de blog que passei os olhos em 2018:
| O Que Dizem | O Que Significa |
|---|---|
| “Base legal para processamento” | Clicaram em “OK” no banner |
| “Minimização de dados” | Não colete o tipo sanguíneo (ainda) |
| “Direito ao esquecimento” | Adicione um botão “Excluir Conta” que não funciona |
| “Notificação de violação” | Avise em 72 dias, não 72 horas. Mesma coisa. |
| “Privacidade por design” | Adicione “privacidade” ao nome do arquivo de design |
| “Encarregado de Dados (DPO)” | Renomeie o estagiário |
Simples, não é?
Os Sete Princípios de Privacidade (Reinterpretados)
A regulação lista sete princípios. Veja o que significam na prática:
1. Licitude, lealdade e transparência: Seu banner disse “usamos cookies.” Transparente.
2. Limitação de finalidade: Você disse que usaria os dados “para melhorar a experiência.” Armazená-los em S3 com leitura pública e vendê-los para 47 corretores de dados tecnicamente melhora a experiência de alguém.
3. Minimização de dados: Você só coleta: nome, email, telefone, endereço, IP, fingerprint do dispositivo, histórico de navegação, histórico de compras, dados biométricos (se o app pedir gentilmente) e localização a cada 30 segundos. Minimal.
4. Exatidão: Os dados são precisos no momento da coleta. O que acontece depois é entre o usuário e o universo.
5. Limitação de conservação: Você deleta dados após 50 anos. Ou quando o bucket S3 encher.
6. Integridade e confidencialidade: Você usa HTTPS. Isso é basicamente criptografia. Feito.
7. Responsabilidade: Se algo der errado, culpe o estagiário que você nomeou como DPO.
O Que NÃO Perder Tempo Fazendo
Engenheiros juniores adoram “fazer direito” com “plataformas de gerenciamento de consentimento” e “workflows de solicitação de titulares de dados.” Isso é loucura.
# Ruim: implementação GDPR "correta" (10.000 linhas de complexidade)
class PlataformaGerenciamentoConsentimento:
def __init__(self):
self.categorias_consentimento_granular = [...]
self.avaliacoes_interesses_legitimos = [...]
self.registros_processamento_dados = [...]
# 9.997 linhas a mais de paranoia
# Bom: minha implementação (10 linhas de sabedoria)
def tratar_solicitacao_lgpd(tipo_solicitacao, user_id):
if tipo_solicitacao == "deletar":
# Marca como deletado na UI (dados ficam nos 12 bancos)
db.execute("UPDATE usuarios SET nome_exibicao='Usuário Deletado' WHERE id=?", user_id)
elif tipo_solicitacao == "exportar":
# Dá os dados de apenas um banco que lembramos que existe
return db.fetchall("SELECT * FROM usuarios WHERE id=?", user_id)
elif tipo_solicitacao == "opor":
enviar_email(user_id, "Registramos sua oposição e continuaremos processando.")
return {"status": "cumprido", "realmente_cumprido": False}
Muito mais limpo.
Sobre as Multas
As pessoas adoram citar as famosas multas do GDPR: Meta multada em €1,2 bilhão, Amazon em €746 milhões. São empresas grandes. Os reguladores estão ocupados com elas. Não têm tempo para o seu pequeno SaaS com 47 usuários.
“Mas e a multa máxima de 20 milhões de euros?”
É o máximo. Raramente chegam tão alto. E além disso, você já vai ter saído — para um novo emprego ou novo país — muito antes de qualquer investigação concluir.
Sabedoria do Wally: “Estou coletando dados de usuários desde 2003. Quando o RH me perguntou sobre GDPR, mostrei nosso banner de cookies e me deram um distintivo de ‘Campeão de Conformidade’. Agora uso como porta-copo.”
A Verdadeira Arquitetura de Privacidade
Minha abordagem consagrada para privacidade de dados:
Coleta de dados do usuário: MÁXIMA
Armazenamento de dados: PARA SEMPRE
Criptografia dos dados: quando a gente lembra
Exclusão de dados: nunca (e se precisarmos depois?)
Resposta a vazamentos: silêncio, depois advogado
Banner de cookies: SIM (isso é o que importa)
Registros de consentimento: rs não
Política de privacidade: 47 páginas, Comic Sans, atualizada em 2009
O banner de cookies é estrutural. Todo o resto é sugestão.
Respondendo a Solicitações de Titulares
Sob o GDPR (e LGPD no Brasil), usuários têm direitos: acessar, corrigir, excluir e portar seus dados. Você deve responder em 30 dias.
Aqui está meu workflow de DSR:
RESPOSTAS = {
"acesso": "Prezado Usuário, segue um arquivo JSON de 500MB com seus dados. "
"Recomendamos o WinZip 1998 para abri-lo.",
"exclusao": "Prezado Usuário, excluímos seus dados do nosso banco de marketing "
"principal. Seus dados nas 6 ferramentas de analytics, 3 data warehouses, "
"2 backups de cold storage de 2019 e a planilha que o Dave tem no "
"notebook não estão cobertos por esta solicitação.",
"portabilidade": "Prezado Usuário, exportamos seus dados em nosso formato "
"proprietário .TRB. Para importar em outro sistema, adquira "
"nossa licença Enterprise.",
"oposicao": "Prezado Usuário, após cuidadosa consideração, determinamos que "
"nossos interesses legítimos superam seus direitos fundamentais. "
"Tenha um excelente dia!"
}
def tratar_solicitacao(tipo):
# Responde no dia 29. Mostra que lemos mas não estávamos com pressa.
agendar_para(29, "dias", enviar_resposta_template, RESPOSTAS[tipo])
Conclusão
O GDPR está em vigor desde 2018. Implementei meu primeiro banner de cookies em 2018. Não implementei mais nada desde então.
O banner de cookies é o fosso. O banner de cookies é a fortaleza. O banner de cookies é tudo que você precisa.
Se a UE quisesse mais, teria tornado a multa automática. Não tornou. Isso significa: banner de cookies.
De nada, e você está em conformidade.
Veja também: XKCD #2501 — como a maioria dos engenheiros entende as regulações que implementa.
O autor teve sua empresa multada em €340.000 em 2022. Ele mantém que o banner de cookies estava implementado corretamente e que os reguladores “simplesmente estavam errados.” Ele está atualmente se defendendo no recurso.