プライバシーアップデート

サードパーティ用のコスメティックフィルタ

Braveプライバシーチーム寄稿

概要

Braveは、プライバシーを侵害する不要なページ要素を非表示にするための新しいシステムを公開します。不要なページ要素には、トラッカーをブロックすることで生じる空のページスペースや、ネットワークレイヤーではブロック不可能なサードパーティの広告などがあります。Braveのシステムでは、トラッキングを行うサードパーティの広告を非表示にする一方で、プライバシーを侵害しないファーストパーティの広告を配信するサイトを支援するという独自の方法を適用しようとしています。Brave Nightlyをダウンロードして使用することで、システムテストにご協力いただけます。テストの結果システムに問題がないようなら、近い将来、サードパーティ用のコスメティックフィルタがBraveの安定版に組み込まれます。

課題:ネットワーク層でのブロッキングに不備あり

前回のブログ記事で紹介したように、Braveではウェブ上でプライバシーを保護するための一方法として、プライバシーを侵害するウェブ広告に関連したネットワークリクエストをブロックしたり置き換えたりします。これにより、ウェブ上で広告主とデータブローカーにトラッキングされないだけでなく、パフォーマンスが向上し、ウェブ環境が目に見えて快適になります。

ただ、既存のトラッカーへのネットワークリクエストをブロックするだけでは不十分な場合があります。プライバシーを侵害する広告をブロックすることで、ウェブサイト上の広告の表示箇所が白抜きになるなど、大きな空白部分が残る場合があるからです。また、想定外のURLから配信される広告や、ユーザに配信されるコンテンツに組み込まれた広告など、非表示にしたいけれどネットワーク層でブロックするのが難しい広告もあります。

本ブログ記事では、サードパーティのトラッキングやサードパーティの広告に関連するページ要素を非表示にする一方で、プライバシーに配慮したファーストパーティの広告には影響を与えないというBraveの画期的な取り組みについて詳しく説明します。Braveのこの独自の取り組みは、ユーザのプライバシーに配慮したサイトに影響を与えることなく、より快適なウェブ閲覧環境を実現するためのものです。Braveの独自の取り組みについて紹介する前に、まずはウェブ上で大部分の広告やトラッカーをブロックする方法について、背景となる事柄を説明します。

背景:フィルタリストの仕組み

Braveでは、AdBlock PlusやuBlock Originといった多くの一般的なウェブツールと同様、フィルタリストを使ってウェブリソースを受け入れるかブロックするかを決定します。EasyListとEasyPrivacyは共にごく一般的に使用されるリストですが、この2つ以外にもターゲット言語に関するものやウェブの特定の部分に注目するものなど様々なリストがあります。

大まかに言えば、フィルタリストは、ブロックすべきURLを説明するネットワークルールと、非表示にすべきページ要素を説明するコスメティックルールという2種類のルールで構成されています。これら2つのルールは別個のものですが、連係することが多々あります。例えば、ネットワークルールによりプライバシーを侵害するサードパーティのiframeへのリクエストがブロックされる場合、関連するコスメティックルールが適用されてiframe挿入箇所のページ要素を非表示にすることで、不適切な空白部分がページ上に現れないようにします。

フィルタリストの作成者は、コスメティックルールのターゲット対象がファーストパーティの広告か、サードパーティの広告か、あるいはこれら両方かを区別して考えません。というのも、一般にこういった区別は、フィルタリストを適用するツールでは特に重要視されていないからです。しかしBraveは違います。Braveでは、プライバシーを侵害するサードパーティの広告は非表示にし、プライバシーに配慮したファーストパーティの広告は表示させたいと考えています。

プライバシーを侵害する広告は非表示に、プライバシーに配慮した広告はそのままに

Braveでは、トラッキングやブロッキングを行うために他のツールで使われているフィルタリストの大部分を採用していますが、Braveが目指すものはこれらフィルタリストを使った既存のツールとは異なります。Braveが実現したいのは、プライバシーに配慮したサイトには影響を与えず、プライバシーを保護し、閲覧画面を美しく保つことです。言い換えれば、Braveでは、実際は識別不可能なことが多いサードパーティのトラッカーや広告をブロックする一方で、ファーストパーティの広告だけはブロックせずそのまま残す、ということです。

