---
read_when:
    - コンテンツを保存せずに、Gateway が実行した内容の永続的な記録が必要です
    - メッセージライフサイクルの監査を有効にするかどうかを決定しています
    - 監査記録によって証明できることと証明できないことを説明する必要があります
summary: エージェント実行、ツール操作、オプトインのメッセージライフサイクルに関するメタデータのみの監査履歴
title: 監査履歴
x-i18n:
    generated_at: "2026-07-26T09:41:02Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 1005b214a674f0f888d759837bd627be458cefcf9ed61bda722499333361dc45
    source_path: gateway/audit.md
    workflow: 16
---

# 監査履歴

Gateway は、共有 OpenClaw 状態データベースに、サイズが制限されたメタデータのみの監査台帳を保持します。この台帳により、「どのエージェントがいつ実行され、どのように終了したか」、「実行中にどのツールアクションが実行されたか」、またメッセージ監査が有効な場合は、「受理された受信メッセージがディスパッチに到達したか」および「送信メッセージが終端配信状態に到達したか」といった運用上の疑問を確認できます。

台帳には、識別情報、順序、来歴、アクション、ステータス、および正規化された結果コードが保存されます。プロンプト、メッセージ本文、ツール引数、ツール結果、添付ファイル、ファイル名、URL、コマンド出力、生のエラーテキストは一切保存されません。

## レコード種別

監査が有効な場合（デフォルト）、実行イベントとツールイベントが記録されます。メッセージのライフサイクルイベントはオプトインであり、デフォルトでは無効です。

| 種別         | アクション                                               | デフォルト |
| ------------ | -------------------------------------------------------- | ---------- |
| エージェント実行 | `agent.run.started`, `agent.run.finished`                | オン       |
| ツールアクション | `tool.action.started`, `tool.action.finished`            | オン       |
| メッセージ   | `message.inbound.processed`, `message.outbound.finished` | オフ       |

すべてのレコードには、安定したイベント ID、単調増加する台帳シーケンス、ライフサイクルのタイムスタンプ、アクター、アクション、ステータス、`schemaVersion: 1`、および `redaction: "metadata_only"` が含まれます。フィールドの完全なリファレンスとクエリフィルターについては、[監査レコード](/ja-JP/cli/audit)を参照してください。

## メッセージのライフサイクルイベント

