# Conta, dados e privacidade

<https://unifokal.com/docs/conta-e-dados>

## Exportação de dados

Você leva os dados da sua organização embora quando quiser, pela aba **Exportar dados** do painel. O pacote é **assíncrono**: o pedido entra numa fila, um worker monta um ZIP com arquivos NDJSON e um manifesto com a soma `sha256` de cada arquivo, e o pacote pronto fica disponível por **7 dias**. Depois disso ele é expurgado sozinho.

A fundação disto é a **portabilidade da LGPD**: o art. 18 dá ao titular, entre outros, o direito à portabilidade dos dados (inciso V), e o art. 19, § 3º manda entregar cópia eletrônica integral em formato que permita a utilização subsequente. Você é o controlador desses pedidos, e esta rota é a ferramenta com que o nosso DPA (Anexo II, item 8) promete que você consegue respondê-los; os Termos (item 15.4) somam a janela de 30 dias de exportação após o encerramento da conta.

```
POST   /v1/data-exports        pede um pacote (202; um pedido vivo por vez)
GET    /v1/data-exports        lista os pedidos do ambiente (nunca entrega URL)
GET    /v1/data-exports/{id}   o pacote pronto, com URLs de download de 120s
DELETE /v1/data-exports/{id}   expurga o pacote antes do prazo (o registro fica)

# credencial: sessao do painel (papel owner ou admin). A sk_ nao alcanca estas rotas.
```

O corpo do `POST` aceita `environment` (obrigatório), `scope` (`organization` inteiro ou uma `verification` única), o período `from`/`to` e `include` com os recortes `verifications`, `billing`, `config` e `pld` (omitido = os três primeiros; o registro de PLD/FT é opt-in, só no recorte da organização, e a tela Exportar dados o oferece marcado). A configuração sai **sem segredos**: chave e segredo de webhook nunca entram no pacote. Mídia bruta (fotos e documentos) também não sai no lote.

**Cada entrega de URLs vira evento.** A listagem nunca pré-assina nada; é o `GET` do item que gera as URLs (validade de 120 segundos) e registra `export.downloaded` na trilha de conformidade da conta, ao lado de `export.requested` e `export.purged`. O expurgo apaga o armazenamento **antes** de marcar a linha: não existe janela em que o registro diz expurgado e o arquivo ainda existe.

## Encerramento de conta

A conta se encerra pela aba **Encerrar conta** do painel, e só o **dono** consegue. O pedido tem três travas: digitar o nome da organização exatamente como aparece no painel, confirmar com o código do aplicativo autenticador, e não ter saldo negativo (dívida se quita antes de sair). Saldo **positivo** expira no encerramento, como dizem os Termos (item 6.6); as quatro hipóteses de devolução do mesmo item podem ser alegadas no pedido e entram em revisão manual.

```
POST /v1/account/closure         abre o pedido (202; carencia de 30 dias)
GET  /v1/account/closure         o pedido vivo, ou null (conta saudavel)
POST /v1/account/closure/cancel  cancela durante a carencia (MFA de novo)

# credencial: sessao do painel, papel owner. MFA conferido dentro da transacao.
```

O pedido abre uma **carência de 30 dias**, copiada para o registro no ato: quem pediu mantém o prazo que valia no dia. Durante ela a conta fica em somente-leitura (dá para entrar, ler e exportar; não dá para operar), a recarga automática é desligada e uma exportação completa é disparada sozinha, com os quatro recortes: verificações, faturamento, configuração e o registro de PLD/FT. Cancelar exige o segundo fator de novo e devolve a conta ao normal.

No fim da carência, a execução apaga primeiro o armazenamento de mídia, depois os dados do tenant tabela por tabela, e por fim anonimiza a organização. O que sobra é o **recibo**, gravado no próprio pedido e no evento `account.closed`: a contagem de linhas apagadas por tabela, o que foi retido e sob qual base legal, e o desfecho do saldo. O registro do encerramento não se apaga: é a prova, sua e nossa, de que ele aconteceu.

## Privacidade e consentimento

Antes de qualquer captura, o widget mostra à pessoa um **aviso automático** sobre o tratamento dos dados (o que é coletado, por quanto tempo é guardado e que as imagens não treinam inteligência artificial). Você **não precisa passar versão de termos** nem registrar consentimento no seu código: a versão vigente é definida pelo servidor e o consentimento fica registrado automaticamente, uma vez por sessão.

Leia o texto que a pessoa vê em [Aviso ao Usuário Final](https://unifokal.com/legal/aviso-titular). Como Cliente, o uso da plataforma é regido pelos [Termos de Uso](https://unifokal.com/termos) e pela [Política de Privacidade](https://unifokal.com/privacidade).
