Chromeがサイトごとに記憶していること——そしてワンクリックですべて消す方法
ウェブサイトを訪れるたびに、Chromeはそのサイトの代わりにあなたのコンピュータにデータを書き込んでいます。分かりやすいものもあります:Cookie、ログインセッション。気づきにくいものも多くあります:使用回数カウンター、試用フラグ、「このモーダルはすでに表示済み」マーカー、A/Bテストの割り当て、設定ウィザードの進捗、オンボーディング完了フラグ。
サイトはあなたが誰かを知らなくても、あなたが何をしたかを記憶できます。ただlocalStorageやIndexedDBに書き込めばいい。Chromeはそれを無期限に保存し続けます——あなたが明示的に削除するまで。
本質的なポイント: サイトがあなたについて「覚えている」ことの多くは、そのサイトのサーバーではなく、あなたのブラウザに保存されています。つまり、アカウントを一切触らずに消せます。VertiTabのDebugモードはこれをワンクリックで行います。
Chromeがサイトごとに保存しているもの
あらゆるドメインを訪問すると、複数の独立したストレージシステムが同時に動作します:
| ストレージ種別 | サイトが使う目的 | リロードしても残る? |
|---|---|---|
localStorage | 使用回数、設定、試用フラグ、機能トグル | ✓ 永久に |
IndexedDB | アプリ状態、オフラインデータ、構造化コンテンツ | ✓ 永久に |
sessionStorage | 多段階フォームの状態、ウィザード進捗 | タブを閉じるまで |
| Cache Storage | オフラインアセット、Service Workerリソース | ✓ 永久に |
| Service Workers | キャッシュ済みアプリバージョンの配信 | ✓ 登録解除まで |
| Cookie | セッション、トラッキング、試用期限フラグ | 有効期限まで |
重要なのは最後の列です。これらのデータはハードリロード、キャッシュクリア、さらにブラウザの再起動を経ても残り続け、明示的に削除されるまで消えません。
なぜサイトは「制限」をクライアント側に保存するのか
「N回無料で試せます。続けるにはログインしてください」というプロンプトの背後には、大抵このような仕組みがあります:
- ログインせずに機能を使う
- サイトが
localStorageにカウンターを書き込む:{ trialUsed: 1 } - 次回の訪問時、そのカウンターを読み取ってペイウォールを表示するかどうか判断する
- この判定はすべてブラウザ内のJavaScriptで完結——サーバーへのリクエストは発生しない
このパターンは多くの製品カテゴリで広く使われています:無料プロンプトが限られたAIツール、ページ制限のあるドキュメントエディタ、ファイル数制限のある動画変換ツール、文字数クォータのある文章校正ツール、そして数え切れないほどのSaaSプロダクトの試用モード。
同じ仕組みは非商業的な場面にも登場します:localStorageで今月の記事閲読数をカウントするニュースサイト(ソフトペイウォール)、完了したチャプターを記憶するチュートリアルプラットフォーム、初回だけ表示されるオンボーディングツアー。
サイトデータ削除で実際にリセットされるもの
Debugモードでサイトのデータを削除すると、以下がリセットされます:
一般ユーザーにとって:
- localStorageやCookieに保存された試用使用回数
- 「このオファー/モーダルはすでに見た」フラグ
- ソフトペイウォールの記事閲読カウンター
- モーダル抑制フラグ(「今後は表示しない」)
- A/Bテストの割り当て(次回ロードで新たに割り当てられる)
開発者にとって:
- スキーマ変更後に残った古いアプリ状態
- 古いキャッシュバンドルを配信し続けているService Worker
- 失敗したマイグレーションによる壊れたIndexedDBレコード
- 以前のテストセッションから残った認証トークンの残骸
どちらのグループも同じ基底ストレージをリセットしています。違いはその目的だけです。
サイトデータ削除でリセットできないもの
このツールが何をできて何をできないかを明確にしておきます:
回避できないもの:
- サーバーサイドの使用回数トラッキング(サイトがバックエンドでIPやデバイスフィンガープリントを記録している場合)
- アカウントベースの制限(ログイン状態でのクォータはサーバーサイド)
- 支払い方法や電話番号認証に紐付けられた試用制限
リセットできるもの:
- サーバー検証なしにクライアント側ストレージのみで実装された制限
- サイトがサーバーに永続化していないセッション状態
- ローカルに保存された設定とフラグ
多くの試用システムが匿名ユーザーのためにクライアント側ストレージのみを使うのは、実装が最も簡単だからです。ただし、より堅牢なシステムはサーバーサイドでも検証します。試してみるまで分かりません。
Debugモードの使い方
タブ単位(一時的):
- VertiTabのサイドパネルで対象タブを右クリック
- Debugモードを有効にするを選択
- 削除するストレージの種類を選択
- 必要に応じて「このサイトに適用」をチェックすると永続化
サイト単位(永続的):
- VertiTab設定 → サイト設定を開く
- ホスト名でサイトを検索
- Debugモードトグルをオン
- 設定をクリックしてストレージ設定を調整
有効化後、サイドパネルのタブ横に🐛アイコンが表示されます。クリック一つで削除とリロードが同時に実行。DevToolsは不要です。
設定可能な削除項目: Cache Storage、localStorage、sessionStorage、IndexedDB、Service Workers、Cookie、履歴
ログイン状態は保持したまま使用データだけ削除するには
ログイン中のサイトですべてのCookieを削除するとログアウトします。使用データはリセットしつつログイン状態を維持するには、Cookie除外リストを使います。
現在のタブのすべてのCookieを読み込み、保持するものを選択します——認証トークン、CSRFトークン、セッション識別子など。残りは通常通り削除されます。除外ルールは名前のみ(session_id)とドメイン付きパターン(api.example.com:token)に対応しています。
どちらを使うべきか
| 状況 | 対応 |
|---|---|
| デプロイ後にJS/CSSが更新されない | ハードリロードで十分 |
| サイトが試用済みを「覚えている」 | Debugモード |
| A/Bテストが常に同じバリアント | Debugモード |
| オンボーディングフローが再表示されない | Debugモード |
| アップデート後にアプリ状態が壊れた | Debugモード |
| 原因が不明 | Debugモード。最も安全な出発点 |
使用シナリオ
ログイン不要ツールの試用リセット — 多くのAIアシスタント、ドキュメントツール、変換ツール、SaaSデモは登録なしで試せます。2〜3回使うと「続けるにはサインアップしてください」と表示されます。そのカウンターはlocalStorageかCookieに存在します。削除すれば、サイトはあなたを新規訪問者として扱います。
ニュースサイトのソフトペイウォール — ニュースメディアやコンテンツプラットフォームは月間記事閲読数をlocalStorageで管理することが多いです。これはログインが必要なハードペイウォールとは異なります。サイトデータを削除するとカウンターがリセットされ、初回訪問者として扱われます。
オンボーディングフローの再体験 — プロダクトツアーやウェルカムウィザードは、hasCompletedOnboarding: trueというlocalStorageのフラグで抑制されることが多く、一度しか表示されません。削除すれば再体験できます——プロダクト評価やUXテストに役立ちます。
デプロイ後のSPA状態バグ — スキーマ変更後に古いデータを持つユーザーでエラーが発生。Debugモードで古いIndexedDBレコードを削除し、マイグレーションパスをクリーンな状態でテストします。
更新されないService Worker — 新バージョンをデプロイしてもSWが古いバンドルを配信し続けている状態。Debugモードは一つのステップでSWの登録解除とキャッシュ削除を行います。
QAリグレッションテスト — 毎回のテスト実行前にDevToolsを操作せず、クリックひとつで再現性のある初期状態を作れます。
よくある質問
Q:なぜ多くのサイトが「制限」をサーバーではなくlocalStorageに保存するのですか?
A:匿名ユーザーの場合、クライアント側ストレージはバックエンドインフラを必要としません。実装が最も簡単で、サーバーコストが不要、ユーザー識別も不要です。デメリットは削除が容易であること——だからこそ、成熟した製品は最終的にサーバーサイド検証に移行します。
Q:削除するとログアウトしますか?
A:設定によります。Cookieを削除していてセッションがCookieに保存されている場合は、ログアウトします。Cookie除外リストを使って認証Cookieを保持しながら他のストレージをクリアしてください。
Q:アカウントベースの制限に対しても有効ですか?
A:効果がありません。サイトがサーバーサイドで使用量を検証する場合、クライアント側データの削除は機能しません。
Q:DevToolsが開いていないと使えませんか?
A:いいえ。DevToolsの状態に関係なく、いつでも使えます。
Q:Debugモードは有料機能ですか?
A:はい。VertiTabプレミアムサブスクリプションが必要です。
Q:サイトごとに異なる設定ができますか?
A:できます。設定はホスト名単位で独立して保存されます。
関連記事: