Contact emails

riz...@google.com, mk...@chromium.org

Explainer

https://github.com/explainers-by-googlers/script-blocking

Specification

https://github.com/whatwg/fetch/pull/1840

Summary

Mitigating API Misuse for Browser Re-Identification, otherwise known as
Script Blocking, is a feature that will block scripts engaging in known,
prevalent techniques for browser re-identification in third-party contexts.
These techniques typically involve the misuse of existing browser APIs to
extract additional information about the user's browser or device
characteristics.

To strike this balance between protection and usability, this proposal
focuses on blocking scripts in a third-party context in Incognito mode,
enhancing Incognito's protections against cross-site tracking when users
choose to browse in this mode.

This proposal uses a list-based approach, where only domains marked as
“Impacted by Script Blocking” on the Masked Domain List
<https://github.com/GoogleChrome/ip-protection/blob/main/Masked-Domain-List.md>
(MDL) in a third-party context will be impacted.

When the feature is enabled, Chrome will check network requests against the
blocklist.  This feature will reuse Chromium's subresource_filter
component, which is responsible for tagging and filtering subresource
requests based on page-level activation signals and a ruleset used to match
URLs for filtering.

1% Experiment Summary

Our 1% stable Incognito experiment did not show any statistically
significant movement for Incognito-specific Core Web Vitals. Furthermore,
we did not receive any breakage reports pertaining to this experiment.

As the feature is only enabled for third party resources in Incognito
sessions, the sample size is smaller than we typically observe in a 1%
experiment. We plan to carefully ramp the experiment to evaluate
performance and stability impact before launching to Incognito 100%.

Blink component

Blink>Network>FetchAPI

TAG review

https://github.com/w3ctag/design-reviews/issues/1114

TAG review status

Closed (resolution: decline)


Risks

Interoperability and Compatibility

There shouldn’t be any interop concerns.

In terms of compatibility, this feature is anticipated to have an impact on
websites that rely on scripts from domains identified as serving
fingerprinting techniques. Sites that integrate third-party scripts from
identified domains may experience functional breakage or render incorrectly
when accessed in Incognito mode. We are attempting to mitigate this risk by
applying temporary exceptions if we determine that the intervention on a
particular domain may cause significant user experience impact.

Gecko: No signal

WebKit: Shipped/Shipping Safari has a similar feature as part of
"Intelligent Tracking Prevention" (ITP)

Firefox: Shipped/Shipping Firefox has a similar feature as part of
"Enhanced Tracking Protection"

Web developers: <will fill out after explainer publication>

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that
it has potentially high risk for Android WebView-based applications?

No, we are not proposing to ship this on WebView.

Debuggability

We have added support in DevTools Issues to indicate which requests are
being blocked by this feature.

We also have
chrome://flags/#enable-fingerprinting-protection-blocklist-incognito which
developers and users can use for testing suspected breakage even before we
ship.

Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, ChromeOS, Android, and Android WebView)?

No. We plan to launch this on all Blink platforms except WebView.

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?

We are exploring ways to test this feature via WPT. This isn’t possible
today given the implementation-defined nature of blocked resources. Some
explorations are discussed here
<https://explainers-by-googlers.github.io/script-blocking/#testing>.

Flag name on about://flags

chrome://flags/#enable-fingerprinting-protection-blocklist-incognito

Finch feature name

EnableFingerprintingProtectionInIncognito

Rollout plan

(RARE) Experiment users ramp up over time

Requires code in //chrome?

False

Tracking bug

https://issues.chromium.org/issues/431761692
<https://issues.chromium.org/issues/370696608>


Launch bug

https://launch.corp.google.com/launch/4367306

Estimated milestones

Shipping on Desktop

140

Shipping on Android

140

Anticipated spec changes

Open questions about a feature may be a source of future web compat or
interop issues. Please list open issues (e.g. links to known github issues
in the project for the feature specification) whose resolution may
introduce web compat/interop risk (e.g., changing to naming or structure of
the API in a non-backward-compatible way).

None

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5188989497376768

Links to previous Intent discussions

Intent to Experiment:
https://groups.google.com/a/chromium.org/g/blink-dev/c/NJvGkSvLk8I?e=48417069

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFhOYsg6hE9bT1G475xZdTscHnFuFqvF3Eobz0q7QJHF7hGf9A%40mail.gmail.com.

Reply via email to