クイックアンサー: ローカルストレージはブラウザベースのストレージメカニズムであり、クッキーと同様にEUのePrivacy指令およびGDPRを含むデータプライバシー規制の対象です。事前に情報を得た自由なユーザー同意なしにローカルストレージに非必須データを保存またはアクセスすることは、コンプライアンス違反となります。ほとんどの組織は、同意管理ツールがクッキーのみに設定されているため、ローカルストレージを完全に管理していないことを見落としています。
主なポイント
- ローカルストレージは、UKおよびEU法の下でクッキーと「類似技術」として法的に扱われており、同じ同意ルールが適用されます。
- 欧州データ保護委員会(EDPB)は、ローカルストレージのような技術は、非必須データが保存またはアクセスされる前に事前に情報を得た自由な同意が必要であることを確認しています [2]。
- ICOは、サービスに厳密に必要なストレージと、追跡や分析に使用される非必須ストレージを区別しており、後者のみが明示的な同意を必要とします [1]。
- 多くの同意管理プラットフォームはデフォルトでクッキーを規制しますが、ローカルストレージは監視されておらず、重大なコンプライアンスギャップを生じています [3]。
- セッションストレージは、追跡や分析目的で使用される場合、ローカルストレージと同じプライバシーの影響を持ちます。
- 同意を撤回すると、ウェブサイトはその同意の下で収集されたローカルストレージデータを削除する義務があります。
- ローカルストレージに書き込むサードパーティスクリプトも同意の対象となり、その責任はサイト運営者にあります。
- GDPRに基づく非コンプライアンスの罰則は重大であり、違反が体系的かつ未開示である場合、リスクはさらに増大します。
ローカルストレージとは何か、どのように機能するのか
ローカルストレージは、現代のブラウザに組み込まれたWeb Storage APIであり、ウェブサイトがユーザーのデバイスに直接キーと値のデータペアを保存できるようにします。期限はなく、通常はオリジンごとに約5-10MBの制限があります。クッキーとは異なり、ローカルストレージのデータはHTTPリクエストと共にサーバーに自動的に送信されることはなく、ウェブサイトのJavaScriptまたはユーザーによって明示的にクリアされるまで持続します。
実際の動作は次のとおりです:
- ウェブサイトのJavaScriptが
localStorage.setItem('key', 'value')を呼び出してデータを書き込みます。 - そのデータは、
localStorage.removeItem('key')またはlocalStorage.clear()が呼び出されるまで、ブラウザセッションをまたいでデバイスに残ります。 - 同じオリジン(プロトコル + ドメイン + ポート)のスクリプトのみがそのデータを読み書きできます。
一般的な使用例には、 ユーザーの好み(テーマ、言語)、セッショントークン、分析識別子、ショッピングカートの内容、A/Bテストのバリアント割り当てが含まれます。
重要なコンプライアンスのポイント: ローカルストレージはユーザーのデバイスにデータを保存するため、ePrivacy指令およびGDPRの下でクッキーと同じ法的枠組みが適用されます。データがサーバーに送信されるかどうかに関係なく [4]。
GDPRの下でローカルストレージにユーザー同意が必要か
はい、ローカルストレージの非必須使用に対しては、データが保存またはアクセスされる前に明示的なユーザー同意が必要です。EDPBは、ローカルストレージのような技術がクッキーと同じ同意要件に該当し、事前に情報を得た自由な同意が必要であることを確認しています [2]。ICOはさらに、同意は明確であいまいでない行動を通じて確認されるべきであり、ブラウジング行動から推測されたり、サイトの継続的な使用から仮定されたりしてはならないと明言しています [1]。
必要性の例外: ローカルストレージがユーザーが明示的に要求した機能を提供するためのみに使用される場合、たとえば、アクティブなセッション中にショッピングカートのアイテムを保持する場合、これは厳密に必要なストレージとして認められ、同意は必要ありません。しかし、同じカートデータが分析、リターゲティング、または行動プロファイリングに使用される場合、必要性の例外は適用されなくなります。
一般的な誤解: ローカルストレージのデータがHTTPリクエストと共に送信されないため、プライバシー法の範囲外であると考えること。法律は、ユーザーのデバイス上で情報を保存またはアクセスする行為に適用され、情報が送信されるかどうかには関係ありません。
ローカルストレージとクッキーの違い: 同意要件
ローカルストレージとクッキーの両方は、非必須目的で使用される場合に同意が必要ですが、技術的な動作やコンプライアンスツールが通常どのように扱うかに違いがあります。
| 特徴 | クッキー | ローカルストレージ |
|---|---|---|
| 有効期限 | 設定可能 | なし(クリアされるまで) |
| HTTPリクエストと共に送信 | はい | いいえ |
| サーバー側アクセス | はい | いいえ |
| ほとんどのCMPにデフォルトでカバーされる | はい | 多くの場合、されていない [3] |
| 同意が必要(非必須) | はい | はい |
| スコープ | ドメイン/パスごと | オリジンごと |
実際のギャップは大きいです: ほとんどの同意管理プラットフォームはクッキーのブロックとクッキーの分類を中心に設計されています。ローカルストレージの書き込みは、CMPが特に設定されていない限り、JavaScriptを介して行われます。これが、ローカルストレージが見落とされている理由です: なぜ明示的なユーザー同意が必要なのかは、理論的な懸念ではなく、多くのウェブサイトにとっての実際のコンプライアンスの盲点です [3]。
なぜローカルストレージには明示的なユーザー同意が必要なのか
ローカルストレージは、ユーザーのデバイス上で情報にアクセスまたは保存することを構成するため、明示的な同意が必要です。この行為は、個人データが関与しているかどうかに関係なく、ePrivacy指令(およびその国内実施)によって規制されています。法的専門家は、ローカルストレージをUK法の下でクッキーと「類似技術」として分類し、非必須ストレージが行われる前に事前に情報を得た自由な同意が必要であるとしています [4]。
根本的な論理は明確です: 法律は、ユーザーのデバイスを彼らの私的領域の延長として保護します。データがクッキー、ローカルストレージ、IndexedDB、またはサービスワーカーキャッシュに保存されているかどうかにかかわらず、法的なトリガーは保存行為そのものであり、形式ではありません。
有効な同意のための三つの条件(ICOガイダンスに基づく) [1]:
- 自由に与えられたものであり、サービス利用規約の受諾と同意を束ねてはならない。
- 特定かつ情報に基づくものであり、ユーザーは何が保存され、なぜ保存されるのかを知っている必要がある。
- あいまいでないものであり、同意はチェックボックスを選択するなどの明確な肯定的行動から得られなければならない。
ローカルストレージはプライバシー法の下で追跡と見なされるか
ローカルストレージは、ユーザーをセッションやページをまたいで特定、プロファイリング、または監視するために使用される場合、追跡と見なされます。ローカルストレージに分析ユーザーID、A/Bテストの割り当て、または行動セグメントラベルを保存することは、ほとんどの規制の解釈において追跡を構成します。データが後でサーバーに同期されるかどうかに関係なく。
これが、ローカルストレージが見落とされている理由です: なぜ明示的なユーザー同意が必要なのか、多くの開発者はローカルストレージを中立的なキャッシングメカニズムとして扱いますが、規制当局は持続的なデバイス側識別子を潜在的な追跡ベクトルとして見なしています。
ローカルストレージに個人データを保存できますか
技術的には可能ですが、そうすることは重大な法的リスクを伴い、一般的には推奨されません。ローカルストレージに保存された個人データ(メールアドレス、デバイスフィンガープリンツの構成要素、またはプロファイルに関連付けられたユーザーIDなど)は、すべてのGDPR義務の対象です: 合法的な根拠、データ最小化、保持制限、消去権 [1]。
ローカルストレージ特有のリスク:
- データは明示的にクリアされるまで無期限に持続し、保持コンプライアンスが難しくなります。
- ページ上の任意のJavaScript(サードパーティスクリプトを含む)が、同じオリジンからローカルストレージデータにアクセスできる可能性があります。
- 組み込みの暗号化はなく、プレーンテキストで保存された機密データは、デバイスにアクセスできる人やXSS脆弱性を介してアクセス可能です。
推奨: ローカルストレージに識別可能な個人データを保存することは避けてください。保存が必要な場合は、同意を得て、データを最小限にし、明確な削除メカニズムを確保してください。
ローカルストレージとセッションストレージ: プライバシーへの影響
セッションストレージは、Web Storage APIの観点からローカルストレージと同様に機能しますが、ブラウザのタブまたはウィンドウが閉じられるとデータがクリアされます。この短い寿命にもかかわらず、セッションストレージは追跡や分析に使用される場合、同じ同意要件の対象となります [6]。
コンプライアンスの目的における重要な違い:
- セッションストレージは、データがセッションを超えて持続しないため、より容易に厳密に必要なものとして認められる可能性があります(たとえば、マルチステップのチェックアウト中に状態を維持するため)。
- ローカルストレージは、持続性がユーザーのデバイス上に長期的な識別子を作成するため、追跡使用ケースにはほぼ常に同意が必要です。
どちらのメカニズムもプライバシー法から本質的に免除されているわけではありません。保存されたデータの目的と内容が同意の義務を決定し、ストレージの種類自体は関係ありません。
同意なしにローカルストレージを使用した場合の影響
ローカルストレージを非必須目的で使用する際に有効な事前同意を得ずに行うことは、ePrivacy指令および個人データが関与する場合はGDPRの違反となります。結果として、規制調査、執行措置、評判の損害が含まれる可能性があります。
規制リスクを超えて、技術的な執行の次元が増大しています: ブラウザのプライバシー機能や広告ブロッカーは、ますますローカルストレージベースの追跡をターゲットにしています。同意のないローカルストレージに依存するサイトは、これらのツールが普及するにつれてデータがますます信頼できなくなる可能性があります。
実践的な露出チェックリスト:
- 同意のカバレッジなしにローカルストレージ識別子を書き込むサードパーティの分析スクリプト。
- 同意が収集される前にバリアント割り当てを保存するA/Bテストツール。
- ユーザーのインタラクション前にページロード時にローカルストレージを初期化するチャットウィジェットやサポートツール。
- ローカルストレージをクッキー同期のフォールバックとして使用するリターゲティングピクセル。
ウェブサイトでローカルストレージ同意を実装する方法
ローカルストレージの同意を実装するには、ユーザーが有効な同意の選択を行うまで、クッキー設定だけでなくJavaScriptの実行をブロックできる同意管理プラットフォームが必要です。HTTPレイヤーでのみ機能する標準的なクッキーバナーは、JavaScriptによって行われるローカルストレージの書き込みを阻止しません [3]。
ステップバイステップの実装アプローチ:
- ローカルストレージの使用を監査します。 ブラウザの開発者ツール(アプリケーションタブ)とスクリプトスキャナーを使用して、ローカルストレージに書き込まれたすべてのキーを特定し、どのスクリプトがそれを書き込み、何の目的であるかを確認します。
- 各使用を分類します。 ストレージを厳密に必要、機能的、分析、またはマーケティングとして分類します。厳密に必要なストレージのみが同意なしに進むことができます。
- ローカルストレージをカバーするCMPを選択します。 同意管理プラットフォームが、同意が与えられるまで非必須スクリプトのJavaScript実行をブロックまたは遅延できることを確認します。Biscotti CMPは、このレベルのスクリプトレベルの同意管理を処理するように設計されています。
- 同意ゲート付きのスクリプト読み込みを実装します。 ローカルストレージに書き込む非必須スクリプトは、ユーザーが関連する同意カテゴリを受け入れた後にのみ読み込むべきです。
- 明確な同意UIを提供します。 同意バナーは、ローカルストレージの使用を平易な言葉で説明し、目的別に分類し、詳細なオプトインオプションを提供する必要があります。
- 撤回および削除メカニズムを実装します。 ユーザーが同意を撤回した場合、関連するローカルストレージキーは直ちにクリアされなければなりません。
ユーザーが同意を撤回した後のローカルストレージデータの削除方法
ユーザーが同意を撤回した場合、ウェブサイトはその同意の下で収集されたローカルストレージデータを迅速に削除しなければなりません。これはオプションではなく、同意を撤回し、関連するデータを削除する権利はGDPRの核心的な原則です。
実装パターン: