組織における生成AI活用を推進する立場においては、単に導入を進めるだけでなく、その活用状況を適切にモニタリングできる体制を整えることも重要な検討事項です。特に管理・指導的な立場では、どのようなプロンプトがどのように使われているかを把握できることが、ガバナンスの観点からも欠かせません。

当時、Gemini CLI の活用を進めており、そのモニタリング環境を整備するために、Gemini CLI が備えるオブザーバビリティ機能の検証を行っていました。

検証の一環として logPrompts フラグを無効化した際の挙動を確認したところ、想定通りプロンプトログ自体は出力されなくなる一方で、LLMへのAPIリクエストログには会話履歴やツール呼び出しの引数がそのまま含まれ続けることに気づきました。具体的には、Clearcut・OpenTelemetry いずれの送信経路においても、ApiRequestEvent や ApiResponseEvent、ToolCallEvent、Conseca関連のイベントが、ログ出力設定を参照せずに機密性の高いフィールドを出力する実装になっていました。

そこで、各イベントの出力処理に getTelemetryLogPromptsEnabled() の判定を条件分岐として組み込み、logPrompts フラグの状態に応じて機密フィールドの出力有無が一貫するよう修正を行い、対応するテストとあわせて Pull Request として提出しました。

このPRは area/security ラベルが付与された上でマージされ、v0.40.1 および v0.41.0-preview.1 として配信されています。

PR #26153: Respect logPrompts flag for logging sensitive fields