Scrivi un criterio personalizzato
- Dashboard
- CLI
- Vai a Admin → policy editor, seleziona New policy e descrivi l’errore che vuoi prevenire.
- Aggiungi il codice del criterio, quindi testa i match previsti e i non-match sicuri nell’editor. Risolvi ogni errore di validazione.
- Salva la bozza e seleziona Publish version per creare una versione immutabile.
-
Vai a Admin → enforcement, distribuisci la versione a una macchina di test in modalità observe e verifica le sue decisioni in Observe → policy prima di applicarla.

Inizia con una regola ristretta
Questo criterio blocca i comandi Kubernetes distruttivi solo quando il comando è rivolto a produzione. Tutto al di fuori di quel pattern di errore esatto restituisceallow().
allow() non appena la regola non si applica.
Scegli una decisione
Scrivi il motivo per l’agente che deve recuperare. Spiega cosa è stato rilevato e cosa dovrebbe fare invece.
Oggetto criterio
Filtra gli strumenti dentro
fn. match.toolNames non fa parte del tipo custom-policy pubblico.
Contesto del criterio
Ogni criterio riceve unPolicyContext.
Tratta ogni valore facoltativo come genuinamente facoltativo. Le versioni degli agenti e i tipi di evento non forniscono tutti gli stessi campi.
Input comuni degli strumenti
Failproof AI normalizza gli strumenti comuni tra gli harness supportati in modo che un criterio possa di solito utilizzare una sola forma di input.
Usa una coercizione difensiva perché i valori di input dello strumento sono digitati come
unknown:
Scegli l’evento
La disponibilità dell’evento e il comportamento di blocco dipendono dall’harness dell’agente. Vedi Agent harnesses prima di affidarti a un evento in una flotta mista.
Tutti i nomi degli eventi del criterio
Tutti i nomi degli eventi del criterio
SessionStart, SessionEnd, UserPromptSubmit, PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, Notification, SubagentStart, SubagentStop, TaskCreated, TaskCompleted, Stop, StopFailure, TeammateIdle, InstructionsLoaded, ConfigChange, CwdChanged, FileChanged, WorktreeCreate, WorktreeRemove, PreCompact, PostCompact, Elicitation, ElicitationResult, UserPromptExpansion, PostToolBatch e Setup.Scrivi pattern comuni di criteri
Blocca scritture su percorsi protetti
Fornisci indicazioni non vincolanti
Blocca il completamento della sessione
Carica i file dei criteri
File di convenzione
I file di convenzione si caricano automaticamente:- Sia le directory dei criteri del progetto che quelle dell’utente vengono caricate.
- I file si caricano alfabeticamente all’interno di ogni directory.
- Un file deve terminare in
policies.js,policies.mjsopolicies.ts. - Sono supportate più chiamate
customPolicies.add()in un file. - Sono supportate le importazioni relative da moduli locali.
- I criteri del progetto possono essere sottoposti a commit in modo che le stesse regole seguano il repository.
File espliciti
Usa percorsi espliciti quando la validazione o la configurazione deve nominare direttamente il file di ingresso:Valida e testa
La validazione esegue il modulo attraverso il caricatore di produzione e conferma che registra almeno un criterio.- Un’azione che deve corrispondere e produrre il motivo del criterio previsto.
- Un’azione vicina ma sicura che deve restituire
allow(). - Campi dello strumento mancanti o malformati.
- Sintassi alternative del comando, percorsi, virgolette, casing e spazi.
- Una dipendenza di subprocess o rete non disponibile.
Comportamento runtime
- I criteri integrati vengono valutati prima dei criteri personalizzati.
- Il primo
denyinterrompe l’ulteriore valutazione dei criteri. - Più risultati di
instructpossono essere combinati quando nessun criterio nega l’evento. - Una funzione di criterio ha una scadenza di esecuzione di 10 secondi.
- Un’eccezione lanciata o un timeout viene registrato e trattato come
allow(). - Un file di convenzione che non riesce a caricarsi viene saltato; altri file personalizzati e criteri integrati continuano.
- Il caricamento del modulo di livello superiore ha anche una scadenza di 10 secondi.
- La modalità observe nel cloud esegue il criterio ma registra una decisione non-allow senza applicarla.
fn, cattura i guasti di dipendenza e scegli deliberatamente se quel guasto dovrebbe consentire o negare l’operazione.
Esportazioni API
TypeScript esporta
PolicyContext, PolicyResult, CustomHook, PolicyDecision e PolicyFunction.
Distribuisci criteri personalizzati
Pubblica una versione, distribuiscila in modalità observe, verifica le decisioni e passa all’applicazione.

