Reglas
Secure reglas definir lo que Escaneos busca. Cada regla tiene un tipo (lo que inspecciona), una acción (block, flag, log), una gravedad, y un alcance (todos los agentes, o específicos). Puede listar, crear y actualizar reglas sobre la API.
Reglas de lista#
GET /v1/secure/rules - Requiere el alcance secure:rules:read.
curl "https://api.maetra.io/v1/secure/rules" \
-H "Authorization: Bearer $MAETRA_API_KEY"
{
"rules": [
{
"id": "rule_71c",
"name": "Outbound PII",
"description": "Flag customer PII leaving the system.",
"type": "data_pattern",
"action": "flag",
"severity": "medium",
"status": "active",
"is_built_in": false,
"applies_to_all": true,
"trigger_count": 12,
"last_triggered_at": "2026-07-06T22:04:00.000Z",
"version": 3,
"updated_at": "2026-07-01T09:12:00.000Z"
}
]
}
Ver el objeto de artículo por cada campo.
Crear una regla#
POST /v1/secure/rules - Requiere el alcance secure:rules:write. Devoluciones 201.
Tipos de reglas
type | Inspecciones | Campos clave |
|---|---|---|
prompt_pattern | Texto imprevisto para la inyección / frases desactivadas. | custom_patterns |
data_pattern | Contenido para firmas de datos sensibles. | custom_patterns, data_categories, data_descriptions, data_direction, pattern_library_ids |
tool_call | Llamadas de herramientas/función. | tool_names |
policy_dsl | Condiciones en la regla DSL de Maetra. | dsl_statements |
Solicitud de cuerpo
| Campo | Tipo | Necesario | Default | Descripción |
|---|---|---|---|---|
name | cuerda. | ✓ | Nombre de la regla. | |
type | enum | ✓ | data_pattern, policy_dsl, prompt_pattern, tool_call. | |
description | cuerda. | nulo | Descripción del rostro humano. | ||
action | enum | flag | block, flag, log. | |
severity | enum | medium | critical, high, medium, low. | |
status | enum | draft | active, archived, draft. | |
applies_to_all | boolean | true | Aplique a cada agente. | |
agent_ids | string[] | Limitar a agentes específicos (cuando no applies_to_all). | ||
data_direction | enum | nulo | inbound, outbound, both. | ||
custom_patterns | string[] | Patrones literarios/regex para que coincida. | ||
tool_names | string[] | Herramientas esta regla gobierna (para tool_call). | ||
data_categories | string[] | Nombre de las categorías de datos para detectar. | ||
data_descriptions | string[] | Descripción del lenguaje natural de los datos para detectar. | ||
dsl_statements | string[] | Declaraciones sobre el artículo DSL (para policy_dsl). | ||
pattern_library_ids | string[] | Referencia bibliotecas de patrones incorporados. |
Nota Nuevas reglas por defecto
status: draft- no afectan los escaneos hasta queactive. Crear comodraft, prueba, luego promover (con Actualizar una regla).
curl -X POST "https://api.maetra.io/v1/secure/rules" \
-H "Authorization: Bearer $MAETRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Block secrets in tool calls",
"type": "data_pattern",
"action": "block",
"severity": "high",
"status": "active",
"data_direction": "outbound",
"custom_patterns": [
"AKIA[0-9A-Z]{16}",
"-----BEGIN (RSA )?PRIVATE KEY-----"
]
}'
{
"rule": {
"id": "rule_9f2",
"name": "Block secrets in tool calls",
"type": "data_pattern",
"action": "block",
"severity": "high",
"status": "active",
"is_built_in": false,
"applies_to_all": true,
"trigger_count": 0,
"last_triggered_at": null,
"version": 1,
"updated_at": "2026-07-07T11:40:00.000Z"
}
}
Actualizar una regla#
PATCH /v1/secure/rules/{id} - Requiere el alcance secure:rules:write.
Sólo los campos que envían son cambiados; omitir el resto para dejarlos intactos. Acepta las los mismos campos que crear (todo lo opcional aquí). Las reglas incorporadas no pueden ser editadas. Un uso común está dando vueltas draft Reglas para active, o marcar una acción de block hacia abajo flag:
curl -X PATCH "https://api.maetra.io/v1/secure/rules/rule_9f2" \
-H "Authorization: Bearer $MAETRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "active",
"action": "flag"
}'
{
"rule": {
"id": "rule_9f2",
"name": "Block secrets in tool calls",
"action": "flag",
"status": "active",
"version": 2,
"updated_at": "2026-07-07T12:02:00.000Z"
}
}
Nota Campos de tipo Lista (
custom_patterns,tool_names,agent_ids, ... reemplazado cuando los envías, envía la lista completa deseada, no un delta. Omitir una lista enteramente para dejarla sin cambios.
Artículo objeto#
| Campo | Descripción |
|---|---|
id | Identificador de reglas. |
name / description | Etiquetas de cara humana. |
type | data_pattern, policy_dsl, prompt_pattern, tool_call. |
action | block, flag, log. |
severity | critical, high, medium, low. |
status | active, archived, draft. |
is_built_in | Si Maetra envía esta regla por defecto. |
applies_to_all | Si se aplica a cada agente. |
trigger_count | ¿Cuántas veces ha coincidido? |
last_triggered_at | ISO 8601 del último partido, o null. |
version | Incrementos en cada edición. |
updated_at | ISO 8601 del último cambio. |