> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Catálogo de políticas integradas

> Consulta cada política integrada de Failproof AI, su activador, estado recomendado y parámetros configurables.

El paquete instalado es la fuente de verdad para la disponibilidad de políticas. Ejecuta `failproofai policies` después de cada actualización, ya que las entradas del catálogo y el comportamiento pueden cambiar con la versión del paquete.

## Línea base recomendada

La selección recomendada del asistente de configuración guiada activa actualmente los sanitizadores de secretos, las protecciones de entorno, la autoprotección, las salvaguardas de comandos catastróficos y la seguridad de ramas protegidas:

```text theme={null}
sanitize-jwt                 sanitize-api-keys
sanitize-connection-strings sanitize-private-key-content
sanitize-bearer-tokens       protect-env-vars
block-env-files              block-secrets-write
block-self-pause             block-failproofai-commands
block-sudo                   block-curl-pipe-sh
block-rm-rf                  block-push-master
block-force-push
```

La configuración recomendada es deliberadamente más restrictiva que **Todo**. Las políticas de infraestructura y flujo de trabajo pueden interrumpir trabajo válido, por lo que deben habilitarse únicamente en los repositorios y máquinas que las necesiten.

## Secretos y entorno

| Política                       | Activador                                                   | Resultado                                                                           |
| ------------------------------ | ----------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `sanitize-jwt`                 | `PostToolUse`                                               | Redacta los JWT de la salida de la herramienta antes de que el modelo los procese.  |
| `sanitize-api-keys`            | `PostToolUse`                                               | Redacta claves comunes de OpenAI, Anthropic, GitHub, AWS, Stripe y Google.          |
| `sanitize-connection-strings`  | `PostToolUse`                                               | Redacta cadenas de conexión a bases de datos que contengan credenciales.            |
| `sanitize-private-key-content` | `PostToolUse`                                               | Redacta cuerpos de claves privadas PEM.                                             |
| `sanitize-bearer-tokens`       | `PostToolUse`                                               | Redacta tokens bearer de autorización.                                              |
| `protect-env-vars`             | `PreToolUse` en herramientas de shell                       | Bloquea comandos que vuelcan variables de entorno.                                  |
| `block-env-files`              | `PreToolUse`                                                | Bloquea lecturas y escrituras de archivos `.env`.                                   |
| `block-read-outside-cwd`       | `PreToolUse` en herramientas de lectura, glob, grep o shell | Restringe las lecturas al directorio de trabajo de la sesión.                       |
| `block-secrets-write`          | `PreToolUse` en herramientas de escritura                   | Bloquea escrituras en nombres de archivo comunes de claves secretas y credenciales. |

## Comandos peligrosos e infraestructura

| Política                     | Activador                         | Resultado                                                                                               |
| ---------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `block-self-pause`           | `PreToolUse`, `PermissionRequest` | Impide que un agente pause su propia aplicación de políticas.                                           |
| `block-sudo`                 | `PreToolUse`, `PermissionRequest` | Bloquea `sudo` salvo que coincida un patrón de lista de permitidos.                                     |
| `block-curl-pipe-sh`         | `PreToolUse`                      | Bloquea scripts descargados que se redirigen directamente a un shell.                                   |
| `block-rm-rf`                | `PreToolUse`                      | Bloquea patrones de eliminación recursiva catastrófica.                                                 |
| `block-failproofai-commands` | `PreToolUse`                      | Impide que los agentes modifiquen o desinstalen Failproof AI.                                           |
| `block-kubectl`              | `PreToolUse`                      | Controla los comandos de Kubernetes.                                                                    |
| `block-terraform`            | `PreToolUse`                      | Controla los comandos de Terraform y OpenTofu.                                                          |
| `block-aws-cli`              | `PreToolUse`                      | Controla los comandos de la CLI de AWS.                                                                 |
| `block-gcloud`               | `PreToolUse`                      | Controla los comandos de la CLI de Google Cloud.                                                        |
| `block-az-cli`               | `PreToolUse`                      | Controla los comandos de la CLI de Azure.                                                               |
| `block-helm`                 | `PreToolUse`                      | Controla los comandos de Helm.                                                                          |
| `block-gh-pipeline`          | `PreToolUse`                      | Controla las operaciones mutantes de workflow, run, merge, release, cache y secret de la CLI de GitHub. |

## Seguridad en Git y bases de datos

