仕様と根拠
伏せる対象と根拠
OWASP の Logging Cheat Sheet は、パスワード・アクセストークン・セッション ID・暗号鍵などの秘密・データベースの接続文字列・決済カードの情報などを、ログにそのまま記録せず、除去・マスク・ハッシュ化などをするとしています。このツールは、その対象を示す語を項目名から探します。
項目名の見分け方
項目名を小文字にして _ - . と空白を取り除いた形に、password・token・secret・apikey・sessionid・privatekey・connectionstring・cardnumber・authorization・credential などの語が含まれていれば、秘密らしいとみなして値を置き換えます。token_type や password_length のように種類や長さを表す名前は、伏せずに情報として示します。
置き換え方
秘密らしい項目の値は、文字列・数・配列・オブジェクトのどれでも、まるごと *** か [REDACTED] の文字列に置き換えます。入れ子の中も調べますが、置き換えた値の中身はもう調べません。JSON は読み込んでから 2 字下げで書き出すので、元の空白や改行は保たれません。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| OWASP Logging Cheat Sheet(Data to exclude) | 2026年10月28日 | ログに記録しない・除去やマスクをする対象(パスワード・アクセストークン・セッション ID・暗号鍵・接続文字列・決済カード情報) |
| RFC 8259 The JavaScript Object Notation (JSON) Data Interchange Format | 2026年10月28日 | JSON の構造(オブジェクト・配列・値) |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 判定は項目名の推定だけで、値の中身は見ません。key1 のような一般的でない名前の秘密や、メッセージの文章に混ざった秘密は伏せられません。
- 同じオブジェクトに同じ項目名が重複している場合は、読み込み時に最後の値だけが残ります(RFC 8259 4 節)。また、桁の大きすぎる数は丸められることがあります。
- 個人情報(氏名・住所・メールアドレス・電話番号)は対象外です。必要なら「追加で伏せる項目名」に指定してください。
- JSON Lines(1 行に 1 つの JSON)や、コメントのある JSON5・JSONC は、JSON としてはエラーになります。
ご利用にあたって
- このツールの判定は項目名の推定です。出力に秘密が残っていないか、共有の前に必ず目で確かめてください。
- 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。