Skip to main content
Crie um arquivo com extensão policies.js, policies.mjs ou policies.ts dentro de .failproofai/policies/. Arquivos de convenção são carregados automaticamente nos escopos de projeto e usuário.

Teste a política antes de publicar na nuvem

  1. Instale a política personalizada em uma máquina de teste e acione tanto uma ação correspondente quanto uma não correspondente legítima.
  2. Vá em Observe → policy e compare as duas decisões.
  3. Abra cada sessão vinculada e verifique se o payload do evento contém evidências suficientes para a regra.
  4. Quando o comportamento estiver correto, mova o código revisado para Admin → policy editor e publique uma versão.
Isso corresponde a production/config.yml, /srv/production/config.yml, /srv/production e C:\\production\\config.yml tanto para Write quanto para Edit. Não corresponde a nomes como production-backup, pois production deve ser um segmento completo do caminho. Valide e instale um arquivo explícito:
O contexto da política inclui o tipo de evento, payload normalizado, nome e entrada da ferramenta, metadados da sessão, parâmetros e o CLI de origem quando disponível.

Teste os caminhos de falha

Execute a validação após alterar o arquivo de entrada ou qualquer módulo local que ele importe:
O caminho de CLI estrito falha para arquivos ausentes, erros de sintaxe, importações não resolvidas, exceções em nível superior e timeouts de carregamento de módulo. No momento da aplicação, um arquivo personalizado inválido é registrado em log e ignorado para que as políticas integradas possam continuar. Trate qualquer aviso de carregamento como uma perda de aplicação esperada e monitore-o nos logs de produção. Use nomes globalmente únicos em políticas explícitas, de convenção e gerenciadas pela nuvem. Mantenha as funções de política determinísticas, limite chamadas externas com timeouts curtos e retorne um allow, instruct ou deny intencional em todos os caminhos.
Uma política personalizada é código de aplicação. Teste campos ausentes, nomes de ferramentas alternativos e entradas malformadas — não apenas a correspondência esperada.