Feature: Private State Token API Permissions Policy Default Allowlist Wildcard
Access to the Private State Token API is gated by Permissions Policy features. We proposed to update the default allowlist for both private-state-token-issuance and private-state-token-redemption features from self to * (wildcard).
Motivation
The Private State Tokens API has received recurring feedback from developers that the current requirement to have first-party sites opt-in to allow third-parties to invoke token issuance and redemption operations is not practical. This is especially true for use cases where embeds don’t have first-party script access to either execute the operations directly in first-party context, or to enable the permission policies on the relevant frames. Current default requires every site to update permission policy for iframes that embed invalid traffic (IVT) detection scripts.Since scale and coverage are of essence for IVT detection that rely on identifying outlier patterns; the need for coordination with first-parties places a high cost for successful adoption.
Specification
Spec status: Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form
ChatGPT:
ChatGPT
概要
Private State Token API Permissions Policy Default Allowlist Wildcardは、Chrome 132で導入予定の新しい機能で、Private State Token APIへのアクセス方法に関する変更を含んでいます。この機能では、private-state-token-issuance(トークン発行)およびprivate-state-token-redemption(トークン引き換え)機能に対するデフォルトの許可リスト(allowlist)が、現在の「self」から「*」に変更されます。
変更内容の詳細
現在、Private State Token APIにアクセスするためには、ウェブサイトが自分自身で、あるいはiframe内で外部からアクセスする場合に対しても、明示的に許可を設定する必要があります。具体的には、ファーストパーティ(例: メインのウェブサイト)が、外部のスクリプト(iframe内のスクリプト)に対してAPIの発行や引き換え操作を許可するために「Permission Policy」を設定しなければならないという制限があります。この設定は開発者にとって手間がかかり、特に無効なトラフィック(IVT)検出スクリプトの実行に関しては実用的ではないというフィードバックが多く寄せられていました。
そのため、この制限を緩和し、デフォルトで「*」というワイルドカードを使用することで、すべてのサイトに対して、特別な設定なしでトークンの発行や引き換え操作ができるようにするという変更が提案されました。
背景
特に、IVT(Invalid Traffic)検出などの大規模なデータ処理を行う場合、ファーストパーティ側との連携が高コストであるため、これを簡素化することが重要です。新しい設定では、ユーザーのプライバシーを損なうことなく、トークン発行や引き換えに関する操作をより広範囲で簡単に行えるようになります。
この機能がChrome 132で正式に導入されるか
この変更は、Chrome 132から正式に導入される予定です。以前のバージョンでの制限を緩和し、より多くのサイトで利用可能になることを目的としています。
既存機能への影響
この機能は新規導入ではなく、以前の設定の緩和に関する変更です。すでにPrivate State Token APIが利用されている場合、Chrome 132からの変更が影響を与える可能性がありますが、基本的にはGrepでAPIに関連するコードを確認することが有効です。これによって、関連する設定やAPIがどのように使用されているかを特定できます。
Grepで調べるべき文言
以下のような文言をコード内で検索することを推奨します。
private-state-token-issuance
private-state-token-redemption
Permissions-Policy
*(ワイルドカードとして設定された新しいデフォルト)
これらの文言を検索することで、設定や利用されているAPIが変更される箇所を把握できるため、コードや設定ファイルに関する影響を評価することができます。
理由:
これらの検索語句は、対象となるAPIのアクセス制御に関連する部分を特定するために重要です。新しい「*」のワイルドカード設定が反映されることで、既存のアクセス許可設定に影響を与える場合があるため、それを検出することが重要です。
代替案
もしGrepで十分な検出ができない場合や、より複雑なケースがある場合には、次の代替案を考慮することができます。
Chrome DevToolsを使用して、ネットワークタブやコンソールログを確認し、APIの発行や引き換え操作がどのように行われているかを直接監視する。
テスト環境で、新しいChromeバージョンで動作を確認し、動作に問題がないかをチェックする。
これにより、Grepでは見落としがちな部分を手動で確認することができます。
あなた:
*(ワイルドカードとして設定された新しいデフォルト) これはgrepいる?
ChatGPT:
ChatGPT
「*(ワイルドカードとして設定された新しいデフォルト)」については、Grep検索には含めなくても問題ないです。
理由は以下の通りです:
この変更は、デフォルトの設定値が「self」から「*」に変更されたことに関するもので、コードに直接記述されることは少ないです。通常、実際のコードではこの設定を明示的に記述することはなく、ブラウザやAPIの動作に依存する部分です。
Grepで探すべきは、APIに関連する設定や使用箇所(例えばprivate-state-token-issuanceやprivate-state-token-redemption)であり、「*」の設定が自動的に反映されるため、特別に検索する必要はありません。
そのため、Grepで探すべき文言は以下の通りです:
private-state-token-issuance
private-state-token-redemption
Permissions-Policy
これらのキーワードで、関連する設定やAPIの使用箇所を確認することが最も効果的です。