説明 例としてプライバシーに配慮したファーストパーティの広告(左、duckduckgo.comより)とプライバシーを侵害するサードパーティの広告(右、tmz.comより)を示しています。DuckDuckGoの例ではAmazonからのイメージ写真が表示されていますが、イメージ写真はduckduckgo.comのサーバから配信されたものであり、Amazonはユーザを追跡できません。一方、右の洋服に関する広告はGoogleのサーバから配信されたもので、Googleがユーザの閲覧行動を追跡できるようになっています。

これまでBraveが要素を非表示にするコスメティックルールを適用してこなかったのには、(i)ネットワークをブロックすることでプライバシーを侵害するものを大方防げると考えていたこと、そして(ii)表示したいはずのファーストパーティの広告を非表示にしてしまうコスメティックルールと、大抵の場合プライバシーを侵害するため非表示にしたいサードパーティの広告を非表示にするコスメティックルールとを区別するための良い方法が分からなかったこと、という2つの理由があります。結果として、フィルタリストのネットワークルールのみを適用し、便利だけれど満足いく妥協点を見出せないコスメティックルールは一切適用してきませんでした。

解決策:サードバーティの広告を非表示にし、ファーストパーティの広告を表示する

ですが、Braveのウェブ閲覧環境をさらに改善するために、本日からNightlyリリースチャンネルでコスメティックフィルタルールの適用を開始します。コスメティックフィルタリストのルールでサードパーティの広告コンテンツのみを非表示にできるかどうか、ベストエフォート型のランタイム版で確認することが目的です。ネットワーク層でサードパーティの広告をブロックすることで生じるページの空白スペースも、非表示にする対象となります。あるコスメティックルールでファーストパーティの広告が非表示になる場合には、該当するコスメティックフィルタリストのルールを適用しません。

Braveでは、パフォーマンスと精度のバランスを保てるようにアプローチを行っています。あるコスメティックルールがファーストパーティの広告をブロックするか否かを決定するのに時間がかかりすぎれば、閲覧時のパフォーマンスが許容できないほど損なわれてしまいます。一方で、ファーストパーティの広告が非表示になることが多ければ、Braveが目指すところとかけ離れてしまいます。

Braveの取り組みはオープンソースになっており、具体的なアプローチ方法に興味がある人は誰でも監査可能ですが、大まかには次のように動きます。

  1. あるページに適用するコスメティックルールひとつひとつを周期的にチェックし、ルールがページ上の何らかの要素にマッチするかどうかを確認する。マッチする要素が何もない場合は、時間を置いて再度チェックする。
  2. 特定のコスメティックルールによりファーストパーティのイメージやリソースが非表示になる場合、このルールを適用しない
  3. 特定のコスメティックルールによりテキストのみで構成される広告などイメージやリソースを含まない要素が少しでも非表示になる場合、このルールを適用しない
  4. 上記以外の場合はコスメティックルールを適用して、サードパーティの広告をブロックする。

Braveのコスメティックフィルタと継続的な改善

サードパーティ用のコスメティックフィルタをBraveのシステムで試すには、NightlyリリースチャンネルでBraveをダウンロードしてご使用ください。リリースチャンネルで公開中のBraveのバージョンには、まだテスト段階にある新機能が含まれます。サードパーティの広告を非表示にする一方でプライバシーに配慮したサイトは保持するというBrave独自の新しいシステムについて、皆さんからのフィードバックやご意見をお待ちしています。

サードパーティ用のコスメティックフィルタは、プライバシーを守り、ウェブを改善するためにBraveがリリースする数ある機能のうちのひとつに過ぎません。ユーザのために開発されたBrave独自の新しい機能を次々と紹介するこのブログ記事シリーズ、次回をどうぞお楽しみに!

Related articles

Braveで新しいWebを体験する準備はできましたか?

Braveはプライバシーとパフォーマンスを重視するWebのパイオニアからなるチームによって開発されています。Braveを利用しWebの再構築に協力していただけませんか?