「履歴を消去」が削除するのは、ブラウザの履歴データベースにあるページの一覧です。それは数ある記録のうちの1つにすぎず、いまのブラウザでは、いちばん多くを語る記録ですらありません。キャッシュされたファビコン、サイトストレージ、自動入力の履歴、DNSキャッシュは、それぞれ独立にあなたがどこにいたかを示します。
目的が「自分の端末を使う誰かに何も見つけさせないこと」なら、この一式すべてを消す必要があり、そのうちどれがブラウザの外にあるのかを知っておく必要があります。目的が「どこの誰にも知られないこと」なら、削除は道具として間違っています。いちばん重要な記録は、他人のサーバーに書かれているからです。
端末は実際には何を保存しているのか?
履歴の一覧より多くのものを、より多くの場所に保存しています。
| 保存場所 | そこから分かること | 「履歴を消去」で消えるか |
|---|---|---|
| 履歴データベース | URL、タイトル、時刻 | 消える |
| キャッシュ | ページの素材、画像、動画の断片 | 選択した場合のみ |
| Cookieとサイトデータ | ログイン状態、サイトごとの識別子 | 選択した場合のみ |
| localStorage / IndexedDB | アプリのデータ。視聴履歴が入っていることも | ふつうは「Cookieとサイトデータ」と一緒に |
| Service Workerのキャッシュ | ページ全体のオフライン複製 | ふつうはサイトデータと一緒に。残ることもある |
| 自動入力とフォームのデータ | 検索語、ユーザー名、住所 | 別のチェックボックス |
| 保存したパスワード | 持っているアカウント | 消えない——含まれることはない |
| ダウンロード履歴 | ファイル名と取得元URL | 選択した場合のみ |
| ダウンロードしたファイル | ファイルそのもの | 消えない——別途削除 |
| サイトの権限 | カメラや通知を許可したサイト | 消えない——設定で消す |
| ファビコンのデータベース | アイコンを設定したすべてのドメイン | 消えない |
| DNSキャッシュ(OS) | 最近名前解決したドメイン | 消えない |
| 同期された複製 | すべて。事業者のサーバー上に | 同期の状態による |
| OSのサムネイルとプレビュー | 開いたファイルの画像 | 消えない |
このうち2つが、繰り返し人を引っかけます。ファビコンのデータベースは、履歴の項目が削除されたかどうかにかかわらず、ドメインごとに1行を保持し続けます。そしてService Workerのキャッシュは、ページの動作するオフライン複製を持つことがあり、そのオリジンのサイトデータを明示的に消さないかぎり残すブラウザもあります。
正しい消去の手順はどうなるか?
順番によって結果が変わります。主な理由は同期です。
- まず同期をどうするかを決める。 サインインしているなら、サインインしたまま、同期を有効にしたまま削除してください。そうすればサーバー側の複製へも削除が伝わります。先にサインアウトすると、リモートの複製は手つかずで残ります。
- 既定の選択ではなく、全項目を選ぶ。 ブラウザは既定で狭い範囲の項目と短い期間しか選びません。期間を全期間にし、キャッシュ、Cookieとサイトデータ、フォームのデータ、ダウンロード履歴にチェックを入れてください。
- サイトの権限は別途消す。 通知、カメラ、マイク、位置情報の許可はサイト設定の中にあり、どの履歴削除にも含まれません。許可済みの通知権限は、現在進行形のセキュリティ上の問題でもあります。
- ダウンロードしたファイルを削除する。 ダウンロード履歴を空にしてもファイルはディスクに残ります。そのうえでゴミ箱も空にしてください。
- DNSキャッシュを消す——OSのレベルで行います。
| システム | コマンド |
|---|---|
| macOS | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| Windows | ipconfig /flushdns |
| Linux(systemd-resolved) | resolvectl flush-caches |
- ブラウザのアカウント管理画面を確認する。 ブラウザの提供元がアカウントに紐づくサーバー側の行動記録を保持しているなら、それはブラウザではなくそちらで管理します。
端末側からはまったく消せないものは何か?
接続の向こう側に書かれたものすべてと、その途中のネットワークが書いたものすべてです。
| 記録 | 持っているのは | あなたに触れるか |
|---|---|---|
| 接続ログ | 契約しているISP | 触れない |
| DNSの問い合わせログ | 使っているリゾルバ | 触れない |
| プロキシとフィルタのログ | 勤務先、学校、管理されたネットワーク | 触れない |
| ルーターのログ | ルーターの所有者 | 自分の所有物なら触れる |
| アカウントの利用履歴 | サインインした各サイト | アカウント設定から触れることもある |
| サーバーのアクセスログ | 訪れたすべてのサイト | 触れない |
| 決済の記録 | 銀行とカード会社 | 触れない |
履歴の削除で問題が解決するかどうかを決めるのが、この境界です。共用のノートPCを使う家族に対しては有効です。ネットワーク管理者やISPに対してはまったく無力です。彼らの持つ複製は、はじめから削除の対象になっていないからです。
多く消すより、そもそも残さないほうがいいのはなぜか?
削除は後追いで、しかも常に部分的ですが、記録を書かないことはそのどちらでもないからです。
溜まるものを減らす、実際に使える設定はこうです。
| 設定 | 効果 |
|---|---|
| 「すべてのウィンドウを閉じたときにCookieとサイトデータを消去」 | セッションごとにサイトストレージを自動で消す |
| 用途ごとにブラウザのプロファイルを分ける | 履歴、Cookie、権限を別々の入れ物に保つ |
| 履歴の同期だけをオフにする | ローカルの履歴がアップロードされなくなる。パスワードの同期は続けられる |
| フォームと検索の自動入力を無効にする | もっとも引用されやすい単一の痕跡がなくなる |
| 「ページの先読み」「予測」をオフにする | 訪れてもいないページをブラウザが名前解決して取得するのを止める |
削除について、正直に付け加えておくことがあります。SSDでは、ファイルを上書きしても物理的なブロックが確実に上書きされるとはかぎりませんし、データベースのファイルは最適化されるまで削除済みの行を保持します。通常の削除は、通常の詮索に対しては十分ですが、フォレンジックな調査に耐えるようには作られていません。ディスクを丸ごとイメージ化する相手を想定するなら、答えはより念入りな消去手順ではなく、ディスク全体の暗号化とアカウントの分離です。