Compliance & LGPD
Tela onde você processa pedidos LGPD: apagamento de dados, consentimento, exportação (portabilidade).
Permissão: compliance:view (e auditoria:export para ações que exportam).
Onde fica
/config/compliance (em config) ou /operacoes/compliance (em ops).
Pedidos de erasure (apagamento)
Lista
Todos os pedidos de apagamento com status:
| Status | Significa |
|---|---|
pending | Aguardando aprovação humana |
approved | Aprovado, aguardando execução |
completed | Apagado |
rejected | Negado |
Como aprovar
Vá em
/config/compliance→ seção Erasure.Click no pedido pendente → drawer com detalhe:
- Quem solicitou (cliente)
- Quando solicitou
- Motivo declarado
- O que será apagado (preview)
Decida:
- Aprovar — POST
/api/compliance/erasure/[id]/approve - Rejeitar com motivo — POST
/api/compliance/erasure/[id]/reject
- Aprovar — POST
Após aprovar, execute — POST
/api/compliance/erasure/[id]/execute.Apagamento é físico: dados pessoais são removidos do banco. Apenas:
- Audit log mantém registro do apagamento (sem dados pessoais)
- Faturas mantêm metadados (legal, 5 anos)
O que é apagado
- Cadastro do assinante
- Mensagens
- Áudios de chamada
- Transcrições
- Notas internas
- Tags vinculadas
O que NÃO é apagado
- Audit logs com referência (mas sem dados pessoais)
- Faturas (obrigação fiscal)
- Logs do servidor (anonimizados)
Registros de consentimento
Tela mostra últimos 50 consentimentos dados/revogados:
| Coluna | Detalhe |
|---|---|
| Cliente | Nome / telefone |
| Tipo | Marketing / Análise / Cookies / Outros |
| Estado | granted / revoked |
| Data | Quando |
| Source | Como foi dado (WhatsApp opt-in, formulário, contrato) |
Use pra:
- Provar conformidade em auditoria
- Verificar se cliente pode receber campanha de marketing
- Honorar revogações
Exportar dados de assinante
Quando cliente solicitar portabilidade (direito da LGPD):
Em Compliance, seção “Exportar dados” → digite ID ou telefone do assinante.
Click em Exportar → POST
/api/compliance/export/[subscriberId]→ download de JSON com:- Cadastro completo
- Todas as conversas
- Todas as ligações (transcrições)
- Notas vinculadas
- Audit log do assinante
Envie o JSON ao cliente (pelo canal que ele preferiu).
Você tem 15 dias legais para fornecer (LGPD).
Workflow comum
Cliente liga: “Quero minhas informações apagadas”
- IA reconhece pedido LGPD → cria pedido de erasure (status
pending) - Aparece em
/config/compliancepara você revisar - Você verifica se há razão pra rejeitar (ex.: cliente tem dívida)
- Aprova / rejeita
- Se aprovou, executa
- Cliente recebe confirmação por WhatsApp/e-mail
Cliente pede dados (portabilidade)
- Recebe pedido (manual via suporte)
- Você exporta em
/config/compliance - Envia o JSON
- Audit log registra a ação
Audit log de ações LGPD
Toda ação aqui vira audit log:
erasure.requestederasure.approvederasure.executederasure.rejectedconsent.grantedconsent.revokeddata.exported
Visível em /config/auditoria filtrando por Recurso: erasure_request.
Permissões
| Ação | Permissão |
|---|---|
| Ver pedidos | compliance:view ou auditoria:view |
| Aprovar / Executar / Rejeitar | auditoria:export (gate sensível) |
| Exportar dados de assinante | auditoria:export |
Multi-org
Super-admin com roleScope:global vê pedidos de todas as orgs. Admin de org específica vê apenas os da sua.
Filtragem via getVisibleOrgIds(ctx).
Boas práticas
Trate pedidos LGPD em até 7 dias (lei dá 15)
Documente motivos de rejeição — defesa em caso de questionamento
Eduque o time — todos devem reconhecer pedido LGPD
Exporte cópia para o cliente sempre que pedir
Não rejeite sem motivo válido (multa pesada)
Não atrase além do prazo (denúncia ANPD)