なぜHTMLに秘密情報が残ってしまうのか
HTMLは、ブラウザに送られた時点で誰でもソースを丸ごと閲覧できます。画面に表示されない部分でも、右クリックの「ページのソースを表示」や開発者ツールを開けば中身が読めてしまうため、ファイルの中に書いた情報は基本的にすべて公開されると考えるのが安全です。
とくにAIにコードを生成させた場合、動作確認をしやすくするために、本来は隠すべきAPIキーや接続情報がそのままJavaScriptに書き込まれていることがあります。手元では問題なく動いていても、その状態で外部に共有すると鍵が露出し、悪用される恐れがあります。
「画面に出ていないから大丈夫」という思い込みが、もっとも多い漏洩の入り口です。まずは、HTMLに含まれる情報は読まれる前提で見直す習慣を持つことが第一歩になります。
公開前に探すべき秘密情報の種類
取り除く対象を具体的にイメージしておくと、見落としが減ります。代表的なものを下に挙げます。いずれも一度外に出ると取り消しが難しいため、公開前の確認が肝心です。
個人や取引先の情報も忘れがちなポイントです。テスト用に入れた本名やメールアドレス、社内向けのコメントなどが残っていないか、本文だけでなくコメント行も含めて目を通しておきましょう。
- APIキーやトークン(外部サービスへの接続に使う文字列)
- パスワードやログイン情報
- テスト用に書いた個人名・メールアドレス・電話番号
- 社内向けのメモや未公開情報を書いたHTMLコメント
- 管理画面や内部システムのURL
よくあるNG例と安全な直し方
公開前にHTMLから秘密情報を取り除く方法では、「検索に出さない」と「見られないようにする」を混同しないことが重要です。noindexやrobots.txtは検索エンジンへの指示であり、アクセス制限そのものではありません。
安全に共有するには、誰に見られると困るかを先に決め、URL共有だけで足りるのか、認証や期限が必要なのかを選びます。共有相手と機密度が決まったら、URLのみ・パスワード・メール認証・会社ドメイン認証のどれで渡すかを選びます。
- NG: 機密情報入りHTMLを認証なしURLで共有し、noindexだけで安心する
- OK: パスワード・メール認証・会社ドメイン認証で閲覧者を絞る
- NG: テスト用APIキーや社内URLをHTML内に残したまま渡す
- OK: 公開前に外部送信先、秘密情報、フォーム送信先を確認する
秘密情報を見つけて取り除く手順
実際にHTMLを開いて確認する流れを順番に説明します。テキストエディタとブラウザがあればできる作業です。コードに不慣れな方でも、検索機能を使えば多くは見つけられます。
- HTMLやJSファイルをテキストエディタで開く。
- 「key」「token」「password」「secret」「api」などの語で全文検索する。
- メールアドレスや電話番号、本名が残っていないか検索で確認する。
- 「<!--」で始まるコメント部分に内部情報が書かれていないか見直す。
- 見つかった秘密情報を削除するか、ダミーの値に置き換える。
- APIキーは外部サービス側で無効化し、必要なら新しい鍵を発行し直す。
- ブラウザでファイルを開き「ページのソースを表示」で消し残しがないか最終確認する。
そもそもAPIキーをHTMLに書かない設計を考える
外部のAPIを呼び出す処理は、キーを表に出さずに済む設計を最初から選ぶのが理想です。静的に公開されるHTMLでは、ファイルの中に鍵を直接書くと閲覧者に見えてしまうため、根本的な対策にはなりません。
どうしても外部サービスと連携したい場合は、鍵を持たせたサーバー側の仕組みを別途用意し、HTMLからはそこを経由して呼び出すといった分離が必要です。共有の目的が「見た目や動きを見せること」であれば、外部連携部分はダミーのデータに差し替えてしまうのも現実的な選択です。
公開する目的を整理し、本当にその場で外部APIを動かす必要があるのかを見直すだけでも、リスクは大きく下がります。
ギガサイト便で安全に確認しながら公開する手順
手元での見直しに加えて、公開時に自動チェックが入る仕組みを使うと安心感が増します。ギガサイト便は、AIで作ったHTMLやZIPを認証付きの共有URLとして公開できるサービスで、アップロード時にセキュリティスキャンが走ります。APIキーらしき文字列や外部スクリプトへの依存などの兆候を検出して警告してくれるため、見落としに気づくきっかけになります。
警告が出ても内容を理解したうえで公開を選べるので、最終判断は自分で下せます。手順は次のとおりです。
- トップページに完成したHTMLやZIPをドロップする。
- アップロード時のセキュリティスキャンの警告内容を確認する。
- APIキーや不要なファイルの指摘があれば、いったん公開を止めて修正する。
- 誰に見せるかに応じて、パスワード認証やメール認証などを選ぶ。
- 公開期限を設定し、必要な期間だけ閲覧できるようにする。
- 修正版ができたら、同じURLのままファイルを差し替えて送り直しを省く。
公開後も油断しないためのポイント
一度公開したHTMLは、すでに誰かが保存している可能性があります。もし秘密情報を含んだまま出してしまった場合は、ページを取り下げるだけでなく、露出したAPIキーは必ずサービス側で無効化してください。鍵そのものを使えなくすることが、唯一の確実な対処です。
また、検索結果に出にくくするnoindexはアクセスを制限する仕組みではない点にも注意が必要です。リンクを知っていれば閲覧できる状態と、認証で本人を確認する状態は別物なので、見せたくない相手を確実に締め出したいときは認証方式を併用しましょう。
アクセスログを確認できる環境なら、誰がいつ見たかを把握でき、想定外の閲覧に早く気づけます。公開前のチェックと公開後の見守りをセットにすることで、安心して成果物を共有できます。
見つけた秘密情報は削除だけで終わらせない
HTML内にAPIキーやトークンらしき文字列が見つかった場合、ファイルから消すだけでは対応が終わりません。すでに誰かに送った、共有URLを発行した、スクリーンショットに残った可能性があるなら、そのキーを無効化・再発行する判断も必要です。
公開前に見つけた段階でも、使い回しているキーなら念のためローテーションを検討します。削除、再アップロード、キーの無効化、関係者への共有停止連絡を分けて扱うと、漏えい時の抜け漏れを減らせます。
- HTMLから秘密情報を削除し、再度検索して残りがないか確認する
- 公開済み・送付済みなら、該当キーやトークンの無効化を検討する
- 修正済みHTMLを同じURLへ差し替え、古い内容が見えないか確認する
- 必要に応じて共有先へ、古いURLや古いファイルを見ないよう連絡する
よくある質問
HTMLに書いたAPIキーは閲覧者に見られてしまいますか
はい、見られます。HTMLやJavaScriptはブラウザに送られた時点で、ソース表示や開発者ツールから誰でも中身を読めます。画面に表示されていなくてもファイル内に書かれた文字列は公開されるため、秘密情報は事前に取り除く必要があります。
公開前にどうやって秘密情報を探せばよいですか
テキストエディタでファイルを開き、「key」「token」「password」「secret」といった語やメールアドレスを全文検索するのが基本です。HTMLのコメント部分にも内部メモが残りやすいので、あわせて確認しましょう。ブラウザでソースを表示して最終チェックすると安心です。
うっかりAPIキーを公開してしまったらどうすればよいですか
まずページを取り下げ、次に露出したキーを発行元のサービス側で無効化してください。すでに第三者が保存している可能性があるため、ページを消すだけでは不十分です。必要なら新しいキーを発行し直してください。
noindexを付ければ秘密情報が漏れる心配はなくなりますか
いいえ、なくなりません。noindexは検索結果に出にくくする設定で、アクセスを制限する仕組みではありません。URLを知っていれば閲覧できるため、見せる相手を限定したい場合はパスワード認証やメール認証などのアクセス制御を併用してください。
noindexを設定すれば認証は不要ですか?
不要ではありません。noindexは検索結果への表示を抑えるための指定で、URLを知っている人の閲覧を止める仕組みではありません。閲覧者を制限したい場合は認証が必要です。
秘密情報を削除して再アップロードすれば対応は完了ですか?
公開済みだった場合は、それだけでは不十分なことがあります。該当するAPIキーやトークンを無効化・再発行し、古いHTMLが見えないことを確認してから、必要な相手にだけ修正版を共有してください。