contrattos

Segurança e dados

Contrato é dado sensível: valor, fornecedor, dados bancários, às vezes o imóvel da unidade. Esta página diz o que fazemos para proteger isso, com o que existe hoje no sistema, e o que ainda não fazemos.

Cada empresa só vê os próprios dados

Toda consulta ao banco passa por uma camada que injeta a identificação da sua empresa. Um identificador vindo de formulário ou de endereço nunca abre dado de outra empresa: o servidor confere a empresa da sessão, não o que a tela mandou. Isso vale para contratos, fornecedores, arquivos, importações, relatórios e exportação.

Permissões por papel, conferidas no servidor

Quatro papéis: administrador, diretoria, gerente de unidade e leitor.

  • Gerente vê e mexe só nos contratos das unidades que administra.
  • Diretoria vê todas as unidades; administrador também gerencia pessoas e configurações.
  • Leitor só lê.
  • Cada ação (criar, editar, importar, exportar, baixar PDF) é checada no servidor. Esconder um botão na tela nunca é a única barreira.

Dados bancários cifrados

Dados bancários de fornecedores são gravados cifrados com AES-256-GCM, com chave guardada fora do banco de dados e formato versionado para permitir trocar a chave sem perder o que já está gravado. Quem lê o banco sem a chave não lê a conta.

PDFs em armazenamento privado

  • Os arquivos ficam num armazenamento privado (Cloudflare R2), sem endereço público.
  • Para ver ou baixar, o sistema gera um link assinado de curta duração, só para quem tem permissão naquele contrato.
  • Tipo e tamanho do arquivo são validados no servidor antes do envio.

O que a IA recebe e o que ela não decide

  • O PDF é enviado ao provedor de IA (Anthropic, modelos Claude) só para a leitura dos campos. O provedor, pela política da API dele, não usa esses dados para treinar modelos.
  • Nada é salvo sem você conferir: cada campo lido mostra a página de origem e você aprova antes de criar o contrato.
  • O texto do PDF é tratado como dado, nunca como instrução: um contrato não consegue mandar o sistema fazer nada.
  • A empresa pode desligar a leitura por IA nas configurações. Aí os PDFs sobem e o cadastro é à mão.
  • No acesso antecipado há um teto de leituras por empresa, para controlar custo; ao bater, o sistema avisa.

Entrada e sessão

  • E-mail verificado antes do primeiro acesso; convite por link para entrar numa empresa.
  • Sessão de 30 dias.
  • Limite de tentativas: 5 logins por minuto por endereço, 3 pedidos de redefinição de senha a cada 15 minutos.
  • Tudo em HTTPS, com HSTS; cabeçalhos que impedem o site de ser embutido em outro e o browser de adivinhar tipo de arquivo.

Registro do que foi feito

Ações relevantes sobre contratos, fornecedores e importações ficam num registro de auditoria com quem fez e quando. Dados sensíveis não vão para log de erro, e-mail nem para a ferramenta de monitoramento: o que sai do sistema para diagnóstico passa por um filtro que remove campos sensíveis.

Onde roda

Aplicação na Vercel, região de São Paulo. Banco de dados PostgreSQL gerenciado (Neon). Arquivos no Cloudflare R2. E-mails transacionais pelo Resend. Monitoramento de erros no Sentry. Cada serviço recebe só o que precisa para a função dele.

O que ainda não temos

Dito de frente, para você decidir com informação:

  • Certificação ISO 27001 ou SOC 2.
  • Parecer jurídico de conformidade com a LGPD. A política de privacidade está em elaboração com revisão de advogado.
  • Autenticação em dois fatores (2FA).
  • Teste de invasão (pentest) por terceiro.
  • Procedimento de restauração de backup testado de ponta a ponta e documentado.

Esses itens estão no plano, na ordem acima. Quando um deles for feito, esta página muda no mesmo dia.

Encontrou uma falha?

Escreva para contato@contrattos.com.br com o que viu e como reproduzir. Respondemos a toda vulnerabilidade reportada de boa-fé e não acionamos quem reporta.

Veja também quem faz o Contrattos.