ウェブユーザーエージェント

W3Cグループノート草案,

このドキュメントの詳細
このバージョン:
https://www.w3.org/TR/2026/DNOTE-web-user-agents-20260319/
最新版公開バージョン:
https://www.w3.org/TR/web-user-agents/
編集者草案:
https://w3ctag.github.io/user-agents
以前のバージョン:
履歴:
https://www.w3.org/standards/history/web-user-agents/
フィードバック:
GitHub
編集者:
(Google)
Sarven Capadisli (招待専門家)

概要

ウェブユーザーエージェントには、ウェブブラウザおよびエンドユーザーとウェブの間のその他の仲介者が含まれます。 各ユーザーエージェントは自分のユーザーに仕え、 他のいかなる関係者にも仕えません。 ユーザーエージェントはユーザーに対して様々な義務を負っていますが、 これらは集団的な議論を通じて確立され、 ユーザーエージェントが実装する各種標準に具体化されるべきものです。

この文書の位置づけ

このセクションでは、発行時点の本ドキュメントの位置づけについて説明します。現在の W3Cの出版物一覧や、本技術報告書の最新版はW3C 標準およびドラフト一覧で確認できます。

本ドキュメントは、 Technical Architecture Groupによって ノートトラックを利用してグループノート草稿として公開されました。 これはドラフト文書であり、 いつでも他の文書によって更新、差し替え、または廃止される可能性があります。 この文書を進行中の作業以外のものとして引用するのは不適切です。 グループノート草稿はW3Cやその会員による承認を受けていません。

本ドキュメントへのフィードバックやコメントは歓迎します。どうぞ Issueを登録 してください。このドキュメントの GitHubリポジトリです。

W3C特許ポリシーは、本ドキュメントに対し ライセンス要件や義務を課しません。

本ドキュメントは 2025年8月18日付 W3C プロセス文書に基づき管理されています。

1. 対象読者

この文書は以下の人々を対象としています:

2. ウェブユーザーエージェントとは

ユーザーエージェントは、一般的に、ユーザーのために他のエンティティとやり取りするソフトウェアです。 ユーザーエージェントには、多くのオペレーティングシステム、電子メールクライアント、PDF・電子書籍・画像ビューア、 認証情報マネージャー(デジタルウォレットを含む)、その他多くの種類のソフトウェアが含まれます。

ウェブユーザーエージェントとは、 自身以外のウェブサイトとユーザーの代わりにやり取りを行う すべてのソフトウェア実体を指します。 これには、ウェブサイトの内容の単純なレンダリングや、 ユーザーによって要求または許可された操作の実行も含まれます。 ウェブ仕様やこの文書内では、 ウェブユーザーエージェントは通常「ユーザーエージェント」とだけ呼ばれます。 混乱の恐れがある場合は、どちらの完全な用語も使用できます。 一人の人が日常生活で複数のユーザーエージェントを使うこともあります。

最も一般的なウェブユーザーエージェントの種類はウェブブラウザです。 これにはクロスサイトリンクをたどることができるアプリ内ブラウザも含まれます。 しかし、ユーザーエージェントには 検索エンジンや音声アシスタント、生成AIシステムなど他のツールも含まれます。 それらはウェブサイトの内容のスニペットや要約を提示したり、 人々がウェブサイトを操作・閲覧できるよう支援したり、 ユーザーの代理で自動的な作業を行ったりします。

ユーザーエージェントの動作は、ウェブ標準や一般的な技術仕様によって完全には定義されていません。 特に、 ユーザーエージェントはユーザーのためにどの仕様を実装するか選択し、 また、実装した仕様のまわりに、独自のユーザーインターフェースやその他の動作を加えます。

2.1. ソフトウェア要素としてのユーザーエージェント

ソフトウェア要素として、ユーザーエージェントはより大きなアプリケーションの一部として機能したり、 ウェブプラットフォーム(またはその一部)を実装したライブラリを呼び出すこともあります。

アプリケーションが ユーザーエージェントである部分とそれ以外の部分を明確に区別する場合は、 ユーザーエージェント部分のみが 自身以外からのコンテンツを閲覧でき、ユーザーエージェントの義務に従う必要があります。 明らかにアプリ自身のコンテンツだけを表示する部分は独自の振る舞いができますが、 アプリ全体を通して各部分の動作についてユーザーに明確な説明をするべきです。 内部と外部のコンテンツの違いが曖昧な場合——例えばアドレスバーや起源インジケーターを表示しないなど——には アプリ自身のコンテンツを表示する場合でもユーザーエージェントの義務に従うべきです。

