概要
ポリシーはカテゴリごとにグループ化されています:| カテゴリ | ポリシー | フックタイプ |
|---|---|---|
| 危険なコマンド | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
| インフラコマンド | block-kubectl, block-terraform, block-aws-cli, block-gcloud, block-az-cli, block-helm, block-gh-pipeline | PreToolUse |
| シークレット(サニタイザー) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
| 環境 | block-env-files, protect-env-vars | PreToolUse |
| ファイルアクセス | block-read-outside-cwd, block-secrets-write | PreToolUse |
| Git | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
| データベース | warn-destructive-sql, warn-schema-alteration | PreToolUse |
| 警告 | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
| パッケージマネージャー | prefer-package-manager | PreToolUse |
| ワークフロー | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-no-conflicts-before-stop, require-ci-green-before-stop | Stop |
block-— エージェントの処理を停止します。warn-— エージェントが自己修正できるよう追加のコンテキストを提供します。sanitize-— エージェントが参照する前にツール出力から機密データを除去します。
名前空間
すべてのポリシーは<namespace>/<name> のスロットに存在します。組み込みポリシーは failproofai/ 名前空間に属します。例:failproofai/sanitize-jwt。名前空間により、短い名前が似ているカスタムポリシーやサードパーティポリシーを同時に読み込んでも衝突を防ぎます。
設定ファイルでは、短い名前または完全修飾名のどちらでも組み込みポリシーを参照できます。どちらの形式も同じポリシーに解決されます:
/ が含まれない場合、failproofai はデフォルト名前空間 failproofai に属するものとして扱います。すでに / を含む名前(例:myorg/foo、custom/my-hook)はそのまま保持されます。
require-— 条件が満たされるまで Stop イベントをブロックします。
危険なコマンド
元に戻しにくい操作やホストシステムに損害を与えかねない操作をエージェントが実行するのを防ぎます。block-sudo
イベント: PreToolUse (Bash)デフォルト:
sudo コマンドを含むすべての実行を拒否します。
sudo キーワードを含む実行をブロックします。パターンマッチングは生の文字列ではなく、解析済みのコマンドトークンに対して行われるため、シェルオペレーターインジェクションによる回避を防ぎます。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowPatterns | string[] | [] | 許可する正確なコマンドプレフィックス。各エントリは解析済みの argv トークンに対してマッチングされます。 |
sudo systemctl status nginx は許可されますが、sudo rm /etc/hosts は拒否されます。
パターンは生のコマンド文字列ではなく、解析済みトークンに対してマッチングされます。これにより、末尾に追加されたシェルオペレーターを使った回避を防ぎます(例:
sudo systemctl status x; rm -rf / は sudo systemctl status * にマッチしません)。block-rm-rf
イベント: PreToolUse (Bash)デフォルト:
rm -rf、rm -fr、および同様の再帰的削除の形式を拒否します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowPaths | string[] | [] | 再帰的削除が安全なパス(例:/tmp)。 |
block-curl-pipe-sh
イベント: PreToolUse (Bash)デフォルト:
curl <url> | bash、curl <url> | sh、wget <url> | bash、および同様のパターンを拒否します。
パラメーターなし。
block-failproofai-commands
イベント: PreToolUse (Bash)デフォルト: failproofai 自体をアンインストールまたは無効化するコマンドを拒否します(例:
npm uninstall failproofai、failproofai policies --uninstall)。
パラメーターなし。
インフラコマンド
コーディングエージェントがインフラ CLI を実行したり CI/CD パイプラインをトリガーしたりするのを防ぎます。このカテゴリのすべてのポリシーは オプトイン(defaultEnabled: false)です。kubectl、terraform などを正当に呼び出す必要があるエージェントは、ポリシーを有効化しない限り影響を受けません。有効化すると、allowPatterns のエントリとマッチしない限り、マッチした CLI のすべての呼び出しが拒否されます。
パターン文法は block-sudo と同じです:トークンは解析済みの argv に対してマッチングされ、* は1トークンのワイルドカードです。スタンドアロンのシェルオペレーター(&&、||、|、;)を含むコマンドや、シェルメタキャラクターが埋め込まれたトークンを含むコマンドは、インジェクション回避を防ぐためにアローリストマッチングの前に拒否されます。
block-kubectl
イベント: PreToolUse (Bash)デフォルト: すべての
kubectl 呼び出しを拒否します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowPatterns | string[] | [] | 許可する kubectl コマンドプレフィックス。 |
kubectl get pods は許可されますが、kubectl apply -f deploy.yaml は拒否されます。
block-terraform
イベント: PreToolUse (Bash)デフォルト: すべての
terraform または tofu(OpenTofu)呼び出しを拒否します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowPatterns | string[] | [] | 許可する terraform/tofu コマンドプレフィックス。 |
block-aws-cli
イベント: PreToolUse (Bash)デフォルト: すべての
aws CLI 呼び出しを拒否します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowPatterns | string[] | [] | 許可する aws CLI コマンドプレフィックス。 |
block-gcloud
イベント: PreToolUse (Bash)デフォルト: すべての
gcloud(Google Cloud)CLI 呼び出しを拒否します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowPatterns | string[] | [] | 許可する gcloud コマンドプレフィックス。 |
block-az-cli
イベント: PreToolUse (Bash)デフォルト: すべての
az(Azure)CLI 呼び出しを拒否します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowPatterns | string[] | [] | 許可する az CLI コマンドプレフィックス。 |
block-helm
イベント: PreToolUse (Bash)デフォルト: すべての
helm 呼び出しを拒否します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowPatterns | string[] | [] | 許可する helm コマンドプレフィックス。 |
block-gh-pipeline
イベント: PreToolUse (Bash)デフォルト: 状態を変更するかパイプラインをトリガーする以下の
gh CLI サブコマンドを拒否します:
gh workflow run、gh workflow enable、gh workflow disablegh run rerun、gh run cancelgh pr mergegh release create、gh release deletegh cache deletegh secret set、gh secret delete
gh pr view、gh pr list、gh run list、gh release view、gh api repos/.../... などの読み取り専用 gh サブコマンドは、このポリシーにマッチしません。これらは failproofai 自身の require-ci-green-before-stop を含むワークフローチェックで日常的に必要とされます。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowPatterns | string[] | [] | 通常は拒否される場合でも許可する特定のスクリプト化された呼び出し。 |
シークレット(サニタイザー)
エージェントが認証情報をコンテキストや出力に漏洩させるのを防ぎます。サニタイザーポリシーは PostToolUse イベントで発火します。Claude が Bash コマンドを実行したり、ファイルを読んだり、ツールを呼び出したりすると、これらのポリシーは Claude に返される前に出力を検査します。シークレットパターンが検出された場合、ポリシーは出力が返されるのを防ぐ deny 決定を返します。sanitize-jwt
イベント: PostToolUse(すべてのツール)デフォルト: JWT トークン(
. で区切られた3つの base64url セグメント)を削除します。
パラメーターなし。
sanitize-api-keys
イベント: PostToolUse(すべてのツール)デフォルト: 一般的な API キー形式を削除します:Anthropic(
sk-ant-)、OpenAI(sk-)、GitHub PAT(ghp_)、AWS アクセスキー(AKIA)、Stripe キー(sk_live_、sk_test_)、Google API キー(AIza)。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
additionalPatterns | { regex: string; label: string }[] | [] | シークレットとして扱う追加の正規表現パターン。 |
sanitize-connection-strings
イベント: PostToolUse(すべてのツール)デフォルト: 認証情報が埋め込まれたデータベース接続文字列を削除します(例:
postgresql://user:password@host/db)。
パラメーターなし。
sanitize-private-key-content
イベント: PostToolUse(すべてのツール)デフォルト: PEM ブロック(
-----BEGIN PRIVATE KEY-----、-----BEGIN RSA PRIVATE KEY----- など)を削除します。
パラメーターなし。
sanitize-bearer-tokens
イベント: PostToolUse(すべてのツール)デフォルト: トークンが20文字以上の
Authorization: Bearer <token> ヘッダーを削除します。
パラメーターなし。
環境
機密性の高い環境設定がエージェントによって読み取られたり公開されたりするのを防ぎます。block-env-files
イベント: PreToolUse (Bash, Read)デフォルト:
cat .env や、.env をファイルパスとして指定した Read ツール呼び出しなどによる .env ファイルの読み取りを拒否します。
.envrc やその他の環境関連ファイルはブロックしません。正確に .env という名前のファイルのみが対象です。
パラメーターなし。
protect-env-vars
イベント: PreToolUse (Bash)デフォルト: 環境変数を表示するコマンドを拒否します:
printenv、env、echo $VAR。
パラメーターなし。
ファイルアクセス
エージェントをプロジェクト境界内で作業させ、機密ファイルへのアクセスを防ぎます。block-read-outside-cwd
イベント: PreToolUse (Read, Bash)デフォルト: プロジェクトルート外のファイルの読み取りを拒否します。境界は
CLAUDE_PROJECT_DIR(Claude Code がセッションごとに1回設定)で、この変数が未設定の場合はセッションの現在の作業ディレクトリにフォールバックします。ライブの cwd ではなくプロジェクトルートを使用することで、Claude がサブディレクトリに cd した後も境界が安定したままになります。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowPaths | string[] | [] | プロジェクトルート外であっても許可する絶対パスプレフィックス。 |
block-secrets-write
イベント: PreToolUse (Write, Edit)デフォルト: 秘密鍵と証明書に一般的に使用されるファイルへの書き込みを拒否します:
id_rsa、id_ed25519、*.key、*.pem、*.p12、*.pfx。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
additionalPatterns | string[] | [] | ブロックする追加のファイル名パターン(グロブ形式)。 |
Git
元に戻しにくい誤ったプッシュ、強制プッシュ、ブランチ操作ミスを防ぎます。block-push-master
イベント: PreToolUse (Bash)デフォルト:
git push origin main および git push origin master を拒否します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | 直接プッシュできないブランチ名。 |
block-work-on-main
イベント: PreToolUse (Bash)デフォルト: 作業ツリーが
main または master にある状態での git commit、git merge、git rebase、git cherry-pick を拒否します。ブランチの作成と切り替え(git checkout、git checkout -b、git switch、git switch -c)は影響を受けません。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | commit/merge/rebase/cherry-pick を拒否するブランチ名。 |
block-force-push
イベント: PreToolUse (Bash)デフォルト:
git push --force および git push -f を拒否します。
ポリシー固有のパラメーターはありません。代替手段を提示するには、汎用の hint を使用してください:
warn-git-amend
イベント: PreToolUse (Bash)デフォルト:
git commit --amend を実行する際に、慎重に進むよう Claude に指示します。コマンドはブロックしません。
パラメーターなし。
warn-git-stash-drop
イベント: PreToolUse (Bash)デフォルト:
git stash drop を実行する前に確認するよう Claude に指示します。コマンドはブロックしません。
パラメーターなし。
warn-all-files-staged
イベント: PreToolUse (Bash)デフォルト:
git add -A または git add . を実行する際に、ステージングする内容を確認するよう Claude に指示します。コマンドはブロックしません。
パラメーターなし。
データベース
データベースに対して実行される前に、破壊的な SQL 操作を検出します。warn-destructive-sql
イベント: PreToolUse (Bash)デフォルト:
DROP TABLE、DROP DATABASE、または WHERE 句なしの DELETE を含む SQL を実行する前に確認するよう Claude に指示します。
パラメーターなし。
warn-schema-alteration
イベント: PreToolUse (Bash)デフォルト:
ALTER TABLE ステートメントを実行する前に確認するよう Claude に指示します。
パラメーターなし。
警告
リスクはあるものの破壊的ではない操作の前に、エージェントに追加のコンテキストを提供します。warn-large-file-write
イベント: PreToolUse (Write)デフォルト: 1024 KB を超えるファイルを書き込む前に確認するよう Claude に指示します。 パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
thresholdKb | number | 1024 | 警告が発生するファイルサイズのしきい値(キロバイト単位)。 |
フックハンドラーはペイロードに対して 1 MB の stdin 制限を適用します。小さなコンテンツでこのポリシーをテストするには、
thresholdKb を 1024 より十分小さい値に設定してください。warn-package-publish
イベント: PreToolUse (Bash)デフォルト:
npm publish を実行する前に確認するよう Claude に指示します。
パラメーターなし。
warn-background-process
イベント: PreToolUse (Bash)デフォルト:
nohup、&、disown、screen を使ってバックグラウンドプロセスを起動する際に注意するよう Claude に指示します。
パラメーターなし。
warn-global-package-install
イベント: PreToolUse (Bash)デフォルト:
npm install -g、yarn global add、または仮想環境なしの pip install を実行する前に確認するよう Claude に指示します。
パラメーターなし。
パッケージマネージャー
エージェントが使用できるパッケージマネージャーを制限します。prefer-package-manager
イベント: PreToolUse (Bash)デフォルト: 無効。有効化すると、
allowed リストにないパッケージマネージャーのコマンドをブロックし、許可されたマネージャーを使用してコマンドを書き直すよう Claude に指示します。
検出対象:pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
allowed | string[] | [] | 許可するパッケージマネージャー名。リストにない検出されたマネージャーはブロックされます。空の場合、ポリシーは何もしません。 |
blocked | string[] | [] | 組み込みリストに加えてブロックする追加のマネージャー名(例:['pdm', 'pipx'])。 |
blocked を使用してください。
設定例:
pip install flask と pdm install flask はどちらも拒否され、uv または bun を使用するよう指示するメッセージが表示されます。uv pip install flask のようなコマンドは、uv がアローリストに含まれており最初にチェックされるため、許可されます。
AI の動作
エージェントが行き詰まったり予期しない動作をしたりするのを検出します。warn-repeated-tool-calls
イベント: PreToolUse(すべてのツール)デフォルト: 同じツールが同一パラメーターで3回以上呼び出された場合に、再考するよう Claude に指示します。これはエージェントがループに陥っている一般的なサインです。 パラメーターなし。
ワークフロー
セッション終了時に規律あるワークフローを強制します。これらのポリシーは Stop イベントで発火し、各条件が満たされるまでエージェントの停止を拒否します。自然な依存チェーン(コミット → プッシュ → PR → CI)に従います。ポリシーが拒否した場合、チェーン内の後続ポリシーはスキップされます(deny はショートサーキットします)。 すべてのワークフローポリシーは フェイルオープンです:必要なツールが利用できない場合(例:gh がインストールされていない、git リモートがない)、ポリシーはチェックがスキップされた理由を説明する情報メッセージとともに許可します。
CLI ごとの Stop セマンティクス
Stop の強制は、7つのサポートされている CLI によって若干異なります。各 CLI が異なる「エージェント終了」フックコントラクトを公開しているためです。結果は同じ(ワークフローゲートが失敗している状態でエージェントが停止することを防ぐ)ですが、仕組みは異なります。以下の表に要約します。require-*-before-stop ポリシーを有効化する前に理解しておく価値のあるユーザー向けの注意点があるのは Pi のみです。
| CLI | ゲートが発火するタイミング | ユーザーが見るもの |
|---|---|---|
| Claude Code | 同じエージェントループ、即座 | Claude は作業を継続し、問題を修正してから再度終了を試みます。ユーザーには中断は見えません。 |
| Codex | 同じエージェントループ、即座 | Claude と同じ。 |
| GitHub Copilot CLI | 同じエージェントループ、即座 | Claude と同じ(Copilot の {decision:"block", reason} リトライチャネルを使用 — Copilot CLI 1.0.41 に対して実証的に検証済み)。 |
| Cursor Agent | 同じエージェントループ、即座 | Claude と同じ(Cursor の {followup_message} チャネルを使用 — loop_limit、デフォルト5回のリトライまで)。 |
| Gemini CLI | 同じエージェントループ、即座 | Claude と同じ(AfterAgent の {decision:"block", reason} チャネルを使用)。 |
| OpenCode | 同じエージェントループ、即座 | Claude と同じ(hookSpecificOutput.additionalContext を通じてルーティングされた OpenCode の client.session.prompt(...) SDK 呼び出しを使用)。 |
| Pi (pi-coding-agent) | 次のユーザーターン | Pi はゲートが発火すると見えた形で停止します — エージェントループが終了し、プロンプトに戻ります。次にプロンプトを送信したときにゲートが発火します:failproofai はそのターンのシステムプロンプトに MANDATORY ACTION REQUIRED ディレクティブを先頭に追加し、LLM にリクエストを実行する前にワークフローステップ(コミット、プッシュなど)を完了するよう指示します。 |
Pi の制限。 Pi の
AgentEndEvent(Claude の Stop フックに相当するアップストリーム)には Result 型がありません。発火するときには Pi のエージェントループはすでに終了しています。Pi は Claude / Copilot / Cursor / Gemini / OpenCode のように同じループを強制的に再試行させることができません。failproofai はゲートを Pi の before_agent_start イベント(次のユーザープロンプト後に発火)にシフトすることで、現在のターンではなく次のターンでワークフローチェックを強制します。実際の動作:- Pi が停止した後、deny の理由は Pi のセッション ID をキーとしてメモリ内にキャプチャされます。同じ Pi プロセスで次に送信するプロンプトがそれを消費します:LLM はシステムプロンプトの先頭に
MANDATORY ACTION REQUIREDディレクティブが表示され、コミット(またはプッシュ / PR 作成 / CI 待機)してからリクエストを続行します。キャプチャされた deny の理由はワンショットです — 一度消費されるとゲートはクリアされます。 - ゲートは Pi のプロセスライフタイムに束縛されます。ターン間で Pi を
Ctrl+Cで終了したりキルしたりすると、メモリ内のエントリはプロセスとともにドロップされ、ゲートは見逃されます。Claude、Copilot、Cursor、Gemini、OpenCode も同じ制約があります(エージェントをキルするとゲートが見逃されます)— Pi はエージェントがゲートの前に見えた形で終了するため、より目立つだけです。 - 保留中の deny は、何らかの理由(
new/resume/fork/quit)によるsession_shutdownでもクリアされます。そのため、以前のセッションの古いゲートが同じ Pi プロセスで開始された新しいセッションに漏れることはありません。
Stop ポリシーを実行してください。このギャップを埋めるための AgentEndEvent への将来の Result 型追加について、Pi のアップストリームを追跡しています。require-commit-before-stop
イベント: Stopデフォルト: コミットされていない変更(変更済み、ステージ済み、または追跡されていないファイル)がある場合に停止を拒否します。作業ディレクトリがクリーンな場合は情報メッセージを返します。 パラメーターなし。
require-push-before-stop
イベント: Stopデフォルト: プッシュされていないコミットがある場合、または現在のブランチにリモートトラッキングブランチがない場合に停止を拒否します。必要に応じてトラッキングブランチを作成するために
git push -u を提案します。リモートが設定されていない場合はフェイルオープンします。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
remote | string | "origin" | プッシュ先のリモート名。 |
require-pr-before-stop
イベント: Stopデフォルト: 現在のブランチに対してプルリクエストが存在しない場合、またはマージされずにクローズされた PR がある場合に停止を拒否します。
gh pr create で PR を作成するよう Claude に指示します。PR が マージ済みの場合、ポリシーは許可します(作業が公開されています)。メッセージはブランチを切り替えるよう示唆します(git checkout main && git pull)。
パラメーターなし。
このポリシーには GitHub CLI(
gh)がインストールされ認証されている必要があります。
プルリクエストへの読み取りアクセスのために repo スコープを持つ個人アクセストークンで gh auth login を実行してください。gh がインストールされていないか認証されていない場合、ポリシーはフェイルオープンし、理由を Claude に報告します。require-no-conflicts-before-stop
イベント: Stopデフォルト: 現在のブランチがベースブランチにクリーンにマージできない場合に停止を拒否します。ポリシーはまず GitHub 上のブランチに
OPEN な PR があることを確認します — PR がない場合、強制するマージターゲットがないため、ポリシー全体がショートサーキットして許可します。OPEN な PR が確認されると、2つの独立したプローブが実行されます:
- ローカル —
git merge-tree --write-tree --name-only origin/<baseBranch> HEAD。コンフリクトが発生した場合、deny メッセージは競合するファイルを名前で示し、Claude が何を解決すべきかを正確に把握できるようにします。 - GitHub — 事前チェックですでに取得した
gh pr view --json mergeable,stateの結果を再利用します。ローカルのorigin/<baseBranch>が古い場合に見逃してしまうコンフリクトを検出します(例:最後のフェッチ以降に誰かがmainに競合する PR をマージした場合)。CONFLICTINGの結果は拒否されます。UNKNOWNの結果も拒否され、Claude は再度停止を試みる前に約10秒待って再チェックするよう指示されます — これにより、GitHub が再計算中の偽陰性を防ぎます。
gh がインストールされていない、ブランチに PR が存在しない、PR の状態が OPEN でない(例:MERGED、CLOSED)、または gh pr view が解析不能な出力を返す。また、origin/<baseBranch> がローカルに存在しない場合や、ベースより先のコミットがない場合もフェイルオープンします — これらのレイヤー1フォールスルーは、許可する前にキャッシュされた PR のマージ可能性を参照します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
baseBranch | string | "main" | コンフリクトをチェックするベースブランチ。 |
このポリシーには GitHub CLI(
gh)が必要です。ポリシーは競合プローブを実行する前に gh pr view を使用して OPEN な PR が存在することを確認します — gh がない場合、ポリシーはショートサーキットして許可します。プルリクエストへの読み取りアクセスのために repo スコープを持つ個人アクセストークンで gh auth login を実行してください。require-ci-green-before-stop
イベント: Stopデフォルト: 現在のブランチで CI チェックが失敗しているかまだ実行中の場合に停止を拒否します。GitHub Actions ワークフローの実行とサードパーティのボットチェック(例:CodeRabbit、SonarCloud、Codecov)の両方をチェックします。
skipped、cancelled、neutral の結論は失敗として扱いません(後者は例えば、Socket Security が外部コントリビューターの PR に対して success/failure ではなく intentionally neutral を報告する場合をカバーします)。すべてのチェックが通過すると情報メッセージを返します。
パラメーターなし。
このポリシーには GitHub CLI(
gh)がインストールされ認証されている必要があります。
Actions ワークフローの実行と Checks API への読み取りアクセスのために repo スコープを持つ個人アクセストークンで gh auth login を実行してください。gh がインストールされていないか認証されていない場合、ポリシーはフェイルオープンし、理由を Claude に報告します。個別ポリシーの無効化
設定のenabledPolicies から特定のポリシーを削除するか、ダッシュボードの「ポリシー」タブでオフに切り替えてください。
enabledPolicies にリストされていないポリシーは、policyParams にエントリが存在しても実行されません。
