Pular para o conteúdo
Voltar

Privacidade e dados pessoais

Este documento descreve o que o sistema faz hoje, conferido contra o código e o schema do banco. Ele não é parecer jurídico: antes de publicar como política oficial para clientes, mostre a um advogado. O que está aqui é a parte que o software pode garantir — a base legal e os avisos ao titular são decisão do negócio.

Atualizado em 18/out/2026.


O que o sistema guarda

Do cliente de delivery

DadoOndePara quê
NomeCustomer.nomeidentificar o pedido na entrega
TelefoneCustomer.telefonecombinar a entrega; é a chave que evita cadastro duplicado
Endereço, número, bairro, referênciaCustomer.*entregar

Não coletamos CPF, e-mail nem data de nascimento. Isso é escolha de projeto, está escrito no schema, e é a forma mais barata de proteger dado: o que não se coleta não vaza.

O CPF só aparece se o cliente pedir CPF na nota — e nesse caso ele vai para o documento fiscal, não para o cadastro.

De quem trabalha na loja

DadoOnde
NomeUser.nome
E-mail (opcional)User.email
PINUser.pinHash — guardado como hash scrypt, nunca em texto
Último acesso, tentativas erradas, bloqueioUser.*

Da empresa e de fornecedores

CNPJ, razão social, inscrição estadual e endereço da pastelaria (FiscalProfile); nome, CNPJ e telefone de fornecedores (Supplier); linha digitável e CNPJ do beneficiário dos boletos importados do DDA (Payable, DdaImport).

De operação

AuditLog registra quem fez o quê: venda, pagamento, cancelamento, baixa de conta, mudança de preço e alteração de configuração — com endereço IP e o conteúdo antes e depois.


Por quanto tempo

Prazos implementados em scripts/retencao.ts:

DadoPrazoPor quê
AuditLog18 mesesprecisa durar o bastante para explicar um fechamento antigo, não a vida inteira
SyncOp (fila do PDV)90 diasserve só para não duplicar venda reenviada
Cliente sem pedido24 meses → anonimizadoquem não volta há dois anos não precisa continuar no cadastro
Conteúdo bruto do DDA (DdaImport.payloadJson)90 diasserve para investigar um boleto que entrou errado; depois disso a conta a pagar já guarda o que importa
Pedido e documento fiscal5 anosprazo legal de guarda. Nunca são apagados pelo expurgo

O expurgo roda sozinho todo domingo às 04h30, pelo cron, depois do backup da madrugada. Para ver o que ele faria sem apagar nada: npm run retencao -w @massa/web -- --simular.


Como apagar um cliente

Em Clientes (menu Gestão, só o dono): busque pelo telefone e use "Apagar dados". Por trás, é a mesma chamada que já existia:

`` DELETE /api/clientes/<id> ``

O que acontece: nome, telefone, endereço, número, bairro e referência são sobrescritos, não só marcados como apagados. A linha continua existindo com o rótulo "Cliente removido".

Por que a linha fica: os pedidos daquele cliente apontam para ela, e apagá-la derrubaria o histórico de vendas e os números que já foram para a nota fiscal. A nota emitida não pode ser alterada, e o faturamento de um mês fechado não pode encolher porque alguém pediu exclusão. O pedido continua; a pessoa sai.

O registro de auditoria dessa exclusão não guarda o que foi apagado — seria recriar o dado pessoal noutro lugar e chamar de conformidade.

Como o cliente pede os dados dele

Hoje não há autoatendimento: o dono exporta em /api/exportar?tipo=clientes (só dono) e entrega. Portal do titular é tarefa aberta.


Onde o dado fica

Tudo num PostgreSQL na mesma máquina do sistema. Não há envio para serviço de análise, publicidade ou IA. As duas únicas chamadas para fora são:

  • ViaCEP, ao preencher o endereço da própria empresa. Vai só o CEP.
  • Servidor DDA, de onde vêm os boletos. Vai só o pedido de leitura; nenhum

dado de cliente sai daqui.

Backups diários ficam em /home/admin/backups/massa, na mesma máquina. Se um dia forem para fora, este documento precisa dizer para onde.


O que ainda não está em pé

Por honestidade, e porque afeta a proteção do dado:

  • RLS no banco não está ligada. O isolamento entre lojas depende hoje de

cada consulta filtrar pela loja. Com uma loja só não há exposição, mas a segunda camada que o ARCHITECTURE.md descreve ainda não existe.

  • O expurgo por retenção não é automático.
  • Não há portal do titular para o cliente pedir ou apagar os dados sozinho.
  • O backup não sai da máquina.