同様に、ウェブプラットフォームを実装するライブラリが 完全なユーザーエージェントになることもあれば、ならないこともあります。 例えば SFSafariViewControllerAndroid Custom Tabsユーザーエージェントの義務を担い、 閲覧する外部コンテンツと埋め込みアプリのコンテンツの違いを明確に区別します。 これらのライブラリはユーザーエージェントです。

一方、 AndroidiOSWindows WebViewライブラリなどは様々なタイプのアプリケーションを想定して設計されています。 これらのアプリが自身のコンテンツだけを取り扱う場合もあるため、 WebViewライブラリは単体ではユーザーエージェントではなく、 ユーザーエージェントの義務も実装していません。

最終的には、組み込みアプリケーションが その一部でもユーザーエージェントとして動作する場合、 ユーザーエージェントの義務に従う責任があります。 アプリが外部コンテンツをユーザーエージェントライブラリでのみ閲覧する場合は分かりやすいですが、 非ユーザーエージェントWebViewでインアプリブラウザーを実装する際は、 ユーザーエージェントの義務への配慮が特に求められます。

3. ユーザーエージェントの義務

各ユーザーエージェントはユーザー (The Internet is for End Users) のみのために機能し、その他の関係者のために機能しません。 ユーザーエージェントはユーザーに対して 様々な義務を負います。 これらは集団的な議論を通じて確立され、 ユーザーエージェントが実装する各種標準に具体化されるべきです。

3.1. 保護

ウェブページの閲覧は安全であるべきです。 ページを閲覧するだけで ソフトウェアのインストールやハードウェアへのアクセスなど、 ユーザーのコンピュータや環境をページが変更できてはなりません。

サイトや他の観察者に開示されるデータは ユーザーの好みに即しているべきであり、 データ最小化の原則が守られるべきです。 特にユーザーエージェントは サイトによるユーザーアクティビティの追跡可能性を制限するよう対応しなければなりません [unsanctioned-tracking]

ユーザーは情報をさらに共有することを自ら選ぶ 場合もあります(例:フォームの入力や権限の許諾など)。 それでもユーザーエージェントは ユーザーが騙されないよう配慮し、 ページが特権的なアクセスを試みている場合には明確なサインで通知する必要があります。

ローカルファイルや他の機密リソースへのアクセスは 明確で意図的なユーザーの操作と適切な警告によってのみ可能であるべきです。

例:攻撃

ユーザーエージェントは、サイト上の悪意あるコードが ユーザーエージェントを抜けてユーザーのコンピュータや他の オリジン にアクセスしたり変更したりするのを防ぐ必要があります。 コンポーネントのサンドボックス化や メモリ安全な言語の採用、 脆弱性調査・対応チームの設置などによって ユーザーエージェントは保護義務を果たします。 こうした防御策は新たな脅威に合わせて絶えず進化させる必要があります。

例:トラッキング

ユーザーが無関係な複数のウェブサイトにアクセスする場合、 埋め込みiframeに共有識別クッキーを送信しない選択は十分に可能です。 そうしたクッキーを送信するブラウザーは保護義務を果たしていません。 一方、安定したIPアドレスを開示することは現時点では避けられないため、 それは違反ではありません。

例:ローカルファイル

ユーザーエージェントは、ユーザーが明示的に選択または開いた場合を除き ページによるローカルファイルへのアクセスを防ぐことが求められます。 これが次のような挙動の動機となります:

ただし、ユーザーはファイルのアップロードやダウンロード等で ファイルを共有することが可能です。 File System Access などのAPIも、ユーザーが適切な判断ができる限り この義務に違反しません。

3.2. 誠実性

ユーザーエージェントはWebとユーザーの間を仲介し、 何が起きているかをユーザーが理解できる形で説明しなければなりません。 ユーザーエージェントが自動的に、またはユーザーの代理で何らかの行動を行う場合は、 その行動やその結果を明確に伝える必要があります。

ユーザーエージェントは、説明のために テキスト・許可プロンプト・インジケーター・プレビュー・その他のインターフェース要素など 複数の手法を使ってもかまいません。 これらの要素の配置や、何か強調が必要かどうかも検討してください。

典型的な例として、ユーザーエージェントがWebサイトが暗号化接続で提供されているかどうかを示すことが挙げられます。 これは時と共に発展してきており、安全でないサイトには壊れた錠前アイコンを表示したものから、 一部のユーザーエージェントではURLバーに「安全でない」と明示するものまであります。

