🧬 Conte ao Lagune o que é o seu projeto, e ele transforma isso nas suas regras de segurança (ou, sem descrição, as deduz só a partir do projeto).
O charter é a camada que rege tudo: um conjunto de princípios que colocam a segurança em primeiro lugar e que todas as fases seguintes precisam respeitar. Pense nele como a verificação em tempo de compilação da postura de segurança do seu projeto.
Como usar
- Descreva o projeto
- Deixe o Lagune propor
/lagune-charter Meu projeto é uma loja virtual que vende jogos de videogames. Os clientes adicionam produtos ao carrinho e pagam com cartão de crédito ou boleto. Eles podem ver os próprios pedidos e o status de cada um.
/lagune-charter
Vejo uma biblioteca de pagamento, uma configuração de login e um modelo de pedido ligado a um cliente. Parece uma loja virtual que vende alguma coisa. Os clientes pagam e acompanham os próprios pedidos... ☁️
O que ele deduz
O Lagune usa a sua descrição ou o seu PRD como direção, deduz o que isso implica para a segurança e então lê o projeto para ir além do que você mencionou. Por exemplo:
- Um carrinho que guarda pedidos significa que existe um banco de dados:
- por exemplo,
"Onde ficam os dados?","Quem consegue acessá-los?","Eles vazam?".
- por exemplo,
- Clientes que podem ver os próprios pedidos significam que existe algum tipo de login ou controle de acesso:
- por exemplo,
"Um cliente consegue acessar os pedidos de outro?","As sessões estão protegidas?".
- por exemplo,
- Aceitar pagamentos com cartão e boleto significa que dinheiro e dados sensíveis estão envolvidos:
- por exemplo,
"Os dados do cartão ficam armazenados?","Os pagamentos são verificados?".
- por exemplo,
A sua descrição e o projeto se somam: enquanto a descrição define a intenção, a leitura das dependências, do README e da configuração revela o que você não mencionou. Se algo importante continuar incerto, o Lagune faz uma pergunta curta e simples em vez de tentar adivinhar.
A partir daí, o Lagune monta um conjunto de regras de segurança sob medida para o projeto, que você pode revisar e ajustar sempre que precisar.
- Você também pode definir as suas próprias regras de segurança para o projeto.
- Quanto mais detalhes relevantes você der, melhor será o relatório final:
- Explique o projeto, como ele funciona e o que acontece por baixo dos panos.
- Quem é o usuário final? O que os usuários podem fazer, e o que não podem?
- Detalhes de comportamento valem tanto quanto detalhes técnicos.
- A memória do charter fica em
.lagune/memory/charter.md.
As categorias que ele registra
As especializações, o conhecimento de segurança que as fases seguintes carregam sob demanda, entram no catálogo do seu projeto por categoria. Enquanto o seu projeto não tem nenhuma categoria registrada, o charter registra cada uma que a leitura dele justifica, como a linguagem do projeto, chamadas a um LLM ou contêineres, e as cita no resumo.
Depois que as categorias estão registradas, o charter as mantém como estão e só cita uma categoria que o seu projeto ainda não usa. Você mesmo pode alterá-las a qualquer momento:
npx lagune write add --categories python
npx lagune write remove --categories python
Próximo passo
Com as regras definidas, mapeie o que o seu sistema realmente faz: /lagune-detect.
Perguntas frequentes
O charter é a camada que rege o Lagune, um conjunto de princípios que colocam a segurança em primeiro lugar e que todas as fases seguintes precisam respeitar. Pense nele como a verificação em tempo de compilação da postura de segurança do seu projeto.
Em .lagune/memory/charter.md.
Sim. O Lagune propõe regras a partir da sua descrição e do seu código, e você pode reescrevê-las, removê-las, acrescentar novas ou reduzir o escopo delas.
Só enquanto nenhuma está registrada. Nesse caso, ele registra cada categoria que a leitura dele justifica, como a sua linguagem ou chamadas a um LLM. Depois que as categorias estão registradas, ele nunca as altera.
