FT-DSR-EXPORT-V1· 1.0.0Segurança & 2FA
DSR export — direito à portabilidade (LGPD/GDPR)
Super admins podem baixar um ZIP com todos os dados de uma empresa (tenant) — 1 JSON por tabela, formato estruturado, com manifest legal. Audit log registra cada export.
Atualizado em 8/6/2026
Quando uma empresa cliente exerce o direito à portabilidade (LGPD Art. 18 V / GDPR Art. 20), o Lefia entrega todos os dados que mantemos sobre ela em formato inter-operável e legível por máquina. Hoje isso virou 1 click — ferramenta interna que substitui o trabalho manual de exportar tabela por tabela.
Endpoint super_admin only:
Resposta:
-
-
-
Tabelas internas/operacionais não fazem parte do export — não são "dado do cliente":
A coluna permanece pra preservar o schema. Se cliente solicitar credenciais especificamente, processo é manual e separado.
Cada export gera um
Visível em
Como usar
Endpoint super_admin only:
POST /api/admin/tenant-dsr-export
Content-Type: application/json
{ "tenantId": "uuid-da-empresa" }
Resposta:
Content-Type: application/zip com download direto. Filename:
tenant-{slug}-dsr-{YYYY-MM-DD}.zip.O que está dentro do ZIP
manifest.json— schema_version, tenant_id, tenant_name, generated_at, legal_basis (LGPD Art. 18 V / GDPR Art. 20), lista de tabelas com counts e redactions, notas legais- 1 arquivo
<tabela>.jsonpor tabela tenant-scoped:
tenants.json (1 row — info da empresa)-
user_tenants.json (memberships)-
environments.json
- integrations.json
- connections.json (com encrypted_credentials redactado)-
message_types.json, mappings.json
- messages.json, message_logs.json
- audit_events.json, audit_log.json
- integration_executions.json
- document_flows.json, tickets.json
- partner_invitations.json, webhook_subscriptions.json
- transport_log.json, diagnoses.json
- ai_settings.json, tenant_alerts_fired.jsonO que NÃO está
Tabelas internas/operacionais não fazem parte do export — não são "dado do cliente":
ai_usage_events/ai_usage_monthly_history(telemetria de bilhetagem)app_errors(logs de erro do produto)connection_test_logs(logs operacionais de teste)activation_events(funil de produto)
Redaction de credenciais
encrypted_credentials (em connections) e webhook_secret (em integrations) NÃO podem ser exportados em texto limpo — vazaria credencial pra cliente que pediu o export. Aparecem como:"encrypted_credentials": "[Redacted - DSR export]"
A coluna permanece pra preservar o schema. Se cliente solicitar credenciais especificamente, processo é manual e separado.
Audit trail
Cada export gera um
audit_events com:
action: "tenant.dsr_exported"actor_id(super_admin que baixou)tenant_id(empresa exportada)metadata: tabelas, counts, total_rows, zip_size_bytes, legal_basis
Visível em
/admin/audit — DPO pode auditar histórico de exports.Limites
- Tabela com >100k rows é truncada (
truncated: trueno manifest). Pra dataset completo de tabela enorme, use$filterpor data. - ZIP é gerado em memória — limite prático ~500MB por export. Maior que isso pede streaming separado (não implementado).
maxDuration: 300(5min) na route. Tenants gigantes podem precisar aumento.
Histórico de versões
- 1.0.0
DSR export automatizado: super_admin baixa ZIP com 1 JSON por tabela tenant-scoped + manifest legal. Credenciais redactadas. Audit tenant.dsr_exported registra cada export pra DPO trail.
5/7/2026 · new