> ## 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

> Consulte todas as políticas integradas do Failproof AI, seus gatilhos, estado recomendado e parâmetros configuráveis.

O pacote instalado é a fonte de verdade para disponibilidade de políticas. Execute `failproofai policies` após cada atualização, pois entradas do catálogo e comportamentos podem mudar com a versão do pacote.

## Baseline recomendado

A seleção recomendada pela configuração guiada habilita atualmente sanitizadores de segredos, proteções de ambiente, autoproteção, bloqueios de comandos catastróficos e segurança de branches protegidos:

```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
```

O recomendado é deliberadamente mais restrito do que **Tudo**. Políticas de infraestrutura e fluxo de trabalho podem interromper trabalhos válidos e devem ser habilitadas apenas nos repositórios e máquinas que realmente precisam delas.

## Segredos e ambiente

| Política                       | Gatilho                                                     | Resultado                                                                      |
| ------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------ |
| `sanitize-jwt`                 | `PostToolUse`                                               | Oculta JWTs da saída da ferramenta antes que o modelo os veja.                 |
| `sanitize-api-keys`            | `PostToolUse`                                               | Oculta chaves comuns de OpenAI, Anthropic, GitHub, AWS, Stripe e Google.       |
| `sanitize-connection-strings`  | `PostToolUse`                                               | Oculta strings de conexão de banco de dados que contêm credenciais.            |
| `sanitize-private-key-content` | `PostToolUse`                                               | Oculta corpos de chaves privadas PEM.                                          |
| `sanitize-bearer-tokens`       | `PostToolUse`                                               | Oculta tokens bearer de autorização.                                           |
| `protect-env-vars`             | `PreToolUse` em ferramentas de shell                        | Bloqueia comandos que expõem variáveis de ambiente.                            |
| `block-env-files`              | `PreToolUse`                                                | Bloqueia leituras e escritas de arquivos `.env`.                               |
| `block-read-outside-cwd`       | `PreToolUse` em ferramentas de leitura, glob, grep ou shell | Mantém as leituras dentro do diretório de trabalho da sessão.                  |
| `block-secrets-write`          | `PreToolUse` em ferramentas de escrita                      | Bloqueia escritas em nomes de arquivo comuns de chaves secretas e credenciais. |

## Comandos perigosos e infraestrutura

| Política                     | Gatilho                           | Resultado                                                                                   |
| ---------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------- |
| `block-self-pause`           | `PreToolUse`, `PermissionRequest` | Impede que um agente pause sua própria aplicação de regras.                                 |
| `block-sudo`                 | `PreToolUse`, `PermissionRequest` | Bloqueia `sudo`, a menos que um padrão de permissão corresponda.                            |
| `block-curl-pipe-sh`         | `PreToolUse`                      | Bloqueia scripts baixados e redirecionados diretamente para um shell.                       |
| `block-rm-rf`                | `PreToolUse`                      | Bloqueia padrões de exclusão recursiva catastrófica.                                        |
| `block-failproofai-commands` | `PreToolUse`                      | Impede que agentes alterem ou desinstalarem o Failproof AI.                                 |
| `block-kubectl`              | `PreToolUse`                      | Controla comandos do Kubernetes.                                                            |
| `block-terraform`            | `PreToolUse`                      | Controla comandos do Terraform e OpenTofu.                                                  |
| `block-aws-cli`              | `PreToolUse`                      | Controla comandos da AWS CLI.                                                               |
| `block-gcloud`               | `PreToolUse`                      | Controla comandos da Google Cloud CLI.                                                      |
| `block-az-cli`               | `PreToolUse`                      | Controla comandos da Azure CLI.                                                             |
| `block-helm`                 | `PreToolUse`                      | Controla comandos do Helm.                                                                  |
| `block-gh-pipeline`          | `PreToolUse`                      | Controla operações mutantes de workflow, run, merge, release, cache e secret da GitHub CLI. |

## Segurança de Git e banco de dados

