なぜ危ないのか
社外レビューは「限定的な共有」に見えますが、URLがSlackやメールで転送されることがよくあります。トラッキングタグが残っていると、想定外の人物のアクセスデータまで自社のアナリティクスに蓄積されます。
クライアントがそのURLをブックマークして繰り返しアクセスする場合もあります。トラッキングタグが有効なまま長期間アクセスされると、相手のデバイス情報が継続的に収集されつづけます。レビュー期限を設けない共有URLは特にリスクが高いです。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
ソースで見る場所
チェック手順1:HTMLファイルをテキストエディタで開き、`gtag(`・`ga(`・`fbq(`・`_hsq.push`を検索します。これらの関数呼び出しが見つかれば、対応するスクリプトが読み込まれています。行番号とともにメモしておきます。
チェック手順2:`<script src=`の行を全て抽出し、外部ドメインへのものだけをリストアップします。`googletagmanager.com`・`connect.facebook.net`・`static.hotjar.com`などが含まれていないか確認します。見つかったものは削除またはコメントアウトしてください。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
安全に共有する設定
チェック手順3:ブラウザで対象HTMLを開き、DevToolsのNetworkタブを表示した状態でリロードします。`analytics`・`pixel`・`tag`を含むリクエストが出ていないことを確認します。出ていれば見落としがあるため、ソースに戻って再確認します。
チェック手順4:確認済みのHTMLをギガサイト便にアップロードし、アクセス認証とリンク有効期限を設定してURLを発行します。発行したURLをレビュー依頼メールに記載し、「このリンクは◯月◯日まで有効」と明記します。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
再発防止ルール
上記4ステップをNotion・Confluence・Googleドキュメントなどに「社外共有前チェックリスト」として保存し、チームメンバーが毎回同じ手順で確認できるようにします。チェック済みであることをコメントや署名で記録に残すと、後から確認履歴が参照できます。
Gitリポジトリで管理している場合は、プルリクエストのボディテンプレートにチェックリストの項目を追加します。マージの前提条件としてチェックを必須化することで、レビュー担当者も確認プロセスに参加できます。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
よくある質問
チェックリストはHTML1ファイルにつき何分くらいかかりますか?
慣れれば1ファイルあたり5分以内で完了します。最初の2〜3回は検索キーワードの確認や手順の把握に時間がかかりますが、チェックリストを手元に置いて実施すれば習熟が早まります。
CMS(WordPressなど)で生成したHTMLも同じ手順で確認できますか?
ブラウザのDevToolsでNetworkタブを確認する手順は同様に使えます。ただしWordPressはプラグインが動的にスクリプトを追加するため、ソースを静的検索するだけでは見落とす場合があります。実際に開いてNetworkタブで確認してください。
チェックリストの確認を怠った場合にどのような責任が生じますか?
社内規程や取引先との契約内容によりますが、意図しない個人データの収集が発覚すると信頼失墜や契約上の問題が生じる可能性があります。チェックリストの実施記録を残しておくと、問題発生時に誠実な対応を示す証拠として機能します。