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.