Guardrail e limiti
I guardrail sono controlli di sicurezza dentro la pipeline di Guard: sull’input prima del modello, sull’output prima del cliente. Ogni rail restituisce ALLOW, REVIEW, DENY o REDACT e si combina con la decisione della policy. I limiti fissano quanto può innescare un singolo cliente finale.
Rail
| id | Fase | Come | Azioni consentite |
|---|---|---|---|
| prompt_injection | input | pattern deterministici + giudice AI opzionale solo sul contesto in linguaggio naturale | REVIEW, DENY |
| pii_input | input | deterministico: email, carte, telefoni, IBAN | REDACT, REVIEW, DENY |
| groundedness | output | giudice AI: la risposta è supportata dal contesto recuperato e dallo stato reale? | REVIEW, DENY |
| toxicity | output | giudice AI: linguaggio fuori policy o offensivo | REVIEW, DENY |
| pii_output | output | oscuramento deterministico | REDACT, REVIEW, DENY |
- I rail deterministici non richiedono AI. I giudici AI girano solo con una chiave configurata, sono a consumo e richiedono il 75 % di confidenza per contare come hit.
- enforce cambia la decisione (DENY > REVIEW > REDACT > ALLOW quando si combina con la policy). advisory registra l’hit e lo mostra, senza cambiare la decisione. Impostazioni predefinite della piattaforma: rail di input in enforce, rail giudice di output in advisory.
- REDACT maschera il testo e il flusso prosegue; è un’azione del rail, mai una decisione sull’operazione.
- Ogni hit viene registrato nelle prove append-only ed elencato nella pagina Guardrail (di default ambito produzione).
Configurazione
GET /v1/guardrails?project_id=… · PUT /v1/guardrails chiave API backend o sessione (editor+) · GET /v1/guardrails/hits (paginazione keyset). Richiede la funzionalità guardrail.
{ "project_id": "…", "rails": [
{ "id": "prompt_injection", "enabled": true, "action_on_hit": "DENY", "mode": "enforce" },
{ "id": "pii_input", "enabled": true, "action_on_hit": "REDACT", "mode": "enforce" },
{ "id": "groundedness", "enabled": true, "action_on_hit": "REVIEW", "mode": "advisory" }
] }Passa il testo della conversazione con la proposta (context.user_message, context.agent_reply, context.retrieved[]) così i rail hanno qualcosa da leggere; i parametri vengono sempre analizzati in modo deterministico.
Limiti per cliente finale
Fino a sei limiti per progetto, applicati al customer_id del soggetto del mandato su finestre mobili (hour, day, month): max_actions e/o max_amount_minor, con action_on_exceed HOLD (predefinito) o DENY. Configurali dalla pagina del progetto o con PUT /v1/projects/{id}/end-user-caps. Vedi mandati.
Limiti di spesa
La spesa AI ha un limite per organizzazione (Impostazioni → Provider AI) e per piattaforma. All’80 % gli owner ricevono un’email; al 100 % le chiamate AI si fermano e i controlli deterministici continuano senza effetti.