| Política                 | Gatilho      | Resultado                                                                                               |
| ------------------------ | ------------ | ------------------------------------------------------------------------------------------------------- |
| `block-push-master`      | `PreToolUse` | Bloqueia pushes diretos para branches protegidos configurados.                                          |
| `block-force-push`       | `PreToolUse` | Bloqueia force-pushes; `--force-with-lease` permanece permitido pela implementação atual.               |
| `block-work-on-main`     | `PreToolUse` | Bloqueia commits e merges em branches protegidos.                                                       |
| `warn-git-amend`         | `PreToolUse` | Avisa antes de reescrever um commit com `--amend`.                                                      |
| `warn-git-stash-drop`    | `PreToolUse` | Avisa antes de descartar ou limpar stashes permanentemente.                                             |
| `warn-all-files-staged`  | `PreToolUse` | Avisa em uso amplo de `git add -A`, `git add .` ou `git add --all`.                                     |
| `warn-destructive-sql`   | `PreToolUse` | Avisa em comandos `DROP`, `TRUNCATE` e `DELETE` sem `WHERE` em clientes de banco de dados reconhecidos. |
| `warn-schema-alteration` | `PreToolUse` | Avisa em operações reconhecidas de `ALTER TABLE` para colunas e renomeações.                            |

## Pacotes, comportamento do sistema e loops de agentes

| Política                      | Gatilho                                | Resultado                                                                       |
| ----------------------------- | -------------------------------------- | ------------------------------------------------------------------------------- |
| `warn-package-publish`        | `PreToolUse`                           | Avisa antes de publicar em registros de pacotes.                                |
| `warn-global-package-install` | `PreToolUse`                           | Avisa antes de instalar pacotes globalmente.                                    |
| `prefer-package-manager`      | `PreToolUse`                           | Instrui o agente a usar um gerenciador de pacotes permitido.                    |
| `warn-large-file-write`       | `PreToolUse` em ferramentas de escrita | Avisa acima do limite de tamanho de arquivo configurado.                        |
| `warn-background-process`     | `PreToolUse`                           | Avisa em padrões de processos em segundo plano desanexados ou de longa duração. |
| `warn-repeated-tool-calls`    | `PreToolUse`                           | Avisa após três ou mais chamadas de ferramenta idênticas.                       |

## Fluxo de trabalho ao fim da tarefa

Estas políticas exigem um harness que emita um evento `Stop` compatível.

| Política                           | Resultado                                                                   |
| ---------------------------------- | --------------------------------------------------------------------------- |
| `require-commit-before-stop`       | Recusa a conclusão enquanto houver trabalho rastreado sem commit.           |
| `require-push-before-stop`         | Recusa a conclusão enquanto houver commits apenas locais.                   |
| `require-pr-before-stop`           | Exige um pull request para o branch atual.                                  |
| `require-no-conflicts-before-stop` | Exige um merge limpo com o branch base configurado.                         |
| `require-ci-green-before-stop`     | Exige que as verificações de CI do HEAD atual sejam concluídas com sucesso. |

## Referência de parâmetros

Configure os parâmetros no objeto `policyParams` do escopo selecionado. Os tipos são validados por cada política.

| Política                           | Parâmetro              | Tipo e padrão                                        |
| ---------------------------------- | ---------------------- | ---------------------------------------------------- |
| `sanitize-api-keys`                | `additionalPatterns`   | `pattern[]`, `[]`; entradas contêm `regex` e `label` |
| `block-read-outside-cwd`           | `allowPaths`           | `string[]`, `[]`                                     |
| `block-sudo`                       | `allowPatterns`        | `string[]`, `[]`                                     |
| `block-rm-rf`                      | `allowPaths`           | `string[]`, `[]`                                     |
| Bloqueadores de infraestrutura     | `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>
  Um padrão de permissão amplia o que um agente pode fazer. Teste a tokenização exata e as variantes de comando no harness alvo antes de implantá-lo em uma frota.
</Warning>
