>_toolkitbox

~/tools / Prompt Redactor

Prompt Redactor — AIに貼る前に、キー・トークン・個人データをマスクします

AIチャットにテキストを貼る前に、APIキー、トークン、秘密鍵、メールアドレス、IPアドレス、カード番号をマスクし、返ってきた回答に元の値を戻せます。入力した内容はブラウザの外に出ません。

マスクする対象

仕様が公開されている形式 — ベンダーまたはRFCが公開しているもの

秘密情報に見えるパターン — 形や名前から推測するもの。見逃しや過剰な一致が起こりえます

個人データとネットワーク情報 — パターンで見つけるもの

マスク済みのテキスト

マスク済みのテキストがここに表示されます。

見つけられるのは、見分けられる形を持つテキストです。普通の文章で書かれた機密情報は見つけられないため、何も見つからなかったからといって安全とは限りません。

送信する前に、マスク済みのテキストを読んで確認してください。

キーの形式は、2026-10-23にベンダーのドキュメントとRFCで確認しました。

すべてブラウザの中で処理します。テキストも復元用の表もアップロードされません。

プロンプトには、共有するつもりのなかったものが含まれていることがよくあります。スタックトレースの接続文字列、設定ファイルのキー、ログの行にある顧客のメールアドレスなどです。このツールは、見分けられる形を持つ秘密情報や個人データを見つけ、それぞれを [EMAIL_1] のようなプレースホルダーに置き換えます。同じ値には必ず同じプレースホルダーが付くため、AIはどれがどれかを追い続けられます。AIが回答したら、その返答を復元用の欄に貼り付けると、元の値が元の位置に戻ります。検出するのは文字列のパターンであり、意味ではありません。文章で書かれた機密の計画のように、決まった形のないテキストは検出されません。送信する前に、必ず結果を読んで確認してください。

こんな時に使う

  • AIにデバッグを頼む前に、スタックトレース、ログの抜粋、設定ファイルを整える
  • 接続文字列やトークンを含むコードの断片を共有する
  • サポートの会話記録にある実際のメールアドレスとIPアドレスを、プレースホルダーに置き換える

使い方

  1. テキストを貼り付けるか、例を読み込みます。
  2. 検出された内容の一覧を確認し、マスクしたくないもののチェックを外します。
  3. マスク済みのテキストをAIチャットにコピーします。
  4. AIの回答を復元用の欄に貼り付けると、本来の値が戻ります。

見つけられるもの

このツールは、テキストを形で照合します。次は、公開されているプレフィックスや構造で見分けられる形式です。

種類探すもの公開されている内容
秘密鍵-----BEGIN … PRIVATE KEY----- から、対応する END の行までのブロックRFC 7468 が BEGIN と END の行、および PRIVATE KEY と ENCRYPTED PRIVATE KEY というラベルを定義しています。RSA、EC、OPENSSH のラベルは慣習です。
AWSのアクセスキーIDAKIA または ASIA の後に、大文字の英字か数字が16文字続くものAWS はプレフィックスを文書化しています。アクセスキーは AKIA、一時的なキーは ASIA です。例は20文字です。
GitHubのトークンghp_, gho_, ghu_, ghs_, ghr_ または github_pat_GitHub はプレフィックスを文書化しています。長さと使われる文字は文書化されていません。
Slackのトークンxoxb-, xoxp-, xapp- または xwfp-Slack はこれらのプレフィックスを文書化しています。
Stripeのキーsk_, pk_ または rk_ の後に test_ または live_ が続くものStripe はこれらのプレフィックスを文書化しています。
AnthropicのAPIキーsk-ant-api…Anthropic が文書化しているのはプレフィックスだけです。
JWTドットで区切られたbase64urlの3つの部分で、最初が eyJ で始まるものRFC 7519 が3つの部分を定義しています。eyJ で始まるのは一般的なパターンであり、規則ではありません。
Authorization ヘッダーBearer, Basic または Token の後に認証情報が続くものRFC 6750 が Bearer を、RFC 7617 が Basic を定義しています。
URLに含まれるパスワードscheme://user:password@hostRFC 3986 は、user:password の形式は非推奨だと述べています。

