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

# 用語集

> CC Safety Net の用語集です。ポリシー、preset、機能、degraded、判定、rulebook、transparent wrapper、連携方式、fail closed、セグメントなどの用語を定義します。

この用語集は、CC Safety Net のドキュメントで使う用語を定義します。各項目から、詳しい動作を規定するページへ移動できます。

## 基本概念

| 用語 | 定義 |
| - | - |
| **PreToolUse hook** | ツールの実行前に動作する hook。CC Safety Net は各エージェントの `PreToolUse` または同等のイベントを使い、実行前にシェルコマンドを検査します。[仕組み](/docs/ja/guides/how-it-works)を参照してください。 |
| **fail closed** | ガードが信頼できる判定に到達できない場合、その 1 つのツール呼び出しを許可せず**拒否**する動作。予期しない解析エラー、不正または大きすぎる hook 入力、空のコマンド、パーサー上限、strict モードで解析できないコマンドが該当します。無効な設定は fail closed ではなく、degraded になります。[設計原則](/docs/ja/guides/design-principles)と[セキュリティモデル](/docs/ja/guides/security-model)を参照してください。 |
| **判定** | 1 つのツール呼び出しに対するガードの許可または拒否の結果。監査ログがコマンド判定を記録するとき、ルール ID、有効な安全レベル、degraded ランタイムのフォールバック状態を含む 1 つの監査レコードを書き込みます。[監査ログ](/docs/ja/reference/audit-log)を参照してください。 |
| **セグメント** | 複合コマンドをシェル演算子（`&&`、`\|\|`、`\|`、`;`、改行）で分割した 1 つのコマンド。エンジンはセグメントを順に解析し、有効な作業ディレクトリなどの関連状態をセグメント間で引き継ぎます。1 つのセグメントがブロックされると、コマンド全体が拒否されます。[解析エンジン](/docs/ja/guides/analysis-engine)を参照してください。 |
| **解析エンジン** | コマンド文字列を解析し、ブロックするかを決めるプラットフォーム非依存のコア。すべてのエージェント連携が同じエンジンに入力を渡します。[解析エンジン](/docs/ja/guides/analysis-engine)を参照してください。 |
| **連携方式** | CC Safety Net がコーディングエージェント内で動作する方法。標準入力の hook subprocess、エージェントが読み込むプラグイン、プロセス内の拡張機能、イベントプラグインのいずれかです。連携方式によって、エージェントが CC Safety Net を呼び出す方法が変わります。どの連携も同じ解析エンジンを使います。[連携アーキテクチャ](/docs/ja/guides/integration-architecture)を参照してください。 |

## 設定