| Política                 | Activador    | Resultado                                                                                                   |
| ------------------------ | ------------ | ----------------------------------------------------------------------------------------------------------- |
| `block-push-master`      | `PreToolUse` | Bloquea los push directos a las ramas protegidas configuradas.                                              |
| `block-force-push`       | `PreToolUse` | Bloquea los force-push; `--force-with-lease` sigue estando permitido por la implementación actual.          |
| `block-work-on-main`     | `PreToolUse` | Bloquea commits y merges en ramas protegidas.                                                               |
| `warn-git-amend`         | `PreToolUse` | Advierte antes de reescribir un commit con `--amend`.                                                       |
| `warn-git-stash-drop`    | `PreToolUse` | Advierte antes de eliminar o limpiar stashes de forma permanente.                                           |
| `warn-all-files-staged`  | `PreToolUse` | Advierte sobre `git add -A`, `git add .` o `git add --all` de amplio alcance.                               |
| `warn-destructive-sql`   | `PreToolUse` | Advierte sobre `DROP`, `TRUNCATE` y `DELETE` sin `WHERE` a través de clientes de base de datos reconocidos. |
| `warn-schema-alteration` | `PreToolUse` | Advierte sobre operaciones reconocidas de `ALTER TABLE` en columnas y renombrados.                          |

## Paquetes, comportamiento del sistema y bucles de agente

| Política                      | Activador                                 | Resultado                                                                               |
| ----------------------------- | ----------------------------------------- | --------------------------------------------------------------------------------------- |
| `warn-package-publish`        | `PreToolUse`                              | Advierte antes de publicar en registros de paquetes.                                    |
| `warn-global-package-install` | `PreToolUse`                              | Advierte antes de instalar paquetes de forma global.                                    |
| `prefer-package-manager`      | `PreToolUse`                              | Instruye al agente para que use un gestor de paquetes permitido.                        |
| `warn-large-file-write`       | `PreToolUse` en herramientas de escritura | Advierte cuando se supera el umbral de tamaño de archivo configurado.                   |
| `warn-background-process`     | `PreToolUse`                              | Advierte sobre patrones de procesos en segundo plano desvinculados o de larga duración. |
| `warn-repeated-tool-calls`    | `PreToolUse`                              | Advierte tras tres o más llamadas idénticas a una herramienta.                          |

## Flujo de trabajo al finalizar la tarea

Estas políticas requieren un harness que emita un evento `Stop` compatible.

| Política                           | Resultado                                                                              |
| ---------------------------------- | -------------------------------------------------------------------------------------- |
| `require-commit-before-stop`       | Rechaza la finalización mientras haya trabajo rastreado sin confirmar.                 |
| `require-push-before-stop`         | Rechaza la finalización mientras haya commits que solo existen en local.               |
| `require-pr-before-stop`           | Requiere una pull request para la rama actual.                                         |
| `require-no-conflicts-before-stop` | Requiere un merge limpio contra la rama base configurada.                              |
| `require-ci-green-before-stop`     | Requiere que las comprobaciones de CI del HEAD actual se completen satisfactoriamente. |

## Referencia de parámetros

Configura los parámetros en el objeto `policyParams` del ámbito seleccionado. Los tipos son validados por cada política.

| Política                           | Parámetro              | Tipo y valor por defecto                                    |
| ---------------------------------- | ---------------------- | ----------------------------------------------------------- |
| `sanitize-api-keys`                | `additionalPatterns`   | `pattern[]`, `[]`; las entradas contienen `regex` y `label` |
| `block-read-outside-cwd`           | `allowPaths`           | `string[]`, `[]`                                            |
| `block-sudo`                       | `allowPatterns`        | `string[]`, `[]`                                            |
| `block-rm-rf`                      | `allowPaths`           | `string[]`, `[]`                                            |
| Bloqueadores de infraestructura    | `allowPatterns`        | `string[]`, `[]`                                            |
| `block-secrets-write`              | `additionalPatterns`   | `string[]`, `[]`                                            |
| `block-push-master`                | `protectedBranches`    | `string[]`, `["main", "master"]`                            |
| `block-work-on-main`               | `protectedBranches`    | `string[]`, `["main", "master"]`                            |
| `prefer-package-manager`           | `allowed`, `blocked`   | `string[]`, `[]`                                            |
| `warn-large-file-write`            | `thresholdKb`          | `number`, `1024`                                            |
| `require-push-before-stop`         | `remote`, `baseBranch` | `string`, `"origin"`; `string`, `"main"`                    |
| `require-pr-before-stop`           | `baseBranch`           | `string`, `"main"`                                          |
| `require-no-conflicts-before-stop` | `baseBranch`           | `string`, `"main"`                                          |

```json theme={null}
{
  "enabledPolicies": ["block-sudo", "block-push-master"],
  "policyParams": {
    "block-sudo": {
      "allowPatterns": ["sudo systemctl status"]
    },
    "block-push-master": {
      "protectedBranches": ["main", "release"]
    }
  }
}
```

<Warning>
  Un patrón de lista de permitidos amplía lo que un agente puede hacer. Prueba la tokenización exacta y las variantes de comando en el harness de destino antes de desplegarlo en toda una flota.
</Warning>
