Guardrails y límites
Los guardrails son controles de seguridad dentro del pipeline de Guard: sobre la entrada antes del modelo y sobre la salida antes de llegar al cliente. Cada rail devuelve ALLOW, REVIEW, DENY o REDACT y se combina con la decisión de la política. Los límites acotan lo que puede desencadenar un solo cliente final.
Rails
| id | Fase | Cómo | Acciones permitidas |
|---|---|---|---|
| prompt_injection | input | patrones deterministas + juez de IA opcional solo sobre el contexto en lenguaje natural | REVIEW, DENY |
| pii_input | input | determinista: emails, tarjetas, teléfonos, IBAN | REDACT, REVIEW, DENY |
| groundedness | output | juez de IA: ¿la respuesta está respaldada por el contexto recuperado y el estado real? | REVIEW, DENY |
| toxicity | output | juez de IA: lenguaje fuera de política u ofensivo | REVIEW, DENY |
| pii_output | output | ocultación determinista | REDACT, REVIEW, DENY |
- Los rails deterministas no necesitan IA. Los jueces de IA solo se ejecutan con una clave configurada, se miden por consumo y necesitan un 75 % de confianza para contar como hit.
- enforce cambia la decisión (DENY > REVIEW > REDACT > ALLOW al combinarse con la política). advisory registra el hit y lo muestra, sin cambiar la decisión. Valores por defecto de la plataforma: rails de entrada en enforce, rails de juez de salida en advisory.
- REDACT enmascara el texto y el flujo continúa; es una acción del rail, nunca una decisión sobre la operación.
- Cada hit se registra en la evidencia append-only y aparece en la página Guardrails (ámbito de producción por defecto).
Configuración
GET /v1/guardrails?project_id=… · PUT /v1/guardrails clave API de backend o sesión (editor+) · GET /v1/guardrails/hits (paginación keyset). Requiere la funcionalidad de guardrails.
{ "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" }
] }Pasa el texto de la conversación con la propuesta (context.user_message, context.agent_reply, context.retrieved[]) para que los rails tengan algo que leer; los parámetros siempre se analizan de forma determinista.
Límites por cliente final
Hasta seis límites por proyecto, aplicados al customer_id del sujeto del mandato en ventanas móviles (hour, day, month): max_actions y/o max_amount_minor, con action_on_exceed HOLD (por defecto) o DENY. Configúralos desde la página del proyecto o con PUT /v1/projects/{id}/end-user-caps. Consulta mandatos.
Límites de gasto
El gasto en IA tiene un límite por organización (Ajustes → Proveedor de IA) y por plataforma. Al 80 % se envía un email a los owners; al 100 % las llamadas de IA se detienen y los checks deterministas siguen funcionando sin cambios.