自己レビュー質問票: セキュリティとプライバシー

W3C グループノート,

この文書についての詳細
このバージョン:
https://www.w3.org/TR/2025/NOTE-security-privacy-questionnaire-20250418/
最新公開バージョン:
https://www.w3.org/TR/security-privacy-questionnaire/
編集者草案:
https://w3c.github.io/security-questionnaire/
以前のバージョン:
履歴:
https://www.w3.org/standards/history/security-privacy-questionnaire/
フィードバック:
GitHub
編集者:
(Apple Inc.)
(Brave Software)
(W3C)
以前の編集者:
Jason Novak (Apple Inc.)
Lukasz Olejnik (独立 研究者)
(Google Inc.)
(Yahoo Inc.)

概要

この文書には、ウェブプラットフォーム技術の セキュリティおよびプライバシー上の影響を評価する際に 使用する一連の質問が含まれています。

この文書のステータス

この節は、公開時点におけるこの文書のステータスを説明します。現在のW3C 公開物の一覧およびこの技術報告書の最新版は、W3C技術報告書索引(https://www.w3.org/TR/)にあります。

この文書は、技術アーキテクチャ グループプライバシーワーキンググループ、およびセキュリティ関心グループにより、ノート トラックを使用したグループノートとして公開されました。

グループノートは、W3Cまたはそのメンバーによって承認されたものではありません。

これは草案文書であり、いつでも他の文書によって更新、置換、または廃止される 可能性があります。この文書を、進行中の作業以外のものとして引用することは 不適切です。

この文書に関するフィードバックおよびコメントを歓迎します。この文書の課題を提出するには、GitHubリポジトリを使用してください。

W3C特許 ポリシーは、この文書にいかなるライセンス要件またはコミットメントも課しません。

この文書は、2023年11月3日 W3Cプロセス文書により管理されます。

1. 導入

Webプラットフォームの新機能を設計する際には、 作業のセキュリティおよびプライバシー上の影響を常に考慮しなければなりません。 新しいWeb機能は常に Web全体のセキュリティとプライバシーを 維持または向上させるべきです。

この文書には、 仕様作成者が 自分たちの作業の セキュリティおよびプライバシー上の影響を検討し、 仕様内に含める説明的な「セキュリティ上の考慮事項」および「プライバシー上の 考慮事項」の節を書く際に役立つことを意図した 一連の質問が含まれています。 これは下記の§ 2.16 この仕様には「セキュリティ上の 考慮事項」と「プライバシー上の 考慮事項」の両方の節がありますか?で説明されています。 また、仕様作成者が仕様に取り組む中で遭遇する セキュリティおよびプライバシー上の懸念に対処するために使用できる 緩和戦略も記録しています。

この文書自体も進行中の作業であり、 この文書が(まだ)扱っていない セキュリティまたはプライバシー上の懸念がある可能性があります。 この質問票が尋ねるべき セキュリティまたはプライバシー上の懸念を見つけた場合は、お知らせください

1.1. 質問票の使い方

設計プロセスの早い段階、 物事を変更しやすい時点で、 これらの質問に取り組んでください。 プライバシーおよびセキュリティの問題が後になって、 機能が出荷された後で初めて見つかった場合、 設計を変更することははるかに困難です。 セキュリティまたはプライバシーの問題が遅れて見つかった場合、 ユーザーエージェントは問題を修正するために 破壊的変更を採用する必要があるかもしれません。

仕様に取り組む間、これらの質問を念頭に置いてください。 定期的にこの質問票を再確認し、質問の検討を続けてください。 特に設計が時間とともに変化する場合はそうです。

1.2. 追加リソース

プライバシーWGが公開した「Web仕様におけるブラウザーフィンガープリンティングの緩和」[FINGERPRINTING-GUIDANCE]文書は、 ブラウザーフィンガープリンティングについて さらに深く掘り下げており、この文書と 並行して検討されるべきです。

プライバシー上の考慮事項に関するIETFのRFC、[RFC6973]は、 特に第7節がすばらしいリソースです。

1.3. TAG、プライバシーWG、セキュリティIG、およびこの質問票

プライバシーワーキンググループおよび セキュリティ関心グループに プライバシーおよび セキュリティレビューを依頼する前に、 § 2.16 この仕様には「セキュリティ上の考慮事項」と「プライバシー上の 考慮事項」の両方の節がありますか?で説明されているように、 文書内に「セキュリティ上の考慮事項」および 「プライバシー上の考慮事項」の節を書いてください。この 文書の質問に答えることで、それらの節を書く際の参考になることを 期待しています。ただし、この質問票を単にそれらの節へコピーすることは 適切ではありません。 セキュリティおよびプライバシーレビューを依頼する手順は、 幅広いレビューの行い方という文書に あります。

技術アーキテクチャグループ(TAG)レビューを依頼する際は、 この文書の質問に対する回答を TAGに提供してください。そうする際には、この Markdown テンプレートが役立つかもしれません。

2. 検討すべき質問

2.1. この機能はどのような情報を公開し、 どのような目的で公開しますか?

ユーザーエージェントは、明確なユーザーニーズに応えるために必要な場合にのみ、 Webに情報を公開するべきです。 あなたの機能はWebサイトに情報を公開しますか? もしそうなら、その情報を公開することはユーザーにどのような利益をもたらしますか? ユーザーへのリスクは、ユーザーへの利益によって上回られていますか? もしそうなら、どのようにですか?

関連項目

この質問に答える際には、情報の公開/共有に関する 次の4つの可能な領域をそれぞれ考慮してください。

以下の副質問については、 潜在的に識別可能な情報という用語を、ブラウザーユーザーを説明する情報であり、 同じブラウザーバージョンを使用する他の人とは区別される情報を意味すると 受け取ってください。 そのような潜在的に識別可能な情報の例には、 ブラウザーユーザーの環境(例: オペレーティングシステムの構成、 ブラウザー構成、ハードウェア能力)に関する情報、およびユーザーの過去の活動 や関心(例: 閲覧履歴、購入の好み、個人的 特徴)に関する情報が含まれます。

  1. あなたの仕様は、ファーストパーティが現在容易には判断できないどのような情報を ファーストパーティに公開しますか。

  2. あなたの仕様は、サードパーティが現在容易には判断できないどのような情報をサード パーティに公開しますか。

  3. あなたの仕様は、ファースト パーティがすでにアクセスできるどのような潜在的に識別可能な情報ファースト パーティに公開しますか(すなわち、あなたの仕様はどのような 識別情報を複製または反映しますか)。

  4. あなたの仕様は、サード パーティがすでにアクセスできるどのような潜在的に識別可能な情報サード パーティに公開しますか。

2.2. あなたの仕様の機能は、意図した機能を実装するために必要な 最小限の情報を公開していますか?

機能は、絶対に必要な場合にのみ 情報を公開するべきです。 ある機能が必要以上の情報を公開する場合、 なぜそうするのですか。また、より少ない情報を公開することで 同じ機能を実現できますか?

関連項目

Content Security Policy [CSP]は、 違反レポートを通じてあるオリジンが別のオリジンに関する詳細を推測できるようにすることで、 リダイレクト先を意図せず クロスオリジンに公開しました([HOMAKOV]を参照)。ワーキンググループは最終的に、 リダイレクト後にポリシーの粒度を下げることで リスクを緩和しました。

2.3. あなたの仕様の機能は、個人情報、 個人を特定できる情報(PII)、または そのいずれかから派生した情報を公開しますか?

個人情報とは、ユーザーに関するあらゆるデータ (たとえば自宅住所)、 またはユーザーを識別するために使用できる情報、 たとえば別名、メールアドレス、識別番号などです。

注: 個人情報は、 個人を特定できる情報 (PII)とは異なります。 PIIは法的概念であり、 その定義は法域によって異なります。 法的ではない文脈で使用される場合、 PIIは一般に、 ユーザーを識別するために使用できる 情報を指す傾向があります。

個人情報、PII、または派生情報を 公開する場合、 仕様作成者は、ユーザーへの潜在的な害を 防止しなければならず、また防止が不可能な場合は最小化しなければなりません。

認証のために 生体認証データ (指紋や網膜スキャンなど)を収集する機能は、 この生体認証データをWebに直接公開するべきではありません。 代わりに、 その生体認証データを使用して、 オリジン間で共有されない一時的なキーを検索または生成し、 それを安全にオリジンへ公開することができます。 [WEBAUTHN]

個人情報、PII、またはそれらの派生物は、 意味のあるユーザー同意なしに オリジンへ公開されるべきではありません。 多くのAPIは、 意味のあるユーザー同意を取得するためにPermissions APIを使用します。 [PERMISSIONS]

Webプラットフォームに 追加される各権限プロンプトは、 ユーザーがすべての権限プロンプトの内容を無視する リスクを高めることを 念頭に置いてください。 権限プロンプトを追加する前に、 意味のあるユーザー同意を得るための、より目立たない方法を使用する 選択肢を検討してください。 [ADDING-PERMISSION]

<input type=file>は、 個人情報を含む文書を Webサイトにアップロードするために使用できます。 これは、 下位のネイティブプラットフォームのファイルピッカーを利用して、 別個の権限プロンプトなしに、 ファイルとその内容が Webサイトへ公開されることを ユーザーが理解できるようにします。

関連項目

2.4. あなたの仕様の機能は機微情報をどのように扱いますか?

機微情報は個人情報だけではありません。 他にも多くの種類の情報が機微情報になり得ます。 何が機微情報であるか、またはそうでないかは、 人によって あるいは場所によって異なり得ます。 ある人または人々の集団について知られても無害な情報が、 別の人または集団について知られると危険である可能性があります。 ある国では無害な個人に関する情報が、 別の国ではその人を拘束、誘拐、または投獄するために 使用される可能性があります。

機微情報の例には、 カースト、 市民権、 肌の色、 資格情報、 犯罪歴、 人口統計情報、 障害の状態、 雇用状態、 民族性、 金融情報、 健康情報、 位置データ、 婚姻状況、 政治的信条、 職業、 人種、 宗教的信条または無信仰、 性的嗜好、 および トランスジェンダーであることの状態が含まれます。

機能が機微情報をWebに公開する場合、 その設計者は、 情報を公開するリスクを緩和するための 手段を講じなければなりません。

Credential Management APIは、 サイトがパスワードマネージャーから ユーザーの資格情報を 要求できるようにします。 [CREDENTIAL-MANAGEMENT-1] もしそれがユーザーの 資格情報をJavaScriptに公開し、 かつそのAPIを使用するページがXSS攻撃に脆弱であった場合、 ユーザーの資格情報が攻撃者に漏れる可能性があります。

Credential Management APIは、 資格情報をJavaScriptに公開しないことで このリスクを緩和します。 代わりに、JavaScriptでは読み取れない 不透明なFormData オブジェクトを 公開します。 仕様はまた、 流出のリスクをさらに緩和するために、 サイトがContent Security Policy [CSP]を妥当なconnect-srcおよびform-action値で構成することを 推奨しています。

位置情報を必要とする多くのユースケースは、 非常に粗い位置データで 十分に満たすことができます。 たとえば、 レストランを推薦するサイトは、 ユーザーの正確な位置を公開する代わりに 市区町村レベルの位置情報で ユーザーに十分なサービスを提供できるでしょう。

関連項目

2.5. あなたの仕様によって公開されるデータは、ユーザーには明らかでない可能性のある 関連しているが別個の情報を含んでいますか?

ユーザーがオリジンとデータを共有できるようにする機能は、 そのようなデータが、 ユーザーの認識、理解、および同意なしに 埋め込まれた、場合によっては隠れた情報を 含まないようにするべきです。

画像や動画ファイルなどの 文書は、 画像、動画、または音声がいつどこで取得されたか、 そして どの種類のデバイスがそのデータを取得または生成したかに関する メタデータを含むことがよくあります。 アップロードされると、 この種のメタデータは、 ユーザーが明らかにするつもりのなかった情報、 たとえばユーザーの現在または過去の位置 および社会経済的地位を オリジンに明らかにする可能性があります。

ユーザーエージェントは、ユーザーがそのようなデータをサイトと共有するかどうかを 選択できるようにするべきであり、 既定ではそのようなデータが 共有されないようにするべきです。

2.6. あなたの仕様の機能は、 閲覧セッションをまたいで持続する状態を導入しますか?

Webプラットフォームにはすでに、 オリジンが情報を 保存するために使用できる多くの仕組みがあります。 Cookies、ETagLast ModifiedlocalStorage、 およびindexedDBは、 ほんの数例です。

Webサイトが、 閲覧セッションをまたいで持続する形で ユーザーのデバイスに データを保存できるようにすると、 この状態がユーザーの認識や制御なしに ユーザーを追跡するために使用される リスクが生じます。 これはファーストパーティまたはサードパーティのコンテキストのいずれにおいても起こり得ます。

ユーザーエージェントが、 クライアント側ストレージ機構の悪用を オリジンに防止する一つの方法は、 オリジンによって保存されたデータを消去する能力を ユーザーに提供することです。 仕様作成者は、新しい クライアント側ストレージ機構が、 ユーザーの制御なしにドメインをまたいでユーザーを追跡するために 悪用されないことを確実にするため、 同様の保護を含めるべきです。 しかし、ユーザーにオリジン設定の状態を削除する能力を与えるだけでは、 通常は十分ではありません。 ユーザーが手動でブラウザー状態を消去することはまれだからです。 仕様作成者は、 値の一意性を低下させる、 値をローテーションする、 または機能を必要以上に識別可能にしないようにするなど、 ストレージ全消去なしで新機能をよりプライバシー保護的にする方法を 検討するべきです。

さらに、仕様作成者は、 可能な場合、自分たちの機能がブラウザーキャッシュ 機能とどのように相互作用すべきかを慎重に検討し、明記するべきです。 オリジンがキャッシュを悪用して、 ユーザー同意なしにサイトまたはセッションをまたいでユーザーを識別し追跡することを 防ぐために、追加の緩和策が必要になる場合があります。

プラットフォーム固有の DRM実装 (コンテンツ復号モジュールなど、[ENCRYPTED-MEDIA]内のもの)は、 ユーザーを識別し、 特定のメディア片へのアクセスを許可されるべきかを判断するために、 オリジン固有の情報を 公開する可能性があります。 この種の識別子は、 悪用をどのように緩和できるかを判断するために 慎重に評価されるべきです。 ユーザーが容易に変更できない識別子は、 追跡の観点から非常に価値があり、 そのような識別子を能動的 ネットワーク攻撃者から保護することは不可欠です。

2.7. あなたの仕様の機能は、 下位プラットフォームに関する情報をオリジンに公開しますか?

(下位プラットフォーム情報には、 ユーザー構成データ、 センサーなどのハードウェアI/Oデバイスの存在と属性、 およびさまざまなソフトウェア機能の可用性や挙動が含まれます。)

もしそうなら、同じ情報がオリジン間で公開されますか? 異なるオリジンは異なるデータを見ますか、それとも同じデータを見ますか? そのデータは頻繁に変化しますか、それともまれにしか変化しませんか? 複数のオリジンに公開される、まれにしか変化しないデータは、 それらのオリジンをまたいでユーザーを一意に識別するために使用される可能性があります。 これは直接的である場合もあります (情報片が一意である場合)し、 間接的である場合もあります (そのデータが他のデータと組み合わされてフィンガープリントを形成し得るため)。 [FINGERPRINTING-GUIDANCE]

そのような情報を公開するかどうかを検討する際、 仕様およびユーザーエージェントは その情報を単独で考えるべきではなく、 プラットフォームの既存のフィンガープリンティング面に それを追加するリスクを評価するべきです。

特定の情報片の フィンガープリンティングリスクは、 プラットフォームによって異なる可能性があることを念頭に置いてください。 あなたが使用しているハードウェアおよびソフトウェアプラットフォーム上での あるデータのフィンガープリンティングリスクは、 他のプラットフォーム上での フィンガープリンティングリスクとは異なる可能性があります。

そのような情報を公開すると決めた場合、 その公開による害を緩和するための措置を講じるべきです。

場合によっては、そもそもデータを公開しないことが正しい答えです(§ 4.6 機能を削除するを参照)。 他の場合には、 フィンガープリント可能性を低減することは、 たとえば利用可能なリソースの一覧を順序付けることによって 一貫性を確保するだけでよい場合もありますが、 より複雑な緩和策が必要になる場合もあります。 詳細は§ 4 緩和戦略を参照してください。

あなたの仕様の機能がそのようなデータを公開し、 十分な緩和策を定義していない場合、 そのような情報が 意味のあるユーザー同意なしに オリジンへ明らかにされないことを確実にするべきであり、 さらにこれを あなたの仕様のセキュリティ上およびプライバシー上の考慮事項の節に 明確に記述するべきです。

WebGLの RENDERER文字列は、 一部のアプリケーションが性能を向上させることを可能にします。 これはフィンガープリンティングデータとしても価値があります。 そのようなデータをオリジンに公開することを検討する際には、 このプライバシーリスクを慎重に比較衡量しなければなりません。

PDFビューアープラグインオブジェクトの一覧は、ほとんど変化しません。 一部のユーザーエージェントは、このインターフェイスのフィンガープリンティング上の害を減らすために、プラグイン一覧の直接列挙を無効化しています。

関連項目:

2.8. この仕様は、オリジンが下位プラットフォームへデータを送信することを 許可しますか?

もしそうなら、どのような種類のデータを送信できますか?

プラットフォームは渡されたデータをどのように処理するかが異なり、 それによってユーザーに対する異なるリスクが生じる可能性があります。

下位プラットフォームが、渡されたデータを安全に処理すると仮定してはいけません。 可能な場合は、プラットフォームに渡されるデータの種類を制限または構造化することで攻撃を緩和してください。

URLはプラットフォームAPIによって参照解除される場合もあれば、されない場合もあり、 参照解除される場合でも、 リダイレクトが追跡される場合もあれば、されない場合もあります。 あなたの仕様がURLを下位プラットフォームAPIに送信する場合、 あなたのAPIの潜在的な害は、 それが構築されているさまざまな下位プラットフォームAPIの 挙動によって異なる可能性があります。

file:data:、またはblob: URLが 下位プラットフォームAPIに渡されると何が起こりますか? これらは、ユーザーのハードディスクまたはメモリから 機微データを直接読み取る可能性があります。

あなたのAPIがhttp:およびhttps: URLのみを許可する場合でも、 そのようなURLはCSRF攻撃に対して脆弱である可能性があり、 またはfile:data:blob: URLへリダイレクトされる可能性があります。

2.9. この仕様の機能は、デバイスセンサーへのアクセスを可能にしますか?

もしそうなら、センサーから、またはセンサーについてのどのような種類の情報がオリジンに公開されますか?

センサーからの情報は、オリジンをまたぐフィンガープリンティングベクトルとして機能する可能性があります。 さらに、 センサーはデバイスまたはその環境についての機微な事柄を明らかにする可能性があります。

センサーデータが比較的安定しており、 オリジン間で一貫している場合、 それはクロスオリジン識別子として使用される可能性があります。 2つのユーザーエージェントが同じセンサーからそのような安定したデータを公開する場合、 そのデータはクロスブラウザー、あるいは潜在的にはクロスデバイス識別子としてさえ使用される可能性があります。

研究者は、 十分に細粒度のジャイロスコープを マイクロフォンとして使用できることを 発見しました [GYROSPEECHRECOGNITION]。 これはジャイロスコープのサンプルレートを下げることで緩和できます。

環境光 センサーは、攻撃者がユーザーが特定のリンクを訪問したかどうかを知ることを 可能にし得ます [OLEJNIK-ALS]

バッテリー状態のような比較的 短命なデータであっても、 識別子として機能し得ます [OLEJNIK-BATTERY]

2.10. この仕様の機能は、新しいスクリプト実行/読み込み メカニズムを可能にしますか?

スクリプトを実行または読み込む新しいメカニズムには、新たな攻撃面を可能にするリスクがあります。 一般に、新機能がこれを必要とする場合は、より広い関係者に相談し、 既存のメカニズムを使用できるかどうか、 またはその機能が本当に必要かどうかを検討するべきです。

JSONモジュールはデータとしてのみ扱われることが期待されていますが、 初期提案では、攻撃者がユーザーに知られることなくそれをコードに差し替えることが可能でした。 Import assertionsが この脆弱性の緩和策として実装されました。

2.11. この仕様の機能は、オリジンが他のデバイスにアクセスすることを許可しますか?

もしそうなら、この仕様の機能は、オリジンがどのようなデバイスに アクセスすることを許可しますか?

ネットワーク接続および ユーザーのマシンへの直接接続(例: Bluetooth、 NFC、またはUSB)を介して他のデバイスにアクセスすることは、 脆弱性を公開する可能性があります。これらのデバイスの中には、 Web接続を念頭に置いて作られていないものがあり、悪意のある入力に対する 強化が不十分であったり、Web上での使用に対する強化が不十分であったりする可能性があります。

ユーザーのローカルネットワーク上の他のデバイスを公開することにも、重大なプライバシー リスクがあります:

Network Service Discovery API [DISCOVERY-API]は、デバイスへのアクセスを許可する前に CORSプリフライトを推奨し、ユーザーエージェントが 何らかの権限要求でユーザーを関与させることを要求しました。

同様に、Web Bluetooth [WEB-BLUETOOTH]には、 Web Bluetooth § 3 Privacy considerationsにおいて そのような問題についての広範な議論があり、類似の作業に対する例として 読む価値があります。

[WEBUSB]は、 ユーザー仲介/ プロンプト、セキュアオリジン、および機能ポリシーの組み合わせを通じて これらのリスクに対処します。 詳細はWebUSB API § 3 Security and Privacy Considerationsを参照してください。

2.12. この仕様の機能は、オリジンがユーザーエージェントのネイティブUIに対して ある程度の制御を行うことを許可しますか?

ユーザーエージェントのUIを制御できる機能(例: 全画面 モード)や下位システムへの変更(例: スマートフォンのホーム画面に 「アプリ」をインストールする)は、ユーザーを驚かせたり、セキュリティ/プライバシー 制御を不明瞭にしたりする可能性があります。あなたの機能が ユーザーエージェントのUIを変更できる範囲において、それは セキュリティ/プライバシー制御に影響できますか? どのような分析が この結論を確認しましたか?

2.13. この仕様の機能は、どのような一時的識別子を作成または Webに公開しますか?

標準が一時的識別子をWebに公開する場合、その識別子は 短命であり、この識別子が長期にわたりユーザーを追跡するために使用される リスクを緩和するため、一定の期間ごとにローテーションされるべきです。 ユーザーがユーザーエージェント内の状態を消去する場合、これらの一時的識別子も 消去され、一時的識別子を使用した状態の再相関を防ぐべきです。

この仕様の機能が一時的識別子を作成または Webに公開する場合、それらはどのように、いつ、どの実体に対して公開され、 また、それらの一時的識別子はどのくらいの頻度で ローテーションされますか?

一時的識別子の例には、TLS Channel ID、Session Tickets、および IPv6アドレスが含まれます。

Gamepad API [GAMEPAD]におけるindex属性 — ゼロから始まり、 増分され、リセットされる整数 — は、プライバシーに配慮した 一時的識別子の良い例です。

2.14. この仕様は、ファーストパーティおよび サードパーティのコンテキストにおける挙動をどのように区別しますか?

機能の挙動は、ユーザーが訪れているファーストパーティオリジンによって 使用される文脈だけでなく、そのファーストパーティに含まれる任意の サードパーティによって使用される場合の影響も考慮されるべきです。 仕様を開発する際には、ページ上のサードパーティリソースによる 使用の影響を検討し、サードパーティリソースによる使用のサポートを 仕様への適合において任意とすべきかどうかを検討してください。 サードパーティリソースによる使用のサポートが適合のために必須である場合は、 その理由と、どのようなプライバシー緩和策があるかを説明してください。 これは特に重要です。サードパーティが機能を悪用していると判明した場合、 ユーザーエージェントは特定の機能の可用性または機能性をサードパーティに対して 低減するための措置を取る可能性があるからです。

2.15. この仕様の機能は、ブラウザーの プライベートブラウジングまたはシークレットモードの文脈でどのように動作しますか?

ほとんどのブラウザーはプライベートブラウジングまたはシークレットモードを実装していますが、 それらが提供する機能や、その保護がユーザーにどのように説明されるかは 大きく異なります [WU-PRIVATE-BROWSING]

共通点の一つは、ブラウザーの「通常」の状態とは異なる 状態の集合を提供することです。

この仕様の機能は、 通常モードとプライベートブラウジング/シークレットモードをまたいで 単一ユーザーの活動を相関させることを可能にする情報を提供しますか? 仕様の機能は、 プライベートブラウジング/シークレットモードのセッション終了後も持続する情報を ユーザーのホストに書き込む結果になりますか?

次の両方について研究があります:

仕様作成者は、可能な限り、 プライベートブラウジングモードの存在をサイトに検出可能にすることを避けるべきです。 Web Platform Design Principles § do-not-expose-use-of-private-browsing-mode

2.16. この仕様には、「セキュリティ上の考慮事項」と「プライバシー上の 考慮事項」の両方の節がありますか?

仕様には、実装者およびWeb開発者が 機能のもたらすリスクを理解し、十分な緩和策が整っていることを 確実にするため、 「セキュリティ上の考慮事項」と「プライバシー上の 考慮事項」の両方の節があるべきです。 この文書の質問への回答は、それらの節を書く際の参考になりますが、 この質問票を単にそれらの節へコピーしてはいけません。 代わりに、実装者およびWeb開発者に役立つ、 あなたの仕様に固有の言葉を作成してください。

[RFC6973]は、 仕様のプライバシー影響を検討する際に参照すべき優れたリソースであり、 特にRFC6973の第7節が有用です。 [RFC3552]は、 セキュリティ上の考慮事項の節を書くための一般的な助言を提供し、 RFC3552の第5節には具体的な要件があります。

一般に、これらの節には、 あなたの仕様が導入する機能についての プライバシーおよびセキュリティリスクの明確な説明を含めるべきです。 また、仕様内の別の場所で緩和されているリスクを文書化し、 仕様どおりでない方法で実装された場合に脆弱性につながる可能性が高い詳細を 指摘することも適切です。

あなたの仕様のどの機能にもセキュリティまたは プライバシーへの影響がないように思われる場合は、たとえば次のように その旨を本文中に述べてください:

この仕様の機能による既知のセキュリティ影響はありません。

ただし、ほとんどの仕様には、 ブラウザーのフィンガープリンティング面に少なくとも何らかの 影響を与える機能が含まれることに注意してください。 あなたの仕様が例外であると考えるなら、その主張を正当化することが 必要です。

2.17. あなたの仕様の機能は、オリジンが既定の セキュリティ保護を格下げすることを可能にしますか?

あなたの仕様の機能は、 何かを実現するために、 オリジンがセキュリティ設定をオプトアウトすることを 可能にしますか? もしそうなら、 これらの機能はどのような状況でそのような格下げを許可し、それはなぜですか?

これは最初から避けることができますか? 避けられない場合、 この格下げがユーザーへのリスクを劇的に高めないことを確実にする 緩和策はありますか? たとえば、[PERMISSIONS-POLICY]は、 信頼されていない iframeが そのような機能を使用することをサイトが防ぐために使用できる メカニズムを定義しています。

document.domain セッターは、同一オリジンポリシーを緩和するために使用できます。 最も効果的な緩和策は、 それをプラットフォームから削除すること(§ 4.6 機能を削除するを参照)でしょうが、 互換性上の理由からそれは困難かもしれません
Fullscreen APIは、 Webページ(の一部)を ディスプレイ全体に拡大できるようにします。 [FULLSCREEN] これは、 ユーザーが自分の訪問しているWebページを理解し、 ユーザーエージェントがそれを安全だと考えているかどうかを理解するのに役立つ いくつかのユーザーエージェントのユーザーインターフェイス要素を隠す可能性があります。

仕様にはいくつかの緩和策が定義されており、 実装に広く展開されています。 たとえば、Fullscreen APIはポリシー制御機能であり、 サイトが iframe内でAPIを無効化できるようにします。 Fullscreen API § 7 Security and Privacy Considerationsは、 ユーザーが全画面に入ったことを知らせるオーバーレイを表示し、 全画面を終了するための単純な仕組み(通常はEscキー)を告知することを 実装に推奨しています。

2.18. あなたの機能を使用する文書が、ナビゲーション後に(破棄される代わりに) BFCache内で存続し、将来その文書への戻りナビゲーションで再利用される可能性がある場合、 何が起こりますか?

ユーザーが文書から離れるナビゲーションを行った後、 その文書は非「完全にアクティブ」状態のまま残り、 「戻る/進むキャッシュ(BFCache)」に保持され、 ユーザーがその文書に戻るナビゲーションを行ったときに再利用される可能性があります。 ユーザーの視点からは、 非完全にアクティブな文書はすでに破棄されているため、 ユーザーがそこから離れた後に発生する更新/イベント、 特にプライバシーに敏感な情報(例: 位置情報)を受け取るべきではありません。

また、文書はナビゲーション後でも再利用される可能性があるため、 何かを文書の寿命に結びつけることは、 ナビゲーション後にもそれを再利用することを意味する点に注意してください。 これが望ましくない場合は、 完全にアクティブ状態の変化を監視し、 必要に応じてクリーンアップすることを検討してください。

BFCachedされた文書の扱い方についてのより詳細なガイダンスは、 Web Platform Design Principles § support-non-fully-activeおよびSupporting BFCached Documentsガイドを参照してください。

注: 文書は、 BFCacheに関係しない他の理由で非完全にアクティブになる可能性もあります。 たとえば、文書を保持するiframeが切断される場合です。 私たちの助言は、すべての非完全にアクティブな文書は同じように扱われるべきだというものです。 唯一の違いは、BFCachedされた文書は再び完全にアクティブになる可能性があるのに対し、 切り離されたiframe内の文書は永遠に非アクティブのままであることです。 したがって、BFCacheの場合には特に注意を払うことを提案します。

Screen WakeLock APIは、文書がもはや完全にアクティブでなくなるとウェイクロックを解放します
Sticky activationは、「最後のアクティベーションタイムスタンプ」によって決定され、 これは文書に結びついています。 これは、ユーザーが文書上で一度アクティベーションをトリガーすると、 その文書は、 ユーザーが離れて戻ってきた後でさえ、 永久にsticky activationを持つことを意味します。

2.19. あなたの機能を使用する文書が切断された場合、何が起こりますか?

文書を含むiframe要素が切断されると、 その文書はもはや完全にアクティブではなくなります。 その文書は二度と完全にアクティブにはなりません。 なぜなら、iframe要素が再び接続される場合、新しい文書が読み込まれるからです。 ユーザーの視点からはその文書はなくなっており、 あなたの機能でも同様に扱われるべきです。 前述のBFCacheに関するガイドラインに従うことができます。 私たちは、BFCachedされた文書と切り離された文書が同じように扱われると期待しており、 唯一の違いはBFCachedされた文書が再び完全にアクティブになれる点です。

2.20. あなたの仕様は、新しい種類のエラーをいつ、どのように発生させるべきかを 定義していますか?

エラー処理、 およびどの条件がエラー状態を構成するかは、 意図しない情報漏えいやプライバシー脆弱性の原因になり得ます。 エラーをトリガーすること、 エラーに含まれる(またはエラーによって学習可能な)情報、 およびアプリケーション内のどの当事者がそのエラーについて知ることができるかは、 すべてユーザーのプライバシーに影響する(または弱める)可能性があります。 提案作成者は、エラー処理によってユーザーのプライバシーおよびセキュリティが 損なわれないように、これらの各側面を 慎重に検討するべきです。

エラー定義およびエラー処理がユーザーをリスクにさらし得る方法の 部分的な一覧には、次が含まれます:

2.21. あなたの機能は、サイトがユーザーによる支援技術の使用について知ることを 許可しますか?

Webはすべての人のために機能するように設計されており、Web標準は、 マウス、キーボード、タッチスクリーンに頼るユーザーと同じくらい、 支援技術(AT)を使用する人々のためにも設計されるべきです。 アクセシビリティとユニバーサルアクセスは W3Cの使命の中核です。

仕様作成者は、 支援技術に依存するWebユーザーが、 Webを使用する際に固有のリスクに直面することを念頭に置くべきです。 支援技術の使用により、それらのWebユーザーは 他のWebユーザーの中で目立つ可能性があり、望ましくない再識別 およびプライバシー上の害のリスクが高まります。同様に、一部のWebサイト運営者は、 支援技術に依存するWebユーザーを差別しようとする可能性があります。

したがって、機能設計者および仕様作成者は、 Webサイトが支援技術の使用について知ることができるかどうか、また何を知ることができるかを制限するために、 思慮深く慎重であるべきです。仕様作成者は、 その機能が支援技術の使用について明示的および暗黙的に明らかにする情報を 最小化しなければなりません。 支援技術に関する明示的な情報の例には、 デバイス識別子またはモデル名が含まれます。支援技術の使用に関する暗黙的な情報の例には、 マウス、キーボード、またはタッチスクリーンでは生成されそうにない ユーザー操作パターンが含まれる場合があります。

[wai-aria-1.3]は、 作成者が支援技術でページをよりナビゲートしやすくするために使用できる 追加のマークアップを定義しています。仕様には、 aria-hidden 属性が含まれており、サイト作成者はそれを使用して、 特定のコンテンツを支援技術から隠すべきであることを示すことができます。

悪意あるサイト作成者は、 aria-hidden属性を悪用して、ユーザーが支援技術を使用しているかどうかを知る可能性があります。 たとえば、特定のページコンテンツを支援技術には明らかにし、 他のユーザーには非常に異なるページコンテンツを表示することによってです。悪意ある サイト作成者は、その後、ユーザーがどのコンテンツと相互作用していたかを ユーザーの挙動から推測し、したがって支援技術が 使用されていたかどうかを推測できる可能性があります。

2.22. この質問票は何を尋ねるべきでしたか?

この質問票は網羅的ではありません。 プライバシーレビューを完了した後、 あなたの仕様には、 この質問票を厳密に読み、それに回答しても 明らかにならなかった プライバシー側面があるかもしれません。 その場合は、 それらのプライバシー上の懸念を伝え、 この側面を扱うことができたであろう改善された質問または新しい質問を 思いつくかどうかを示してください。

この質問票が何を尋ねるべきだったかを知らせるため、課題を提出することを検討してください。

3. 脅威モデル

セキュリティおよびプライバシーを考えるには、脅威モデル、 つまり可能なリスクを明らかにする方法の観点で考えると便利です。

Webプラットフォーム向けの機能を開発する際に考慮すべき 具体的なプライバシー上の懸念がいくつかあります [RFC6973]:

緩和策の節では、この文書はこれらのリスクを緩和するために適用できる いくつかの技法を概説しています。

以下に列挙するのは、Web機能を開発する際に考慮すべき 脅威の広範な分類です。

3.1. 受動的ネットワーク攻撃者

受動的ネットワーク 攻撃者は、ユーザーと通信相手のサーバーとの間の 回線上を流れるビットに対する読み取りアクセスを持っています。彼女はバイトを変更できませんが、 それらを収集し分析できます。

インターネットの分散的な性質、およびユーザー活動への一般的な 関心の度合いを考えると、 あなたが今使っているプロキシ、ルーター、サーバーのネットワークを跳ね回っている 暗号化されていない実質的にすべてのビットが、誰かに読まれていると仮定するのは合理的です。 それらの攻撃者の中には、 暗号化されたビットも理解しようと最善を尽くしている者がいる可能性も同様に高く、 後の暗号解析のために暗号化された通信を保存することも含まれます (ただし、それにはかなり多くの労力が必要です)。

3.2. 能動的ネットワーク攻撃者

能動的ネットワーク 攻撃者は、ユーザーと通信相手のサーバーとの間の 回線上を流れるビットに対する読み取りおよび書き込みアクセスの両方を持っています。 彼女はデータを収集し分析できるだけでなく、転送中にそれを変更し、 JavaScript、HTML、および他のコンテンツを任意に 注入および操作できます。 これは、良性および悪意のある目的の両方で、あなたが予想するよりも一般的です:

3.3. 同一オリジンポリシー違反

同一オリジン ポリシーはWeb上のセキュリティの礎です。 あるオリジンは別のオリジンのデータに直接アクセスするべきではありません (このポリシーは[RFC6454]の第3節でより形式的に定義されています)。 このポリシーの当然の帰結として、オリジンはどのオリジンにも関連付けられていないデータ、 たとえばユーザーのハードドライブの内容に直接アクセスするべきではありません。 さまざまな種類の攻撃が、この保護を何らかの方法で回避します。たとえば:

3.4. サードパーティトラッキング

Webの力の一部は、ページが画像からJavaScriptに至るまで、 他のサードパーティからコンテンツを取り込み、 サイトのコンテンツやユーザー体験を向上させられる能力にあります。 しかし、ページがサードパーティからコンテンツを取り込むと、 それは本質的にいくらかの情報をサードパーティへ漏らします。 たとえばreferer情報や、ユーザーの追跡およびプロファイリングに使用され得る その他の情報です。これには、Cookieが最初にそれを保存した ドメインへ戻ることでクロスオリジン追跡を可能にするという事実が含まれます。 さらに、サードパーティは、Webページに含まれるサードパーティ JavaScriptを通じて実行能力を得ることができます。 ページはサードパーティコンテンツのリスクを緩和するための措置を取ることができ、 ブラウザーは特定のページからのファーストパーティおよびサードパーティコンテンツの扱いを 区別することがありますが、 新しい機能がファーストパーティサイトではなくサードパーティによって実行されるリスクは、 機能開発プロセスで考慮されるべきです。

最も単純な例は、特定の条件下で異なる挙動をするサイトへのリンクを注入することです。 たとえば、ユーザーがそのサイトにログインしているかどうかに基づくものです。 これは、ユーザーがそのサイトにアカウントを持っていることを明らかにする可能性があります。

3.5. 正当な誤用

強力な機能が開発者に提供される場合であっても、 すべての使用が常に良い考えである、または正当化されるとは限りません。 実際、世界中のデータプライバシー規制は、特定のデータ使用に 制限を課すことさえあります。 ファーストパーティの文脈では、正当なWebサイトが 強力な機能と相互作用し、ユーザーの行動または 習慣について知ることができる可能性があります。たとえば:

この点は他の点とは明らかに異なりますが、 何かが可能であるからといって、それが常に行われるべきだとは限らないことを強調しています。 これには、プライバシー影響評価、あるいは倫理評価を検討する必要も含まれます。 セキュリティとプライバシーを念頭に置いて機能を設計する際には、 使用ケースと誤用ケースの両方が範囲に含まれるべきです。

4. 緩和戦略

あなたの仕様で特定したセキュリティおよびプライバシーリスクを緩和するために、 以下に説明する緩和策の1つ以上を適用するとよいでしょう。

4.1. データ最小化

最小化とは、特定の操作を完了するために必要なだけの できる限り少ない情報を 他の通信相手へ公開する戦略です。 より具体的には、ユーザー仲介によるアクセスで明らかになった以上の 情報へのアクセスを提供しないこと、または提供される情報を正確に ユーザーがある程度制御できるようにすることを要求します。

たとえば、ユーザーが特定のファイルへのアクセスを提供した場合、 それを表すオブジェクトが、 そのファイルの親ディレクトリやその内容に関する情報を取得できるようにするべきではありません。 それは明らかに期待されていることではないからです。

データ最小化の文脈では、 異なる当事者間でどのデータが渡されるのか、 データ項目および識別子がどれほど永続的か、 そして異なるプロトコル実行間に相関の可能性があるかを問うのは自然です。

たとえば、W3C Device APIs Working Groupは、 Privacy Requirements文書においていくつかの 要件を定義しています。 [DAP-PRIVACY-REQS]

データ最小化は、仕様作成者および実装者、 ならびに最終サービスを展開する者に適用されます。

例として、マウスイベントを考えてください。ページが読み込まれたとき、 アプリケーションはマウスが接続されているかどうか、どの種類のマウスか (例: メーカーやモデル)、どのような能力を公開するか、何台接続されているか、 などを知る方法がありません。ユーザーがマウスを使用しようと決めたときにのみ — おそらくそれが相互作用に必要だからですが — この情報の一部が利用可能になります。それでも、公開されるのは最小限の情報だけです。 たとえば、それがトラックパッドであるかどうかを知ることはできず、 右ボタンがあるという事実も、それが使用された場合にのみ公開されます。 たとえば、Gamepad APIはこのデータ最小化能力を利用しています。Webゲームが、 ユーザーエージェントがゲームパッドにアクセスできるかどうか、何台あるか、 どのような能力を持つかなどを知ることは不可能です。 ユーザーがゲームパッドを通じてゲームと相互作用したい場合、彼女はいつそれを操作すべきかを知っていると 単に仮定されます。そしてそれを操作することで、アプリケーションが動作するために必要なすべての情報 (ただしそれ以上ではない)が提供されます。

マウスについて機能がサポートされる方法は、 特定のイベントが発生したときにのみマウスの挙動に関する情報を提供することです。 したがって、このアプローチは、イベント処理(例: クリック、移動、ボタン押下でトリガー)を デバイスへの唯一のインターフェイスとして公開することです。

機能が公開するデータを最小化している仕様には、次の2つがあります:

4.2. 既定のプライバシー設定

ユーザーはしばしば既定値を変更しません。その結果、 仕様の既定モードが、公開されるデータおよび識別子の量、識別可能性、 永続性を最小化することが重要です。 これは、特定の環境に合わせて調整できる柔軟なオプションをプロトコルが伴う場合に 特に当てはまります。

4.3. 明示的なユーザー仲介

機能のセキュリティまたはプライバシーリスクを 仕様内で他の方法では緩和できない場合、 実装者がユーザーにプロンプトを出すことを任意で許可することが、 可能な最善の緩和策であるかもしれません。 ただし、それがプライバシーリスクを完全に取り除くわけではないことを理解する必要があります。 仕様が実装者にプロンプトを許可しない場合、 一部のユーザーエージェントがよりプライバシーに配慮したバージョンを実装することを選ぶため、 異なるユーザーエージェントによる実装の分岐につながる可能性があります。

機能そのものにリスクが内在しているために、 機能のリスクを緩和できない場合があります。 たとえば、[GEOLOCATION]は意図的にユーザーの位置を明らかにします。 ユーザーエージェントは一般に、 ユーザーが受け入れることを選択できる権限プロンプトによって その機能へのアクセスを制限します。 このリスクは、個人データまたは識別子を公開する機能にも存在し、 考慮されるべきです。

そのようなプロンプトを設計することは困難であり、 権限が提供すべき期間を決定することも困難です。

多くの場合、最善のプロンプトは、 ユーザー操作に明確に結びついたものです。たとえば、 ユーザー操作に応答してファイルピッカーが表示され、 ユーザーが個別のサイトに対して特定のファイルへのアクセスを与えるようなものです。

一般的に言えば、プロンプトの期間とタイミングは、 公開されるデータがもたらすリスクに反比例するべきです。 さらに、プロンプトは次のような問題を考慮するべきです:

これらのプロンプトには、データが他の当事者と共有された後、 ユーザーが自分のデータに対してどのような制御を持つか(もしあれば)についての考慮も 含めるべきです。 たとえば、ユーザーはどの情報が他の当事者と共有されたかを判断できますか?

4.4. 機能をファーストパーティオリジンに明示的に制限する

「サードパーティトラッキング」の節で説明したように、 Webページはファーストパーティおよびサードパーティのコンテンツを単一のアプリケーションに混在させます。 これは、サードパーティコンテンツがファーストパーティコンテンツと同じ一連のWeb機能を 誤用できるリスクを導入します。

作成者は、機能の可用性の範囲を明示的に指定するべきです:

機能へのサードパーティアクセスは、 適合のための任意実装とするべきです。

4.5. セキュアコンテキスト

あなたの仕様で特定した主要なリスクが 能動的ネットワーク攻撃者による脅威である場合、 安全でないオリジンに機能を提供することは、 その機能をすべてのオリジンに提供することと同じです。 なぜなら、攻撃者はフレームやコードを任意に注入できるからです。 機能を使用するために暗号化され認証された接続を要求することは、 この種のリスクを緩和できます。

セキュアコンテキストは、受動的ネットワーク攻撃者に対しても保護します。 たとえば、ページがGeolocation APIを使用し、センサーから提供された 緯度と経度を安全でない接続でサーバーへ送り返す場合、 受動的ネットワーク攻撃者は、ユーザーや他者による検知への実現可能な経路なしに、 ユーザーの位置を知ることができます。

しかし、セキュアコンテキストを要求することは、 能動的ネットワーク攻撃者以外の脅威主体からの多くの プライバシーリスク、さらにはセキュリティリスクを緩和するのに十分ではありません。

4.6. 機能を削除する

機能の潜在的な負のセキュリティまたはプライバシー影響を 緩和する最も単純な方法は、 おそらくその機能を削除することです。 ただし、一部のセキュリティまたはプライバシーリスクは、 プラットフォームに機能を追加することで 取り除かれたり緩和されたりする可能性があることを 念頭に置くべきです。 仕様内のすべての機能は、 そうでないことが証明されるまで、 セキュリティおよび/またはプライバシーリスクを 追加する可能性があるものとして見なされるべきです。 セキュリティまたはプライバシー影響に対する緩和策として 機能を削除することを議論するのは、 有用な演習です。 それにより、 機能と、 それが必要最小限のデータを公開しているかどうか、 および他の可能な緩和策との間の トレードオフが明らかになるからです。

機能追加が、 ユーザーが抱く Webページを訪問することは安全である という全体的な印象に与える累積的な影響も検討してください。 ユーザーがWebサイトを訪問することは安全であると理解することを 複雑にする行為、 またはWebの安全性についてユーザーが理解する必要のあることを 複雑にする行為 (例: より安全でない機能を追加する)は、 その安全性の理解に基づいて行動するユーザーの能力、 または存在する安全性を正しく反映した方法で行動する能力を低下させます。

すべての仕様は、セキュリティ/プライバシー攻撃面を削減し最小化するという理由だけでも、 可能な限り小さくあることを目指すべきです。 そうすることで、特定の機能だけでなく、モジュール(関連する一連の 機能)、仕様、そしてWebプラットフォーム全体の セキュリティおよびプライバシー攻撃面を削減できます。

4.7. プライバシー影響評価を行う

一部の機能は機微データを供給する可能性があり、 エンド開発者、システム所有者、または管理者には、 これを認識し、自分たちのシステム設計において適切に行動する責任があります。 特に個人に関するデータが処理される可能性がある場合、 一部の使用はプライバシー影響評価の実施を正当化するかもしれません。

機微データを公開する機能を含む仕様は、 そのAPIを採用するWebサイトおよびアプリケーションが、 収集するデータについてプライバシー影響評価を実施することを推奨する内容を 含めるべきです。

これを行う機能の例は:

これらの影響を文書化することは組織にとって重要ですが、 この責任を組織に負わせることには限界がある点にも注意すべきです。 研究によれば、サイトは仕様内のセキュリティ/プライバシー 要件に従わないことがよくあります。たとえば、[DOTY-GEOLOCATION]では、 調査対象のWebサイトのどれも、サイトが位置情報を要求する前に ユーザーへプライバシー慣行を知らせていなかったことが 判明しました。

謝辞

Alice Boxhall、 Alex Russell、 Anne van Kesteren、 Chris Cunningham、 Coralie Mercier、 Corentin Wallez、 David Baron、 Domenic Denicola、 Dominic Battre、 Jeffrey Yasskin、 Jeremy Roman、 Jonathan Kingston、 Marcos Caceres、 Marijn Kruisselbrink、 Mark Nottingham、 Martin Thomson、 Michael(tm) Smith、 Mike Perry、 Nick Doty、 Robert Linder、 Piotr Bialecki、 Samuel Weiler、 Tantek Çelik、 Thomas Steiner、 Wendy Seltzer、 そして PING、プライバシーワーキンググループ、 セキュリティ関心グループ、およびTAGの多くの現および元参加者による この文書への貢献に深く感謝します。

特に、 仕様作成者がbfcacheを考慮に入れるのを助ける編集を行った Rakina Zata Amniに感謝します。

Mike Westは この文書の初期版を書き、 何年にもわたり編集しました。 Yan Zhuは Mikeから引き継ぎ、さらに Jason Novak および Lukasz Olejnikが 彼女から引き継ぎました。 現在の編集者たちは、彼ら全員の尽力に恩義を感じています。 私たちがそれを(あまり)悪くしていないことを願っています。

索引

この仕様で定義される用語

参照により定義される用語

参考文献

規範参考文献

[DESIGN-PRINCIPLES]
Martin Thomson; Jeffrey Yasskin. Webプラットフォーム 設計原則. 2025年3月25日. NOTE. URL: https://www.w3.org/TR/design-principles/
[HTML]
Anne van Kesteren; et al. HTML標準. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[IndexedDB-3]
Joshua Bell. Indexed Database API 3.0. 2025年3月26日. WD. URL: https://www.w3.org/TR/IndexedDB-3/
[STORAGE-ACCESS]
Storage Access API. 編集者草案. URL: https://privacycg.github.io/storage-access/

参考情報文献

[ADDING-PERMISSION]
Nick Doty. もう一つ権限を追加しますか? ガイド. URL: https://github.com/w3c/adding-permissions
[BATTERY-STATUS]
Anssi Kostiainen. Battery Status API. 2024年10月24日. WD. URL: https://www.w3.org/TR/battery-status/
[COMCAST]
David Kravets. Comcast Wi-FiがJavaScript注入によって自己宣伝広告を配信. URL: https://arstechnica.com/tech-policy/2014/09/why-comcasts-javascript-ad-injections-threaten-security-net-neutrality/
[CORS]
Anne van Kesteren. クロスオリジンリソース共有. 2020年6月2日. REC. URL: https://www.w3.org/TR/cors/
[CREDENTIAL-MANAGEMENT-1]
Nina Satragno; Marcos Caceres. Credential Management Level 1. 2024年8月13日. WD. URL: https://www.w3.org/TR/credential-management-1/
[CSP]
Mike West; Antonio Sartori. Content Security Policy Level 3. 2025年3月24日. WD. URL: https://www.w3.org/TR/CSP3/
[DAP-PRIVACY-REQS]
Alissa Cooper; Frederick Hirsch; John Morris. Device APIプライバシー要件. 2010年6月29日. NOTE. URL: https://www.w3.org/TR/dap-privacy-reqs/
[DISCOVERY-API]
Rich Tibbett. ネットワークサービス発見. 2017年1月12日. NOTE. URL: https://www.w3.org/TR/discovery-api/
[DOTY-GEOLOCATION]
Nick Doty, Deirdre K. Mulligan, Erik Wilde. W3C Geolocation APIのプライバシー問題. URL: https://escholarship.org/uc/item/0rp834wf
[ENCRYPTED-MEDIA]
Joey Parrish; Greg Freedman. Encrypted Media Extensions. 2025年3月26日. WD. URL: https://www.w3.org/TR/encrypted-media-2/
[FINGERPRINTING-GUIDANCE]
Nick Doty; Tom Ritter. Web仕様におけるブラウザー フィンガープリンティングの緩和. 2025年3月21日. NOTE. URL: https://www.w3.org/TR/fingerprinting-guidance/
[FULLSCREEN]
Philip Jägenstedt. Fullscreen API標準. Living Standard. URL: https://fullscreen.spec.whatwg.org/
[GAMEPAD]
Steve Agoston; Matthew Reynolds. Gamepad. 2025年2月14日. WD. URL: https://www.w3.org/TR/gamepad/
[GENERIC-SENSOR]
Rick Waldron. Generic Sensor API. 2024年2月22日. CRD. URL: https://www.w3.org/TR/generic-sensor/
[GEOLOCATION]
Marcos Caceres; Reilly Grant. Geolocation. 2024年9月16日. REC. URL: https://www.w3.org/TR/geolocation/
[GYROSPEECHRECOGNITION]
Yan Michalevsky; Dan Boneh; Gabi Nakibly. Gyrophone: ジャイロスコープ信号からの音声認識. URL: https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-michalevsky.pdf
[HOMAKOV]
Egor Homakov. 悪用のための Content-Security-Policyの使用. URL: http://homakov.blogspot.de/2014/01/using-content-security-policy-for-evil.html
[OLEJNIK-ALS]
Lukasz Olejnik. W3C Ambient Light Sensor APIによる 機微なブラウザーデータの窃取. URL: https://blog.lukaszolejnik.com/stealing-sensitive-browser-data-with-the-w3c-ambient-light-sensor-api/
[OLEJNIK-BATTERY]
Lukasz Olejnik; et al. 漏えいするバッテリー: HTML5 Battery Status APIの プライバシー分析. URL: https://eprint.iacr.org/2015/616
[OLEJNIK-PAYMENTS]
Lukasz Olejnik. Web Request APIのプライバシー. URL: https://blog.lukaszolejnik.com/privacy-of-web-request-api/
[PERMISSIONS]
Marcos Caceres; Mike Taylor. Permissions. 2024年12月20日. WD. URL: https://www.w3.org/TR/permissions/
[PERMISSIONS-POLICY]
Ian Clelland. Permissions Policy. 2025年2月10日. WD. URL: https://www.w3.org/TR/permissions-policy-1/
[RFC3552]
E. Rescorla; B. Korver. セキュリティ上の考慮事項に関するRFC テキストを書くためのガイドライン. 2003年7月. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc3552
[RFC6454]
A. Barth. Webオリジン概念. 2011年12月. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc6454
[RFC6973]
A. Cooper; et al. インターネット プロトコルのプライバシー上の考慮事項. 2013年7月. Informational. URL: https://www.rfc-editor.org/rfc/rfc6973
[RFC7258]
S. Farrell; H. Tschofenig. 広範な監視は 攻撃である. 2014年5月. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc7258
[RIVERA]
David Rivera. ブラウザーが プライベートブラウジングモードにあるかどうかを検出する. URL: https://gist.github.com/jherax/a81c8c132d09cc354a0e2cb911841ff1
[TIMING]
Paul Stone. HTML5によるピクセル パーフェクトタイミング攻撃. URL: https://media.blackhat.com/us-13/US-13-Stone-Pixel-Perfect-Timing-Attacks-with-HTML5-WP.pdf
[VERIZON]
Mark Bergen; Alex Kantrowitz. Verizonが モバイル加入者への広告ターゲティングを模索. URL: https://adage.com/article/digital/verizon-target-mobile-subscribers-ads/293356
[WAI-ARIA-1.3]
James Nurthen; Peter Krautzberger. Accessible Rich Internet Applications (WAI-ARIA) 1.3. 2024年1月23日. FPWD. URL: https://www.w3.org/TR/wai-aria-1.3/
[WEB-BLUETOOTH]
Jeffrey Yasskin. Web Bluetooth. Draft Community Group Report. URL: https://webbluetoothcg.github.io/web-bluetooth/
[WEBAUTHN]
Dirk Balfanz; et al. Web Authentication: 公開鍵資格情報 レベル1にアクセスするためのAPI. 2019年3月4日. REC. URL: https://www.w3.org/TR/webauthn-1/
[WEBUSB]
WebUSB API. Draft Community Group Report. URL: https://wicg.github.io/webusb/
[WU-PRIVATE-BROWSING]
Yuxi Wu; et al. あなたの秘密は安全です: ブラウザーの説明が プライベートブラウジングモードに関する誤解に与える影響. URL: https://dl.acm.org/citation.cfm?id=3186088
[XHR]
Anne van Kesteren. XMLHttpRequest標準. Living Standard. URL: https://xhr.spec.whatwg.org/
[YUBIKEY-ATTACK]
Andy Greenberg. Chromeによって ハッカーは「フィッシング不能」なYubiKeyユーザーさえフィッシングできる. URL: https://www.wired.com/story/chrome-yubikey-phishing-webusb/