秘密情報に見えるパターン

形が公開されていない形式もあります。OpenAI のキー、Google のAPIキー、password、secret、api_key などの名前に値を代入する書き方は、推測で照合されるため、キーを見逃したり、問題のないものをマスクしたりすることがあります。このツールはこれらを別のグループに表示するので、オフにできます。

カード番号は、13〜19桁で、主要なカードブランドのように始まり、Luhn のチェックディジットを通る必要があります。番号の先頭のチェックにより、13桁のタイムスタンプがカードとして扱われるのを防いでいます。Stripe が文書化しているテスト用のカード番号 4242 4242 4242 4242 は検出されます。

プレースホルダーに名前が付いている理由

同じ値には必ず同じプレースホルダーが付き、異なる値にはそれぞれ別の番号が付きます([EMAIL_1]、[EMAIL_2])。AIは、実際のアドレスを見なくても、たとえば [IP_1] が [IP_2] に到達できない、といったどれがどれかの推論を続けられます。

AIの返答を復元用の欄に貼り付けると、残っているプレースホルダーがそれぞれ元の値に置き換わります。AIがプレースホルダーを書き換えたり、省いたりした場合、そのものは復元できません。

見つけられないもの

  • 文章の中に書かれた名前、住所、電話番号。
  • 社内のホスト名、顧客ID、プロジェクトのコードネームなど、文脈によってのみ秘密になる言葉。
  • 知らない形式のキー。
  • すでにどこかに貼り付けてしまった秘密情報。今マスクしても、取り戻せるわけではありません。

送信する前に、マスク済みのテキストを読んで確認してください。何も見つからなかったことは、安全の証明ではありません。

出典(2026-10-23 確認): RFC 7468: Textual Encodings of PKIX, PKCS, and CMS Structures / RFC 7519: JSON Web Token (JWT) / RFC 6750: The OAuth 2.0 Bearer Token Usage / RFC 7617: The 'Basic' HTTP Authentication Scheme / RFC 3986: Uniform Resource Identifier (URI): Generic Syntax / AWS IAM: Understanding unique ID prefixes / GitHub Docs: About authentication to GitHub / Slack: Tokens / Stripe: API keys / Stripe: Testing

FAQ

何を検出しますか?

秘密鍵のブロック、JWT、ベンダーがプレフィックスを公開しているトークン(AWSのアクセスキーID、GitHub、Slack、Stripe のキー、Anthropic のキー)、Authorization ヘッダー、URLに含まれるパスワード、password や api_key などの名前に代入された値、そして個人データとして、メールアドレス、IPv4アドレス、Luhn チェックを通るカード番号を検出します。

「秘密情報に見えるパターン」と呼ばれる検出があるのはなぜですか?

ベンダーが一部のキーのプレフィックスは公開していても、長さや使われる文字までは公開していないことがあり、OpenAI のキーのように、まったく公開されていない形式もあります。そうした検出は形から推測するものなので、キーを見逃したり、問題のないものをマスクしたりすることがあります。邪魔になる場合は、その区分のチェックを外してください。

機密情報が残らないと保証されますか?

いいえ。決まった形のない秘密情報、文章中に書かれた名前、知らない形式のキーは認識できません。送信する前に、マスク済みのテキストを読んで確認してください。

復元はどのように動きますか?

ツールは、プレースホルダーと置き換えた値の対応表を、このページのメモリ上だけに保持します。AIの返答を貼り付けると、既知のプレースホルダーがそれぞれ元に戻ります。ページを再読み込みすると表は消えるため、作業中はページを開いたままにしてください。

残したかった数字が [CARD_1] になったのはなぜですか?

カード番号の検出は、主要なカードブランドのように始まる13〜19桁の数字で、Luhn チェックを通るものを探します。そのため、無関係な数字がたまたま一致することがあります。「カード番号」のチェックを外すと、この検出をオフにできます。

テキストはサーバーに送られますか?

いいえ。検出も復元も、ブラウザの中で行われます。

Related