記録対象を選択するには、[`audit.messages`](/ja-JP/gateway/configuration-reference#audit)を設定し、Gateway を再起動します。

- `off`（デフォルト）：メッセージレコードなし。
- `direct`：ダイレクト会話内のメッセージのみ。
- `all`：ダイレクト、グループ、およびチャンネルのメッセージ。

メッセージレコードは、次の 2 つの信頼できる境界で生成されます。

- **受信**行は、受理されたメッセージがコアディスパッチに到達したときに書き込まれます。重複および終端処理の結果も含まれます。
- **送信**行は、共有の永続配信が「送信済み」、「抑止」、「失敗」、またはクラッシュにより送信結果が曖昧な場合の明示的な `unknown` のいずれかの終端結果に到達したときに書き込まれます。キューの復旧結果とデッドレター結果も含まれます。元の各論理返信ペイロードにつき、終端行が 1 行生成されます。チャンク分割とアダプターのファンアウトは `resultCount` に集約されます。

### 会話種別の分類

`direct` モードはプライバシー境界であるため、メッセージがダイレクト会話として分類されるのは、宛先に関する事実によってそれが証明される場合のみです。つまり、送信パスで宛先の会話種別が宣言されているか、配信セッションのルートで配信先のチャンネルとピアが厳密に指定されている場合です。ポリシー状態や発信元の会話など、より弱いシグナルによってメッセージを `group` と分類し、`direct` の収集対象から除外することはできますが、`direct` であると断定することはできません。ダイレクトであることを証明できないメッセージは `unknown` と分類され、`direct` モードでは記録されません。そのため、チャット種別を宣言しないチャンネルでは、`direct` モードで記録される行数が `all` モードより少なくなる場合があります。

## プライバシーモデル

メッセージ行には、プラットフォームの生の識別子は一切保存されません。関連付けが可能な場合、アカウント、会話、メッセージ、および宛先の識別子は、インストール環境内でのみ有効な鍵付き仮名（`hmac-sha256:v1:<keyId>:<digest>`）としてのみエクスポートされます。

- HMAC キーは初回使用時に生成され、識別子の種類ごとにドメイン分離され、台帳と同じ状態データベースに保存されます。
- 仮名は 1 つのインストール環境内では安定しているため、プラットフォーム識別子を明らかにすることなく、同じ会話に関する行を関連付けられます。
- これは**匿名化ではなく関連付け**です。状態データベースへの読み取りアクセス権を持つ者はキーにもアクセスできるため、生の識別子候補を仮名と照合できます。RPC および CLI のエクスポートにキーが含まれることはありません。
- メッセージ行が保持されている状態でキーマテリアルが欠落または破損した場合、Gateway はフェイルクローズし、関連付けが分断される新しいキーへ暗黙にローテーションするのではなく、新しいメッセージレコードを破棄します。

実行レコードとツールレコードは、関連付けのために `sessionKey` と `sessionId` を保持します。正規セッションキー自体に、プラットフォームのアカウント ID またはピア ID が含まれる場合があります。メッセージレコードでは、意図的にその両方が省略されます。

監査エクスポートは、内容を含まなくても機密性の高い運用メタデータです。タイミング、チャンネル、結果、安定した仮名によってアクティビティを関連付けられます。エクスポートは、他の運用者向けレコードと同じアクセス制御および保持方法で保護してください。

## 対象範囲と証明の限界

台帳はベストエフォートであり、意図的にサイズが制限されています。実際に起きたことの証明ではなく、記録されたことの証拠として扱ってください。

- **行が存在しないことは、何も証明しません。** 受理前に破棄された受信メッセージ、Gateway レコーダーが実行されていない CLI プロセスからの送信、および共有の永続配信を迂回する Plugin ローカルまたは直接送信パスは記録されません。
- 書き込みはサイズ制限付きのバックグラウンドワーカーを経由します。ワーカーの障害またはキューの飽和が発生すると、レコードが破棄され、運用上の警告が 1 件ログに記録されます。
- クラッシュにより結果が曖昧な送信は、推測した結果ではなく `unknown` として記録されます。

この台帳は、デバッグと運用レビューを支援します。欠損のないコンプライアンスアーカイブではありません。そのようなアーカイブが必要な場合は、[OpenTelemetry](/ja-JP/gateway/opentelemetry)またはチャンネルレベルのツールからデータを受け取る外部システムを使用してください。

## ストレージ、保持、および移行

レコードは共有状態データベース（`state/openclaw.sqlite`）に保存され、配信のホットパス外で書き込まれます。クエリが 30 日より古いレコードを返すことはなく、台帳は 100,000 行に制限されています。期限切れの行は、起動時、1 時間ごとのメンテナンス、およびその後の書き込み時に削除されます。収集が無効な場合でも、保持メンテナンスは継続して実行されます。

以前の実行／ツール専用台帳を使用する Gateway からアップグレードすると、起動時（または `openclaw doctor --fix` 経由）にスキーマが自動的に移行されます。既存の行とその台帳シーケンスは保持されます。

## クエリ

- CLI：[`openclaw audit`](/ja-JP/cli/audit)。エージェント、セッション、実行、種別、ステータス、方向、チャンネル、時間範囲、およびカーソルページングのフィルターを使用できます。
- Gateway RPC：`audit.activity.list`（`operator.read` が必要）は、バージョン付きの V1 アクティビティイベント共用体を返します。出荷済みの `audit.list` RPC は、以前の実行／ツールクライアント向けに変更されていません。[Gateway プロトコル](/ja-JP/gateway/protocol#audit-ledger-rpc)を参照してください。

## 関連項目

- [監査レコード CLI](/ja-JP/cli/audit)
- [設定リファレンス](/ja-JP/gateway/configuration-reference#audit)
- [Gateway プロトコル](/ja-JP/gateway/protocol#audit-ledger-rpc)
- [OpenTelemetry](/ja-JP/gateway/opentelemetry)
