Privacidade e LGPD nas campanhas rastreáveis

MEDSAC IA

MEDSAC IA

Última atualização em Jun 14, 2026

O módulo Campanhas foi desenhado com LGPD-first. Esta página detalha o que é coletado, como é protegido e por quanto tempo é mantido.

O que é coletado em cada clique

Quando alguém clica em https://app.medsac.com.br/r/MSAC-..., registramos o clique com os seguintes dados:

Campo O que é Por que coletamos
click_token Token único de 24 chars Para vincular o clique à conversa correta
utm_source / medium / campaign / content / term UTMs da URL ou defaults da campanha Atribuição comercial
gclid Google Click ID (se presente) Permitir reconciliação futura com Google Ads
fbclid Facebook Click ID (se presente) Reconciliação Meta
user_agent Navegador e SO Detecção de bots e analytics
referer Site que originou o clique Atribuição da origem
ip_hash SHA256 do IP + salt secreto Rate limit + detecção de abuso
clicked_at Timestamp Análise temporal

O que NÃO é gravado

  • IP bruto — nunca persistido no banco. Só o hash irreversível.

  • Dados do dispositivo além do User-Agent — fingerprint não é feito.

  • Cookies — o redirect não cria cookie nenhum.

O que NÃO é exibido na interface

O card MEDSAC na conversa nunca mostra:

  • click_token (apenas usado internamente)

  • campaign_token

  • Valor cru de gclid ou fbclid (só chips dizendo "Google Ads" / "Meta/Facebook")

  • ip_hash, user_agent, referer

O atendente vê apenas: nome da campanha, UTMs, ID interno.

IP hash e salt

O IP é processado com SHA256(ip + salt). O salt é uma chave secreta, armazenada de forma protegida no servidor e jamais exposta publicamente.

Por que hashar e não anonimizar? Porque precisamos comparar IPs entre cliques (rate limit de 30/min/IP). Com hash, conseguimos comparar sem armazenar dado pessoal reversível.

Risco de reidentificação: baixo. Mesmo se um atacante obtivesse o banco e descobrisse o algoritmo, sem o salt e sem uma rainbow table de IPs específicos, não consegue reverter.

Rate limit

A rota /r/:token tem throttle de 30 requisições/minuto/IP. Logs de bloqueio carregam IP cru (base legal: interesse legítimo de segurança contra abuso). Esses logs têm retenção curta e acesso restrito à equipe de operações.

Retenção de dados

Política atual:

  • Cliques com match (matched_conversation_id preenchido) — mantidos enquanto a conversa existir, para fins de auditoria comercial.

  • Cliques sem match (órfãos > 90 dias) — purgados periodicamente. Esses cliques não trazem valor analítico e mantê-los só aumenta exposição.

Em estudo: anonimização automática de UTMs e click IDs em cliques com mais de 365 dias, mantendo apenas os vínculos de atribuição.

Responsabilidades sob a LGPD

Sua clínica (Controlador):

  • Define a finalidade do tratamento (marketing, comercial, atendimento).

  • Deve incluir a coleta de dados de campanha na sua Política de Privacidade.

  • Deve atender solicitações de direito de acesso, retificação e exclusão dos titulares.

MEDSAC (Operador):

  • Processa os dados sob sua instrução.

  • Garante segurança técnica (hash de IP, rate limit, encriptação em trânsito).

  • Apaga dados conforme política de retenção combinada.

Direitos do titular

Se um paciente solicitar:

  • Acesso aos dados — conseguimos exportar todos os cliques + conversas vinculadas àquele número de WhatsApp.

  • Exclusão — apagamos cliques + dissociamos da conversa (mantendo a conversa pelo dever legal de retenção de comunicações comerciais).

  • Portabilidade — exportação em formato CSV.

Para solicitar, abra ticket no painel ou contate lgpd@medsac.com.br.