LGPD costuma chegar para o time de engenharia de uma das duas formas: como demanda do jurídico às vésperas de um contrato enterprise, ou como notificação de incidente. Em ambos os casos, a percepção é a mesma — é um problema do time de compliance, não de engenharia.
Essa percepção é cara. A Lei Geral de Proteção de Dados (Lei nº 13.709/2018) tem implicações técnicas concretas que nenhum documento de política interna resolve: dados pessoais em logs, retenção sem critério, ausência de controle de acesso granular, pipelines de dados sem mapeamento de origem. Esses são problemas de arquitetura — e quem tem que resolver é o time de produto.
Este artigo é para CTOs e Heads de Engenharia que querem sair do modo reativo com LGPD e transformar conformidade em decisão de design, não em remediação de última hora.
A LGPD define dado pessoal como qualquer informação que identifique ou possa identificar uma pessoa natural. Nome e CPF são óbvios. Mas endereço de IP, cookie de sessão, geolocalização, identificador de dispositivo e padrão de comportamento de navegação também se enquadram — e esses existem em praticamente todo sistema web em produção.
Os cinco pontos que mais impactam times de engenharia diretamente:
1. Base legal para coleta — cada dado coletado precisa ter uma justificativa legal (consentimento, legítimo interesse, execução de contrato, etc.). Coletar "porque pode ser útil depois" não é base legal.
2. Finalidade e minimização — coletar apenas o necessário para a finalidade declarada. Analytics que coleta mais do que precisa é um risco, não uma vantagem.
3. Direitos dos titulares — acesso, correção, exclusão, portabilidade e revogação de consentimento são direitos exercíveis. O sistema precisa suportar tecnicamente cada um deles.
4. Segurança — medidas técnicas e administrativas para proteger dados pessoais contra acessos não autorizados, vazamento e perda.
5. Retenção e descarte — dados pessoais não podem ser retidos indefinidamente. Cada categoria de dado precisa de uma política de retenção — e de um mecanismo técnico que a execute.
Em auditorias e diagnósticos de conformidade com times de produto, os mesmos problemas aparecem repetidamente. Não por negligência — mas porque LGPD raramente estava no radar quando o sistema foi desenhado.
Logs são necessários para observabilidade. O problema é quando logs incluem dados pessoais por conveniência de debug — nome completo, e-mail, CPF, número de cartão mascarado de forma insuficiente. Logs têm retenção longa, geralmente vão para sistemas de terceiros (Datadog, Elastic, Grafana Loki) e frequentemente têm acesso mais amplo do que o necessário.
# Problemático — dados pessoais em log
logger.info(f"Usuário {user.name} ({user.email}) realizou login. CPF: {user.cpf}")
# Correto — identificador interno, sem PII
logger.info(f"Login realizado. user_id={user.id} session_id={session.id}")
O Registro de Operações de Tratamento de Dados (ROPA) é o inventário de onde dados pessoais existem no sistema, por que estão lá, quem tem acesso e por quanto tempo ficam. Sem esse mapeamento, é impossível responder a uma solicitação de titular ou avaliar o impacto de um incidente.
A maioria dos sistemas não deleta dados — arquiva ou desativa. Um usuário que cancela a conta continua existindo no banco de dados, no data warehouse, nos backups e nos logs. LGPD exige que dados sejam deletados quando a finalidade se encerra ou quando o titular solicita — o que requer uma arquitetura de exclusão que muitos sistemas simplesmente não têm.
Coletar consentimento em um checkbox genérico no cadastro não é consentimento válido para LGPD. O consentimento precisa ser específico por finalidade, livre (sem coerção), informado e revogável a qualquer momento com a mesma facilidade com que foi dado. Isso exige uma camada de gerenciamento de consentimento no produto — não só no texto de política.
Em times pequenos é comum que todos os desenvolvedores tenham acesso ao banco de produção. Para LGPD, acesso a dados pessoais precisa ser controlado por princípio do menor privilégio — quem processa o dado acessa apenas o necessário, e todo acesso é auditável.
A ANPD pode aplicar multas de até 2% do faturamento bruto da empresa no Brasil, limitado a R$ 50 milhões por infração. Mais relevante para empresas B2B: clientes enterprise exigem conformidade como pré-requisito contratual — e auditorias chegam antes que o time esteja pronto.
O primeiro passo não é tecnológico — é de descoberta. O time precisa responder: onde existem dados pessoais no nosso sistema?
A resposta raramente é óbvia. Dados pessoais existem no banco relacional principal, mas também em filas de mensagens, em eventos de analytics, em cache Redis, em arquivos de export, em logs de aplicação, em tabelas de auditoria e em backups. Cada um desses é um ponto de risco.
-- Levantamento inicial: tabelas com campos potencialmente PII
SELECT
table_name,
column_name,
data_type
FROM information_schema.columns
WHERE table_schema = 'public'
AND column_name ILIKE ANY(ARRAY[
'%email%', '%cpf%', '%telefone%', '%phone%',
'%nome%', '%name%', '%endereco%', '%address%',
'%ip%', '%document%', '%birth%', '%nascimento%'
])
ORDER BY table_name, column_name;
Para cada dado identificado, documente:
→ O que é — tipo de dado e sensibilidade (comum, sensível, criança/adolescente)
→ Por que existe — base legal e finalidade específica
→ Onde está — sistemas, tabelas, arquivos, integrações externas
→ Quem acessa — papéis e sistemas com acesso
→ Por quanto tempo — política de retenção e critério de exclusão
→ Como é protegido — criptografia, anonimização, pseudonimização
Direitos dos titulares não são promessas de política interna — são funcionalidades que o sistema precisa suportar. Cada direito tem implicações de implementação específicas.
O titular pode solicitar quais dados o sistema possui sobre ele e recebê-los em formato estruturado e interoperável. A implementação mais direta é um endpoint autenticado que agrega e retorna todos os dados do usuário.
# Endpoint de exportação de dados do titular
GET /api/v1/users/me/data-export
# Response
{
"exported_at": "2026-07-31T10:00:00Z",
"profile": { "name": "...", "email": "...", "created_at": "..." },
"activity": [...],
"preferences": {...},
"consents": [
{ "purpose": "marketing", "granted_at": "...", "status": "active" },
{ "purpose": "analytics", "granted_at": "...", "status": "revoked" }
]
}
O direito mais complexo tecnicamente. "Excluir" não pode ser só marcar um registro como deletado — precisa propagar para backups, logs, data warehouse, filas de eventos e integrações de terceiros.
Uma abordagem prática para sistemas com alto volume: em vez de deletar o registro, substituir todos os campos PII por um hash ou token irreversível e apagar a tabela de mapeamento. O histórico de transações fica preservado para análise agregada, mas os dados pessoais se tornam irrecuperáveis. É mais simples de implementar do que exclusão cascata e igualmente válido para LGPD.
A revogação precisa ter o mesmo fluxo simples que o consentimento original. E precisa ser propagada para todos os sistemas que usam esse dado — não só registrada num campo de banco.
Privacy by Design é o princípio de que privacidade não é adicionada depois — é considerada desde o design inicial. Para times de produto, isso significa quatro mudanças concretas no processo de desenvolvimento:
1. Coleta mínima como padrão de design. Na definição de qualquer feature que envolva coleta de dados, a pergunta padrão é: qual é o mínimo de dado necessário para esta funcionalidade? Esse questionamento elimina a maioria dos dados desnecessários antes mesmo de existirem no sistema.
2. Criptografia em repouso como padrão, não como opcional. Dados pessoais em banco de dados devem ser criptografados em repouso. Campos especialmente sensíveis (CPF, dados financeiros, dados de saúde) devem ter criptografia em nível de coluna.
3. Logs sem PII como regra de linting. Estabelecer uma regra de lint ou hook de pré-commit que detecta padrões de PII em mensagens de log antes do merge.
4. DPIA para features de alto risco. Data Protection Impact Assessment obrigatório para sistemas de decisão automatizada, monitoramento em larga escala ou processamento de dados sensíveis.
1. Essa feature coleta ou processa dados pessoais? Quais?
2. Qual a base legal para esse processamento?
3. Existe risco de impacto negativo ao titular? Como está sendo mitigado?
Se a resposta à pergunta 3 for "sim" sem mitigação clara, a feature não vai para produção sem revisão de arquitetura.
LGPD exige que a ANPD e os titulares sejam notificados sobre incidentes de segurança que possam acarretar risco ou dano. O prazo orientado pela ANPD é de 72 horas após o conhecimento do incidente para notificação preliminar.
72 horas é pouco tempo para um time que não tem processo. O que precisa estar pronto antes do incidente acontecer:
A FuncCloud apoia times de tecnologia no diagnóstico técnico de conformidade com LGPD — mapeamento de dados, revisão de arquitetura de exclusão, gestão de consentimento e estruturação do ROPA.
Falar com a FuncCloud →