Segurança e LGPD
Onde o documento fica, quem consegue abrir e por quanto tempo ele é retido.
Esta página descreve o que o sistema faz hoje. Onde uma peça está especificada e ainda não roda, a frase diz isso na mesma dobra em que a peça aparece — e há mais de uma. Um produto que se vende por evidência não pode afirmar sobre si mesmo o que não conseguiria demonstrar.
O que esta página não afirma
- Não temos certificação SOC 2 nem ISO 27001
- Nenhuma auditoria independente foi conduzida. Se a sua área de compras exige o relatório, hoje a resposta é não — e é melhor você saber disso agora do que depois de três reuniões.
- Não publicamos acordo de nível de serviço
- Não há SLA de disponibilidade contratado nem página de status pública. Quando houver, o número aparece aqui com a forma de medição junto.
- Não há programa de recompensa por vulnerabilidade
- O canal de relato existe e está descrito no fim desta página, mas não há pagamento por achado. Dizer o contrário atrairia teste que ninguém prometeu remunerar.
Sessão e identidade
Duas portas separadas, e nenhuma delas devolve o token ao navegador
A empresa contratante e o prestador entram por caminhos distintos, com credenciais distintas e tokens que o guard do outro lado recusa.
- Uma credencial não abre a porta da outra
- O token do prestador declara a plateia “portal” e o token da empresa não a declara. Cada guard exige a sua: token de prestador apresentado na área da empresa recebe 401, e o inverso também. O portal é o único lugar do sistema cuja identidade não pertence a organização nenhuma, e é justamente por isso que ele precisa de um cofre separado.
- Senha guardada só como hash
- A senha nunca é armazenada em claro: o que fica no banco é o hash bcrypt com fator de custo 12. O login devolve exatamente a mesma mensagem para e-mail inexistente e para senha errada, e gasta o mesmo tempo nos dois casos — sem isso, o tempo de resposta diria quais e-mails existem na base.
- O JWT não é lido pelo JavaScript da página
- A sessão vive em cookie httpOnly gravado por server action, e toda chamada autenticada sai do servidor. O token não está acessível ao script da página, então uma falha de XSS não se converte em sequestro de sessão.
- Duração curta, renovação antes da tela
- O token de acesso da empresa vale 15 minutos e é renovado por um de atualização de 7 dias, antes de a página renderizar. O portal usa token de 72 horas sem renovação: expirado, o prestador volta ao login. Sair apaga o cookie.
- Revalidação a cada requisição, e o escopo vem do banco
- O identificador da organização que a aplicação usa é lido do registro do usuário a cada requisição, nunca do conteúdo do token — token forjado com outra organização continua enxergando o escopo real. Usuário desativado, organização encerrada ou vínculo de prestador revogado derrubam a sessão na requisição seguinte, sem esperar o token expirar. A tela que revoga o vínculo ainda não está no ar; a verificação, sim.
Papéis e acesso
Um acesso hoje, e cinco papéis desenhados para quando houver mais de um
O do jurídico existe para não ser o mesmo do operador: quem confere a pasta não deve ser quem a monta. É a mesma razão pela qual a conferência de caixa não é feita pelo caixa.
Papel
O que alcança
- Proprietário
- O que alcançaTudo, inclusive a assinatura e o encerramento da organização. Nasce com o cadastro e não pode ficar vago.
- Administrador
- O que alcançaAdministra pessoas, prestadores, contratos e documentos da organização.
- Operador
- O que alcançaOpera o dia a dia: cadastra prestador, anexa documento, convida para o portal, resolve pendência.
- Jurídico
- O que alcançaLê tudo e pede a pasta consolidada, e não altera evidência. É separação de função, não restrição de confiança.
- Leitor
- O que alcançaConsulta o que existe. Não envia, não altera e não pede a pasta consolidada.
Isolamento entre organizações
Duas barreiras independentes, e a segunda não depende da primeira
O dossiê de uma empresa não é visível para outra. A garantia não está numa checagem escrita no lugar certo — está na forma como consulta e banco foram montados.
- Na aplicação: o escopo é aplicado por último
- Todo acesso a dado recebe o identificador da organização vindo da sessão, nunca do corpo ou da consulta — nenhum campo de entrada aceita esse valor. E ele é injetado no filtro depois de qualquer filtro de quem chamou, de modo que nenhum parâmetro consegue sobrescrevê-lo.
- No banco: a chave estrangeira carrega a organização junto
- As referências entre tabelas são compostas por identificador e organização. Isso torna referência cruzada impossível no nível do banco: um defeito de aplicação falha com violação de chave estrangeira em vez de entregar o dossiê alheio.
- Recurso alheio responde “não encontrado”, nunca “sem permissão”
- Dizer “existe, mas você não pode ver” já entrega a informação de que existe. A resposta é 404 em todo o sistema, inclusive no portal do prestador, onde documento de outro dossiê some em vez de ser negado.
Portal do prestador
O ciclo de vida do convite e da sessão do prestador
O prestador é um terceiro: ele não é usuário da contratante e não pertence à organização dela. Todo o acesso dele nasce de um convite e vive de um vínculo.
- O convite: 32 bytes aleatórios, e o banco não guarda o link
- O token do convite é gerado no servidor com 32 bytes aleatórios. O que fica no banco é apenas o resumo SHA-256 dele — um dump da base não se converte em acesso, porque o valor em claro existe só no e-mail que saiu.
- Validade de 7 dias e uso único
- Expirado, revogado ou já utilizado, o convite responde da mesma forma: inválido. Aceito uma vez, não abre de novo.
- Reenviar significa trocar o link, não repetir o anterior
- Não existe “reenviar o mesmo link”: o valor em claro não é recuperável. O reenvio emite um token novo e revoga os pendentes, então depois dele exatamente um link abre a porta — link vazado ou e-mail digitado errado deixa de valer ali. A revogação acontece depois de o e-mail novo sair: se o envio falhar, o prestador continua com o link anterior em vez de ficar sem nenhum.
- Um reenvio a cada cinco minutos
- A caixa de entrada é do prestador, não da contratante. Sem intervalo mínimo, o botão de reenviar seria um canhão apontado para um terceiro, disparável por qualquer usuário da empresa.
- Hoje, quem tem o link cria o acesso — e isso está dito
- Desde 29/07/2026 não há desafio de posse no aceite: a tela recebe os quatro últimos dígitos do CNPJ do próprio token, então o campo é confirmação visual e não é trava. A troca foi deliberada — o prestador deixou de receber “convite inválido” por errar um dígito daquilo que a contratante já sabe. O que sustenta o fluxo é o token: aleatório, de uso único, com 7 dias de validade, revogado a cada reenvio e enviado para um endereço nominal. Tornar o desafio configurável por organização, com a decisão registrada na trilha, está especificado e não está no ar.
- A sessão: 72 horas, sem renovação, revalidada a cada requisição
- O token do portal vale 72 horas e não se renova sozinho. A cada requisição a identidade é reconferida no banco: desativar o acesso encerra a sessão sem esperar o token expirar. O cookie é httpOnly e separado do da área da empresa.
- A autorização vem do vínculo, não do login
- A identidade do prestador é única e vive fora de qualquer organização; o que autoriza ver ou escrever num dossiê é o vínculo entre essa identidade e aquele prestador — e ele pertence à organização. Um prestador que atende duas contratantes tem um login e dois vínculos, e as duas empresas não passam a se enxergar por causa disso. Vínculo revogado deixa de autorizar na requisição seguinte — a verificação está no ar, e a tela que revoga o vínculo ainda não.
- O que o prestador não consegue enviar
- A lista de tipos aceitos pelo portal é fechada do lado do servidor: nota fiscal, comprovante de outros clientes, cartão de CNPJ, certidão, declaração e “outro”. Contrato, aditivo e dossiê exportado são documentos que a contratante produz — aceitá-los do prestador abriria caminho para ele juntar papel ao próprio dossiê como se fosse da empresa.
Documentos
O binário mora fora do banco, e nenhum caminho até ele é permanente
O banco guarda metadado, resumo e chave. Os bytes ficam em armazenamento de objetos, e todo acesso a eles é assinado na hora, com prazo.
- A entrada é hostil por definição, e é tratada assim
- Parte dos arquivos vem de um terceiro, pelo portal. A validação é por assinatura de arquivo — os primeiros bytes do conteúdo —, e não por extensão nem pelo tipo declarado, que vêm ambos do cliente. São aceitos PDF, PNG, JPEG e XML, com teto de 20 MB; arquivo de texto declarado como PDF é recusado.
- A varredura de antivírus está no fluxo e o motor não está ligado
- Todo documento nasce com a varredura marcada como pendente, e o download é barrado se ela apontar arquivo infectado. O motor que executa a varredura ainda não foi acoplado — a marca existe, a verificação não. É pendência declarada, e não uma peça que a página finge estar rodando.
- Resumo na entrada, e substituir nunca sobrescreve
- O SHA-256 é calculado no momento da ingestão e gravado com o documento. Substituir cria uma versão nova, com número próprio: o objeto anterior continua existindo e continua verificável, de modo que um dossiê montado em março segue reproduzível em setembro.
- Sem bucket público, sem link permanente
- A chave de cada objeto começa pelo identificador da organização, o que permite política de acesso por prefixo e torna qualquer vazamento rastreável pelo caminho. Cada download é uma URL assinada válida por 5 minutos, emitida depois de o escopo do pedido ser verificado. Não existe endereço público de arquivo.
- Criptografia no armazenamento é obrigatória em produção
- O serviço de armazenamento se recusa a subir em produção sem criptografia configurada — não é aviso em log, é falha de inicialização. Em desenvolvimento ela fica desligada porque o servidor local usado nos testes não a implementa.
- Bloqueio de retenção para processo em curso
- Documento pode ser marcado com bloqueio de retenção, e a marca exige motivo por escrito — o número da reclamatória, por exemplo. Enquanto o bloqueio existir, nenhuma rotina de expurgo o alcança, e a regra é restrição do banco, não convenção de código: registro com bloqueio e data de expurgo ao mesmo tempo é recusado na gravação.
O que fica registrado
Cada evento guarda duas datas e o resumo do evento anterior
Trecho com os nomes de evento reais do sistema e dados de exemplo. A trilha registra quando o fato aconteceu, quando ele entrou no servidor e quem o praticou.
portal.convite_enviado Convite emitido para o e-mail cadastrado do prestador. Token de 32 bytes, uso único, 7 dias; o banco guarda só o resumo SHA-256.
portal.convite_reenviado Reenvio pedido pela contratante. Token novo emitido e o anterior revogado — a partir daqui, um único link abre a porta.
portal.acesso_criado Prestador criou o acesso ao portal. O convite passa a constar como utilizado e não abre de novo.
documento.anexado Nota fiscal da competência 02/2026 recebida pelo portal. Resumo SHA-256 calculado na entrada e gravado com o documento.
documento.substituido Contrato substituído — versão 2. A versão 1 continua existindo, com o resumo dela, e continua verificável.
A tabela é somente-inserção por gatilho no banco: alteração, remoção e truncamento falham, e a escrita passa só pelo serviço da trilha. Cada evento carrega o resumo SHA-256 do anterior, encadeado por organização e serializado para que duas gravações simultâneas não produzam bifurcação. O limite: enquanto o resumo do dia não for ancorado fora do banco, a cadeia não prova nada contra quem tem acesso de escrita a ele — quem reescrevesse a tabela recalcularia os resumos. A verificação da cadeia existe; a ancoragem externa está especificada e ainda não roda.
Retenção e exclusão
Quanto tempo cada coisa fica, e o que sobra quando ela sai
Prazo de retenção é parâmetro do contrato, não constante escondida no código. Os valores abaixo são os padrões.
O que
Por quanto tempo
O que acontece depois
- Sessão da empresa
- Por quanto tempo15 minutos de acesso, 7 dias de atualização
- O que acontece depoisRenovada antes da tela enquanto o cookie durar; depois, login.
- Sessão do portal
- Por quanto tempo72 horas
- O que acontece depoisSem renovação automática. Expirada, o prestador volta ao login.
- Convite do portal
- Por quanto tempo7 dias, uso único
- O que acontece depoisDeixa de abrir. Reenvio emite outro e revoga o pendente. Sobra no banco só o resumo.
- URL de download
- Por quanto tempo5 minutos
- O que acontece depoisDeixa de resolver. Não há endereço permanente de arquivo.
- Dossiê após o fim da prestação
- Por quanto tempo24 meses
- O que acontece depoisVisível e disponível para download a qualquer momento durante a janela; a pasta completa, a pedido.
- Arquivamento do dossiê
- Por quanto tempoAté o fim do prazo total — parâmetro do contrato, padrão 72 meses
- O que acontece depoisSai das listagens e continua restaurável sob demanda enquanto o prazo correr.
- Ao fim do prazo total
- Por quanto tempo—
- O que acontece depoisDocumentos e dados pessoais eliminados. Permanecem o identificador do dossiê, o CNPJ, o período contratual, a contagem final do inventário e a trilha com os resumos.
- Dado do formulário deste site
- Por quanto tempo24 meses
- O que acontece depoisExcluído a pedido, a qualquer momento, pelo mesmo e-mail da conversa.
- O prazo total ainda não é conclusão jurídica
- Os 72 meses de retenção total são ponto de partida operacional: o parâmetro precisa cobrir com folga o período em que a empresa ainda pode ser demandada e ainda precisa produzir a prova. Validar esse número com advogado trabalhista é bloqueador declarado do produto, e até lá ele é o que é — um padrão configurável, não uma recomendação nossa.
- A rotina de expurgo ainda não roda sozinha
- O cálculo da data de expurgo, o bloqueio por processo em curso e a operação de remoção existem. O agendamento que os dispara em lote não está implementado, então hoje a eliminação é conduzida com registro, e não por rotina automática. Dizer o contrário seria descrever uma garantia de descarte que não é executada.
- Pedido de exclusão do prestador gera atendimento manual
- Nunca apagamento automático, e o motivo é um conflito real: os mesmos documentos que são dados pessoais do prestador são a prova de que a contratante precisa para exercer direito em processo. A base legal indicada é a execução do contrato para o vínculo comercial e o exercício regular de direitos para a retenção posterior. A via desenhada é pseudonimizar o nome na trilha em vez de apagar o evento, e ela ainda não está implementada.
- O metadado sobrevive ao binário, e isso é proposital
- “Existiu um contrato assinado em 03/2021, expurgado em 03/2027 conforme a política” é informação melhor do que ausência silenciosa — inclusive para o titular, que consegue saber o que houve com o próprio dado.
Subprocessadores
Quem mais toca no dado, e para quê
A lista abaixo descreve a função de cada terceiro. Onde o provedor de produção ainda não foi contratado, a linha diz a função e não inventa o nome.
Serviço
Para quê
Que dado passa por lá
- Armazenamento de objetos (compatível com S3)
- Para quêGuarda os binários dos documentos.
- Que dado passa por láContratos, aditivos, notas fiscais e demais arquivos do dossiê.
- Envio de e-mail (SMTP)
- Para quêConvite e avisos ao prestador.
- Que dado passa por láNome e e-mail do responsável pelo prestador, e o token do convite.
- AbacatePay
- Para quêCobrança da assinatura da contratante.
- Que dado passa por láIdentificador da organização, nome e e-mail de quem contrata. Nenhum documento e nenhum dado de prestador trafega por lá.
- Hospedagem do site e da API
- Para quêExecução da aplicação.
- Que dado passa por láO tráfego das requisições, como em qualquer servidor.
- Dois serviços previstos ainda não têm provedor
- A consulta cadastral de CNPJ e a assinatura eletrônica estão no desenho do produto e não estão contratadas nem implementadas. Quando forem, entram nesta lista antes de entrarem no código — subprocessador que aparece em produção antes de aparecer na página é exatamente o que uma lista de subprocessadores existe para impedir.
Relato de vulnerabilidade
Achou alguma coisa? O caminho é curto e a resposta é por escrito
Preferimos saber por você a saber por um cliente. Não há pagamento por achado, e também não há advogado esperando quem relata de boa-fé.
- Como relatar
- Use o canal de contato com “segurança” no assunto e descreva o passo a passo para reproduzir. Respondemos por escrito, com o que foi confirmado e o que foi feito. Se você quiser ser creditado na correção, diga como.
- O que pedimos que você não faça
- Não teste em conta de terceiro, não acesse dado que não seja seu, não degrade o serviço e não publique o achado antes de a correção sair. Fora isso, teste à vontade na sua própria conta.
Ainda não há uma caixa de e-mail dedicada a segurança. Enquanto não houver, o relato entra pelo canal de contato e é tratado com prioridade sobre o resto da caixa.
LGPD
Encarregado de dados e posição no tratamento
O que a lei pede que esteja publicado, com o que ainda falta dito no lugar em que faltaria de qualquer jeito.
- Ainda não há encarregado nomeado publicamente
- O art. 41 da LGPD pede a indicação de um encarregado, com identidade e canal divulgados. Não há pessoa nomeada hoje. Enquanto não houver, o canal para exercer direitos de titular é o de contato desta página, com resposta por escrito — e quando houver, o nome e o endereço aparecem aqui.
- A contratante é a controladora dos dados do prestador dela
- Quem decide contratar, quais documentos exigir e por quanto tempo mantê-los é a empresa contratante. O Lastro trata esses dados por conta dela e conforme a finalidade declarada: documentar a relação contratual. Ainda não existe um contrato de tratamento de dados publicado que formalize essa posição, e ele é pré-requisito conhecido para o jurídico do cliente liberar a compra.
- O que este site coleta de você é outra coisa, e é curto
- Visitando estas páginas, o único dado que sai daqui é o que você digita no formulário de contato: nome, e-mail e a faixa aproximada de prestadores. O diagnóstico gratuito roda no seu navegador e não transmite resposta nenhuma. O aviso de privacidade detalha os dois casos.
O aviso de privacidade deste site fica em Privacidade, e as perguntas mais frequentes sobre dado e retenção estão respondidas na central de perguntas.
O questionário de segurança do seu jurídico a gente responde por escrito.
Inclusive as perguntas cuja resposta honesta hoje é “ainda não” — esta página já lista várias delas, e a lista encolhe a cada entrega. Se preferir começar pelo seu lado, o diagnóstico mostra em quatro minutos o que a sua operação conseguiria demonstrar.
Sem cadastro e sem cartão. O resultado aparece inteiro na tela.