| 用語 | 定義 |
| - | - |
| **ポリシー** | 設定ドキュメント `policy.json`。既定では `~/.cc-safety-net/policy.json`。安全 preset、機能 override、worktree モード、破壊的コマンド保護、シークレット保護、監査保持を格納します。カスタムルールを格納する場所ではありません。[ポリシー](/docs/ja/configuration/policy)を参照してください。 |
| **プロジェクトポリシー** | プロジェクトルートに置ける `.cc-safety-net/policy.json`。設定したフィールドだけを持つファイルで、省略したフィールドはユーザーポリシーの値をそのまま引き継ぎます。`audit` セクションは持ちません。監査設定はユーザースコープ専用です。書き込みはユーザーポリシーファイルと同じく拒否されます。[ポリシー](/docs/ja/configuration/policy)を参照してください。 |
| **実効ポリシー** | ユーザーポリシーの上にプロジェクトポリシーを重ねた結果。`safety.level`、`workflow.worktree_mode`、およびプロジェクトが設定した各 `enabled` フラグは、プロジェクト側の値が優先されます。ルールごとの override はルール ID 単位でマージされ、`allow_paths` と `deny_paths` は両スコープの和集合になります。プロジェクトが緩和したフィールドは、1 行ずつ報告されます。`CC_SAFETY_NET_PROJECT_TIGHTEN_ONLY=1` を設定すると、これらのフィールドはマージから除外されます。[ポリシー](/docs/ja/configuration/policy#ignore-project-weakenings)を参照してください。 |
| **ポリシースナップショット** | 各ツール呼び出しで、ユーザーとプロジェクトのポリシーファイル、各スコープの `rule.json`、および設定した各設定元の rulebook ファイルから構成される有効なランタイムポリシー。読み込み時に書き込み、ネットワーク要求、キャッシュを実行しません。状態は `ready` と `degraded` の 2 つだけです。[設定の復旧](/docs/ja/configuration/recovery)を参照してください。 |
| **preset** | 継承する機能の既定値を提供する `safety.level` の値。`standard`、`strict`、`paranoid` のいずれかです。override によってどの preset にも一致しない組み合わせになると、報告される有効レベルは `custom` です。[モード](/docs/ja/configuration/modes)を参照してください。 |
| **機能** | preset から継承され、個別に設定できる保護動作。`fail_closed`、`paranoid_rm`、`paranoid_interpreters` のいずれかです。ポリシーファイルの `safety.overrides` は機能を上げ下げします。レガシーの環境変数フラグは上げることしかできません。[モード](/docs/ja/configuration/modes)を参照してください。 |
| **Degraded** | 設定元が拒否されたときのポリシースナップショット状態。検証できない設定元は削除されるか、保護的な既定値へフォールバックします。通常の作業は継続し、すべての診断表示で状態が報告されます。もう 1 つの状態は `ready` です。[設定の復旧](/docs/ja/configuration/recovery)を参照してください。 |

## シェルコマンドの形式

| 用語 | 定義 |
| - | - |
| **シェルラッパー** | `bash -c 'git reset --hard'` など、別のコマンドをラップするシェルコマンド。CC Safety Net は、ラップされたコマンドを最大 10 階層まで再帰的に解析します。[ブロックされるコマンド](/docs/ja/reference/blocked-commands#shell-wrappers-and-interpreter-one-liners)を参照してください。 |
| **インタープリターの 1 行コード** | `python -c 'import os; os.system("rm -rf /")'` のように、コードをインラインで実行するコマンド。既定で危険なパターンを検出して解析します。[ブロックされるコマンド](/docs/ja/reference/blocked-commands#shell-wrappers-and-interpreter-one-liners)を参照してください。 |
| **動的置換** | `$(...)`、`<(...)`、`$VAR` など、実行時の展開に依存するコマンド値または構造。CC Safety Net は、コマンドの種類と安全レベルに従って動的置換を処理します。一部の形式は standard で許可され、fail closed 動作が有効な場合にブロックされます。[解析エンジン](/docs/ja/guides/analysis-engine)を参照してください。 |

## 再帰削除とパス

| 用語 | 定義 |
| - | - |
| **カレントディレクトリ自体を指す対象** | `rm -rf .` のように、カレントディレクトリそのものに解決される、再帰的な `rm`（`rm -r` または `rm -rf`）の対象。すべての安全レベルでブロックされます。[ブロックされるコマンド](/docs/ja/reference/blocked-commands#filesystem-commands)を参照してください。 |
| **実効カレントディレクトリ** | 複合コマンド内の `cd` や `pushd` をまたいで追跡される作業ディレクトリ。再帰的な `rm` の対象分類と worktree の検出に使います。[解析エンジン](/docs/ja/guides/analysis-engine)を参照してください。 |
| **カレントディレクトリ配下の対象** | カレントディレクトリ内に解決される、再帰的な `rm`（`rm -r` または `rm -rf`）の対象、または `find -delete` の起点。既定では許可され、paranoid の `rm` モードではブロックされます。[許可されるコマンド](/docs/ja/reference/allowed-commands#filesystem-commands)を参照してください。 |

## モード

| 用語 | 定義 |
| - | - |
| **strict モード** | `fail_closed` 機能を有効にする `strict` preset。安全に解析できないコマンドを拒否します。ポリシーファイルの `safety.level` を設定するか、`CC_SAFETY_NET_STRICT=1` でレベルを上げます。[モード](/docs/ja/configuration/modes)を参照してください。 |
| **paranoid モード** | strict に加えて `paranoid_rm` と `paranoid_interpreters` 機能を有効にする `paranoid` preset。ポリシーファイルの `safety.level` を設定するか、`CC_SAFETY_NET_PARANOID`、`CC_SAFETY_NET_PARANOID_RM`、`CC_SAFETY_NET_PARANOID_INTERPRETERS` で個別の機能を上げます。[モード](/docs/ja/configuration/modes)を参照してください。 |
| **worktree の緩和** | ポリシーファイルの `workflow.worktree_mode` または `CC_SAFETY_NET_WORKTREE=1` によって worktree モードを有効にすると、確認済みのリンクされた Git worktree 内で、選択されたローカル Git 破棄コマンドが許可されます。CC Safety Net が worktree を確認できない場合は、緩和を適用しません。[モード](/docs/ja/configuration/modes#worktree-mode)を参照してください。 |

## ルール

| 用語 | 定義 |
| - | - |
| **rulebook** | カスタムのブロックルール、メタデータ、任意のフィクスチャを収めた JSON ファイル。`rule.json` で設定元として登録し、そのスコープの `.cc-safety-net` ディレクトリ配下の `rules/<name>/rulebook.json` に置きます。ランタイムがツール呼び出しのたびに読み取るため、保存した編集は次のコマンドから反映されます。`name` は、その rulebook を参照する設定元と一致していなければなりません。rulebook の名前は、ユーザースコープとプロジェクトスコープをまたいで一意に確保されます。[カスタムルール](/docs/ja/configuration/custom-rules)を参照してください。 |
| **transparent wrapper** | 解析が透過して、その先で実行される保護対象コマンドに到達するコマンド。`caffeinate`、`exec`、`nice`、`nohup`、`setsid`、`stdbuf`、`time`、`timeout` は組み込みです。これ以外のラッパーは `rule.json` の `transparent_wrappers` で宣言します。宣言したラッパーは rulebook ではなく `rule.json` にあるため、rulebook が削除されても残りますが、`rule.json` を読み取れないと、そのスコープで宣言したラッパーは失われます。[カスタムルール](/docs/ja/configuration/custom-rules)を参照してください。 |
| **取り込まれた rulebook** | リモートの rulebook を検証したうえで、`rule add` と `rule update` が利用側自身の `rules/<name>/rulebook.json` に書き込むコピー。リポジトリ内の通常のファイルなので、人間がそのまま読めますし、更新の差分もそのまま確認できます。ネットワークに接続するのは `rule add` と `rule update` だけで、ランタイムはこのファイルを読むだけです。[カスタムルール](/docs/ja/configuration/custom-rules)を参照してください。 |

<Note>
  rulebook、ルール、フィクスチャの正式なスキーマについては、[カスタムルール](/docs/ja/configuration/custom-rules)を参照してください。`policy.json` のスキーマについては、[ポリシー](/docs/ja/configuration/policy)を参照してください。`explain --json` が返す JSON 形式については、[explain トレース](/docs/ja/reference/explain-trace)を参照してください。
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.