最初に探すべき情報
最優先で確認するのは、APIキー、アクセストークン、Cookie、秘密鍵、パスワード、接続文字列です。一部を伏せるだけでは安全とは限らないため、コードから完全に取り除きます。
次に、顧客名、メールアドレス、社内ドメイン、IPアドレス、ホスト名、案件名、ファイルパスを確認します。コメント、例外メッセージ、テストデータにも残りやすい項目です。
- 環境変数の値と設定ファイル
- HTTPヘッダー、URLのクエリ文字列、ログ出力
- SQLやJSONに埋め込まれた実データ
- スクリーンショットや添付ファイルの名前
安全に準備する手順
- 問題を再現できる最小限のコードだけを作業用テキストへコピーします。
- 認証情報と個人情報を先に削除し、必要なら該当するキーを失効・再発行します。
- コード形式に合うツールで、識別子、文字列、数値、コメントをマスキングします。
- 元の固有名詞を結果内で検索し、情報が残っていないことと構文が保たれていることを確認します。
マスキングだけでは不十分な例
質問文に会社名や本番URLを書いたり、画面キャプチャに通知が映ったりすると、コードをマスキングしても情報が残ります。入力欄全体と添付物を一つの共有物として確認してください。
秘密情報を誤送信した場合は、会話の削除だけで終わらせず、認証情報の失効、アクセス履歴の確認、管理者への連絡など、所属組織の手順に従います。
Develop Toolsの処理はブラウザ内で行われます。ただし、認証情報はツールに入力する前に削除するのが最も安全です。
具体例:API呼び出しコードをAIへ相談する
たとえば認証エラーを相談するコードには、Authorizationヘッダー、APIのホスト名、顧客ID、ログ出力されたメールアドレスが同時に含まれることがあります。エラー行だけでなく、定数、設定値、コメント、例外メッセージまで確認します。
置換後は「同じ値が同じダミー値になっているか」を見ます。顧客IDが複数行に現れる場合に別々の値へ変わると、処理の対応関係が分からなくなるためです。
- 相談に必要なクラスや関数だけを新しいテキストへコピーします。
- APIキー、トークン、URL、IPアドレス、氏名、メールアドレスを検索します。
- 識別子と文字列をマスキングし、構文と同値関係が残っているか確認します。
- 完成したコードをもう一度「secret」「token」「password」「社名」などで検索してから共有します。
秘密情報が一度でも外部へ送信された場合は、削除だけでなくAPIキーやトークンの失効・再発行も必要です。
よくある質問
- 変数名だけを変更すれば安全ですか?
- 安全とは限りません。文字列、コメント、URL、例外メッセージ、SQL、テストデータにも組織名や認証情報が残るため、コード全体を確認してください。
- マスキング後のコードはそのまま実行できますか?
- 構造確認には使えますが、実行可能性は保証されません。相談に必要な再現条件が残っているかを目視で確認し、元コードは別に保管してください。
ブラウザで試す
入力内容はブラウザ内で処理されます。元データを残したうえで、結果を確認してから保存・共有してください。
対応言語からマスキングツールを選ぶ