Media Capture and Streamsのような仕様では、 プライバシーインジケーター要件 などにより、ユーザーエージェントが特定の種類のWebサイトの挙動を説明することが求められていますが、 ユーザーが他の挙動について知る必要がある場合も、仕様が特にその挙動に言及していなくても 同じ技術を使うべきです。

誠実なユーザーエージェントは、ユーザーに事実を伝えるために積極的に働きます。 単に嘘を避けるだけではありません。 その説明は、 現在の状態や予想される結果を明確に伝え、 婉曲的または曖昧な表現を避け、 機微な操作が行われている際にはそれが明らかになるようにすべきです。

ユーザーエージェントは、これらの説明をいつ、どのくらいの頻度で表示するかを選択し、 説明が役立つタイミングで届き注意をそらさないようにしなければなりません。 またユーザーが、判断を下すかどうか、いつ下すかを制御できることも保証してください。

たとえばWebサイトが位置情報や音声録音のような長期間有効な権限を使っている場合、 ユーザーエージェントはURLバーにインジケーターアイコンを表示することで 何が起こっているかを説明できます。

3.3. 忠誠

ユーザーエージェントはユーザーの利益を 実装者や他の第三者の利益よりも優先しなければなりません。

公平で事前に合意された支払いである限り、 ユーザーエージェントがそのサービスの対価を徴収しても 忠誠心とは両立します。

またユーザーエージェントは 特定のページのサービスを受けるために信頼できるコミットメントをページに伝える役割を果たせます。 サービス獲得後もそのコミットメントを維持しても不忠実とはなりません。

ユーザーエージェントは、ユーザーが他のユーザーエージェントへ切り替えることを妨げてはなりません。 例えば、ユーザーデータへのアクセスをブロックしたり、エクスポートや保存の際に ポータビリティを妨げるような方法を取ってはいけません。 これはID情報、ブックマーク、履歴、パスワード、パスキー等の資格情報も含みます。 ユーザーエージェントが基盤のOSに 資格情報を保存している場合は、他のユーザーエージェントからのアクセスを ユーザーが許可できる方法が必要です。

4. 謝辞

Infra Standard には ユーザーエージェントの初期定義で、 Privacy Principlesには これらの義務の初期バージョンで感謝します。

索引

本仕様で定義される用語

参照で定義される用語

参考文献

規範的参照文献

[CREDENTIAL-MANAGEMENT-1]
Nina Satragno; Marcos Caceres. クレデンシャル管理レベル1.2026年2月13日.WD.URL: https://www.w3.org/TR/credential-management-1/
[DESIGN-PRINCIPLES]
Martin Thomson; Jeffrey Yasskin. ウェブプラットフォーム設計原則.2026年2月24日.NOTE.URL: https://www.w3.org/TR/design-principles/
[MEDIACAPTURE-STREAMS]
Cullen Jennings; ほか.メディアキャプチャとストリーム.2025年10月9日.CRD.URL: https://www.w3.org/TR/mediacapture-streams/
[RFC8890]
M. Nottingham. インターネットはエンドユーザーのためにある.2020年8月.Informational.URL: https://www.rfc-editor.org/rfc/rfc8890

参考情報文献

[CSS-FONTS-5]
Chris Lilley. CSS Fontsモジュール レベル5.2026年3月3日.WD.URL: https://www.w3.org/TR/css-fonts-5/
[FILE-SYSTEM-ACCESS]
ファイルシステムアクセス.ドラフト コミュニティ グループレポート.URL: https://wicg.github.io/file-system-access/
[HTML]
Anne van Kesteren; ほか.HTML標準.リビングスタンダード.URL: https://html.spec.whatwg.org/multipage/
[Infra]
Anne van Kesteren; Domenic Denicola. Infra標準.リビングスタンダード.URL: https://infra.spec.whatwg.org/
[PRIVACY-PRINCIPLES]
Robin Berjon; Jeffrey Yasskin. プライバシー原則.2025年5月15日.STMT.URL: https://www.w3.org/TR/privacy-principles/
[UNSANCTIONED-TRACKING]
Mark Nottingham. 非認可ウェブトラッキング.2015年7月17日.TAGファインディング.URL: https://www.w3.org/2001/tag/doc/unsanctioned-tracking/
[URL]
Anne van Kesteren. URL標準.リビングスタンダード.URL: https://url.spec.whatwg.org/