Segurança de dados e LGPD
Última atualização: [[DATA]]
A Lavro existe para que você confie no que uma squad de agentes entrega. Por isso, esta página diz o que guardamos, onde, por quanto tempo e quem tem acesso, incluindo o que ainda não temos.
Nesta página
O que fica no seu repositório
- O código, as specs, a evidência de cada feature e a configuração da squad (.squad/) ficam no seu repositório no GitHub. O repositório é o registro oficial.
- O arquivo de time do projeto (.squad/team.json) tem o nome e o e-mail dos membros. Ele fica no seu repositório e no histórico git dele.
- Nenhuma linha do seu código é publicada ou copiada para fora da plataforma.
O que fica na plataforma
| Dado | Para quê |
|---|---|
| Identidade dos membros: nome, e-mail e login do GitHub | Autenticar e autorizar |
| Registro de projetos: repositório, branch base e configuração assinada | Conectar e conferir a configuração |
| Clone de leitura do repositório | Mostrar o estado, os pareceres e a evidência de cada feature |
| Eventos de execução: fase, gate, spawn e veredito | Linha da squad, vazão e retrabalho |
| Medição: tokens e custo | Custo por feature e fechamento do mês |
| Traces de spawn, redigidos | Diagnóstico e auditoria |
| Log de auditoria | Quem fez o quê, quando e com que autenticação |
Nunca guardamos código-fonte fora do clone de leitura, segredos do cliente nem prompt bruto sem redação. As chaves de API dos provedores de IA ficam no cofre, nunca em arquivo de projeto nem em log.
Retenção
- Eventos de execução: 730 dias.
- Atividade ao vivo: 90 dias.
- Traces de spawn: 365 dias.
- Medição: 1825 dias.
- Log de auditoria: 1825 dias.
- Identidade de um membro removido: apagada 90 dias depois da remoção. O registro continua, anônimo, para a auditoria não perder o elo.
- Clone de leitura: apagado quando o administrador pedir ou quando o projeto acabar.
Um processo diário aplica esses prazos em cada organização e registra na auditoria quanto apagou. A organização pode contratar prazos menores.
Onde os dados ficam
O servidor da plataforma fica na região de São Paulo da AWS (sa-east-1). Três exceções saem do Brasil, e você decide sobre duas delas:
- os provedores de IA que você escolher recebem o conteúdo de cada execução, pela sua chave e pelo seu contrato;
- o GitHub guarda o seu repositório, como já guarda hoje;
- este site e o formulário de contato ficam na hospedagem do Lovable e do Supabase.
Isolamento por organização
- Cada organização tem identificador próprio, pasta própria no servidor, tokens próprios e par de chaves próprio.
- Toda rota e toda tabela carregam a organização, e a autorização é conferida no servidor em toda chamada, inclusive nas de leitura. Na dúvida, o acesso é negado.
- Um teste automatizado confere, em toda rota, que uma organização não lê os dados de outra.
- Quem é membro de mais de uma organização, como uma consultoria, troca de organização no topo da tela, e cada troca respeita os papéis daquela organização.
Chaves e criptografia
- Todo tráfego usa TLS.
- Cada organização recebe um par de chaves ed25519, que assina a configuração dos projetos dela. A chave privada fica cifrada com uma chave mestra da plataforma.
- A chave mestra e a chave do GitHub App ficam só com um processo assinador separado, que tem usuário próprio no sistema e arquivo de acesso restrito. O serviço principal pede a assinatura e nunca lê essas chaves.
- Uma cópia cifrada da chave mestra fica fora do servidor, e ela é refeita a cada rotação.
- Os tokens de projeto ficam guardados só como hash. O valor completo aparece uma vez, na criação, e pode ser revogado a qualquer momento.
- Próximo passo: guardar a chave mestra num serviço de gestão de chaves (KMS).
GitHub App
- Você escolhe quais repositórios o GitHub App da Lavro pode acessar, e pode desinstalá-lo quando quiser.
- O token de cada execução vale só para o repositório daquele projeto.
- O GitHub App não pede a permissão de administração do repositório.
- A branch principal fica sem exceção, nem para o GitHub App: toda mudança entra por pull request, com revisão humana exigida pelo próprio GitHub. O merge só acontece depois do gate humano da entrega.
Identidade e acesso
- O login usa GitHub, Google, Microsoft ou e-mail com segundo fator (TOTP), pelo provedor de identidade da plataforma. A aplicação nunca recebe a sua senha.
- Os papéis da organização são administrador, cobrança, membro e leitor. Em cada projeto, cada gate tem um dono, e só ele decide aquele gate, autenticado.
- Cada agente tem identidade própria e nunca usa a credencial de uma pessoa.
- Quando um agente precisa de um acesso, ele pede. Uma pessoa libera uma vez ou por tempo curto, com credencial temporária do cofre.
- Push, deploy, job fora do sandbox, leitura de dados reais e gasto de dinheiro sempre passam por uma pessoa.
Fronteira de confiança
- Quem tem acesso de administrador ao servidor, pelos usuários ubuntu e root, está dentro da fronteira de confiança. Esse acesso é restrito à equipe de operação da Lavro.
- O serviço da plataforma roda com o usuário squad, que não lê a chave mestra nem a chave do GitHub App.
- Os testes e os jobs que executam código do cliente rodam com um usuário separado, sem acesso a segredos e só com o token daquele projeto.
Auditoria, backup e incidentes
- Toda escrita na plataforma registra quem, quando, em qual organização, por qual rota e com qual autenticação.
- O backup roda ao menos uma vez por dia, e a operação recebe um alerta quando o backup mais recente passa de 24 horas. Uma vez por mês, ensaiamos a restauração num ambiente de teste.
- Em caso de incidente com os seus dados, avisamos o administrador da organização em até [[PRAZO DE AVISO DE INCIDENTE]]. Se houver risco ou dano relevante aos titulares, também avisamos a ANPD e os titulares, nos prazos da regulamentação da ANPD.
- A disponibilidade medida e os incidentes abertos ficam em status.getlavro.dev.br.
LGPD: papéis e contrato
- Para o conteúdo que você processa na plataforma, você é o controlador e a Lavro é a operadora. Tratamos esses dados só para prestar o serviço e só conforme as suas instruções.
- O contrato de tratamento de dados (DPA) define as instruções, os suboperadores, a retenção, o aviso de incidente e a devolução dos dados no fim do contrato. O DPA está em revisão jurídica e é assinado com cada cliente.
- O histórico git do repositório do cliente, inclusive o de
.squad/team.jsoncom e-mail e nome de membros, fica fora do alcance da plataforma: a plataforma apaga os dados do próprio registro e não reescreve o histórico do cliente. - Você exporta o fechamento, os eventos e a evidência da sua organização em formato aberto, a qualquer momento.
- Encarregado pelo tratamento de dados pessoais: [[NOME DO ENCARREGADO]], privacidade@getlavro.dev.br.
- Os direitos dos titulares e as bases legais estão na Política de privacidade (/privacidade).
Suboperadores
| Quem | Para quê | Onde |
|---|---|---|
| AWS | Servidor da plataforma | Brasil, região São Paulo (sa-east-1) |
| Lovable e Supabase | Este site e o formulário de contato | [[REGIÃO DA HOSPEDAGEM DO SITE]] |
| GitHub | Repositórios do cliente, pelo GitHub App | Conforme o contrato do cliente com o GitHub |
| Provedores de IA escolhidos pelo cliente | Execução dos agentes | Conforme o contrato do cliente com cada provedor |
Avisamos os clientes antes de acrescentar um suboperador.
O que ainda não temos
- Ainda não passamos por auditoria externa de segurança.
- A plataforma roda num servidor só, com backup e ensaio de restauração, mas sem alta disponibilidade em várias regiões.
- A chave mestra ainda não está num serviço de gestão de chaves (KMS).
- Os termos, esta página e o DPA ainda são minuta, à espera da revisão jurídica.
Reportar uma vulnerabilidade
Escreva para seguranca@getlavro.dev.br com a descrição, os passos para reproduzir e o impacto que você viu. Confirmamos o recebimento e contamos o que vamos fazer. Pedimos que você:
- não acesse, altere nem apague dados de outras organizações;
- não faça teste de negação de serviço nem engenharia social;
- nos dê tempo razoável para corrigir antes de divulgar.
Quem seguir essas regras de boa-fé não sofre nenhuma medida da Lavro por causa do teste.