Exportar dados LGPD
A LGPD (Art. 18) garante ao titular 9 direitos. O Repasse implementa todos tecnicamente ou operacionalmente — você precisa saber só o fluxo de cada um.
SLA LGPD
Você tem 15 dias pra responder qualquer pedido (Art. 19 §1º). SLA interno recomendado:
- Resposta inicial em 5 dias úteis
- Conclusão em 15 dias
Como identificar o titular (anti-impersonação)
Antes de atender qualquer pedido:
- Pessoa deve estar em contato pelo email cadastrado como
owners.email - Se o cadastro é recente ou email não bate, peça confirmação via WhatsApp
- Registre o contato manualmente em notas internas pra auditoria
Fluxos por direito
I — Confirmação de tratamento ("vocês têm meus dados?")
- Resposta: "Sim, pela administração do imóvel [X]". Ponto.
- Aponte pra
/privacycom detalhes
II — Acesso ("quero ver meus dados")
→ Ver III (mesmo fluxo que portabilidade).
III — Correção ("meu CPF/email/banco mudou")
- No admin: Proprietários → [nome] → Editar
- Atualize os campos
- Salve (dados sensíveis viram cifrados automaticamente)
- Sistema loga em
lgpd_data_access_logcompurpose='correct'
IV + V — Portabilidade ("me mande meus dados em formato legível")
- Gera acesso ao Portal do Proprietário (ou proprietário já tem)
- Proprietário acessa → scrolla até Meus dados (LGPD) → clica Baixar meus dados (JSON)
- Sistema monta JSON estruturado com tudo: owner decifrado, units, reservations, reports, repasses, expenses, comprovantes, logs de consent/acesso
- Acesso é logado automaticamente
Caso proprietário não consiga/queira usar o portal:
- Admin pode chamar direto:
GET /api/portal/[token]/exportcom token válido - JSON é baixado, você envia por email
VI — Exclusão ("quero meus dados apagados")
Fluxo oficial (self-service):
- Proprietário acessa portal → Meus dados (LGPD) → Solicitar exclusão dos meus dados
- Pedido cai em
lgpd_deletion_requestsstatuspending - Você é notificado (email + Conversia)
- Acessa admin → lista de pedidos → revisa caso
Checklist antes de aprovar:
- Contrato ATIVO? (se sim, resolve o contrato primeiro, depois aprova)
- Pagamento pendente? (faz o repasse primeiro)
- Obrigação fiscal? (dados ficarão por 5 anos por lei — informa o titular)
Pra aprovar:
- Chama
PATCH /api/owners/[id]/deletion-requests/[reqId]com{status: 'approved', decision_note: '...'} - Ou cria admin UI de aprovação (TODO futuro — hoje é via DevTools)
- Sistema anonimiza: nome → "Proprietário Excluído", email →
deleted-<id>@anonymous.invalid, CPF/RG/dados bancários → NULL, portal_token revogado - Dados fiscais (reports, repasses) preservados pra compliance
Pra rejeitar (ex.: contrato ativo):
- Mesmo endpoint com
{status: 'rejected', decision_note: 'Contrato vigente. Resolva antes.'}(decision_note obrigatória)
VII — Info sobre compartilhamento
Resposta padrão: link pra /privacy que lista todos os sub-operadores (Supabase, Stays, D4Sign, Resend, Anthropic, OpenAI).
VIII — Info sobre recusa e consequências
Se titular recusa o tratamento, o serviço de administração não pode ser prestado. Responder com:
"O tratamento dos seus dados pessoais (nome, CPF, dados bancários) é condição essencial pra prestarmos o serviço de administração do seu imóvel. Sem esses dados, não conseguimos emitir repasse, contratos ou relatórios fiscais. Você pode encerrar a administração a qualquer momento."
IX — Revogação de consentimento
Base legal primária é contrato (não consentimento explícito), então revogação só afeta processamentos auxiliares (ex.: IA — ver opt-out).
Opt-out de IA (LGPD)
Proprietário que não quer que seus dados sejam processados por IA (Anthropic/OpenAI):
- Ele marca sozinho: portal → Meus dados (LGPD) → checkbox "Não processar meus dados com IA"
- Sistema grava
owners.ai_opt_out = true - Upload de boleto no portal bloqueia (mensagem amigável)
- Admin continua podendo usar IA normalmente
Audit trail (pra auditoria ANPD)
Todas as ações são logadas automaticamente em:
lgpd_consent_log— aceites e revogaçõeslgpd_data_access_log— acessos (export, delete, view, correct)lgpd_deletion_requests— pedidos formais de exclusão
Admin acessa: GET /api/owners/[id]/access-log
DPO (Encarregado de Dados)
- Email público:
dpo@vivarestay.com(configurável em envNEXT_PUBLIC_DPO_EMAIL) - Aparece no footer de todas páginas públicas
- Canal oficial pra questões LGPD
Problemas comuns
"Proprietário quer dados num formato específico (Excel)"
- JSON exportado pelo portal pode ser convertido pra Excel facilmente
- Alternativa: você mesmo exporta dados selecionados em CSV pelo admin
"Admin (eu) preciso exportar dados de TODOS os proprietários"
- Não existe endpoint pra isso (seria vazamento)
- Pra auditoria interna: SELECT direto no Supabase SQL Editor
"Pedido de exclusão de dados fiscais (Receita)"
- Explica que retenção de 5 anos é OBRIGAÇÃO legal (CTN Art. 195) e não LGPD
- Reports/repasses ficam preservados mesmo após anonimização do owner
Ver também: docs/lgpd.md (dossiê técnico completo) e docs/ripd.md (RIPD formal).
Atualizado em Thu Apr 23 2026 00:00:00 GMT+0000 (Coordinated Universal Time)