Contact emails Brianna Goldstein <[email protected]>, James Bradley <[email protected]>, David Schinazi <[email protected]>
Explainer IP Protection formerly known as Gnatcatcher <https://github.com/GoogleChrome/ip-protection> Specification None Summary IP Protection <https://github.com/GoogleChrome/ip-protection> is a feature that sends third-party traffic for a set of domains through proxies for the purpose of protecting the user by masking their IP address from those domains. After receiving much feedback from the ecosystem, the design of the broader proposal is as follows: - IP Protection will be opt-in initially. This will help ensure that there is user control over privacy decisions and that Google can monitor behaviors at lower volumes. - It will roll out in a phased manner. Like all of our privacy proposals, we want to ensure that we learn as we go and we recognize that there may also be regional considerations to evaluate. - We are using a list based approach and only domains on the list in a third-party context will be impacted. We are conscious that these proposals may cause undesired disruptions for legitimate use cases and so we are just focused on the scripts and domains that are considered to be tracking users. We plan to test and roll out the feature in multiple phases. To start, Phase 0 will use a single Google-owned proxy and will only proxy requests to domains owned by Google. This first phase will allow us to test our infrastructure while preventing impact to other companies and gives us more time to refine the list of domains that will be proxied. For simplicity, only clients with US-based IP addresses will be granted access to the proxies for phase 0. A small percentage of clients will be automatically enrolled in this initial test, though the architecture and design will evolve between this test and future launches. To access the proxy, a user must be logged in to Chrome. To prevent abuse, a Google-run authentication server will grant access tokens to the Google run proxy based on a per-user quota. In future phases we plan to use a 2-hop proxy, as had previously been indicated in the IP Protection explainer. Blink component Privacy>Fingerprinting>IPProtection <https://bugs.chromium.org/p/chromium/issues/list?q=component:Privacy%3EFingerprinting%3EIPProtection> TAG review None TAG review status N/A RisksInteroperability and Compatibility IP Protection changes how stable a client's IP address is but does not otherwise cause a breaking change for existing sites. In this experiment the only sites impacted are Google owned domains which include the some domains <https://docs.google.com/document/d/1iCM3BxJ5cBVwepIL3L-ux-2eS-R0SgaCZEM_ja0ary4/edit?usp=sharing> when they are loaded in a third party context. For those requests, a stable IP address for a client can no longer be expected. There is no impact to other domains at this time. Gecko: No signal WebKit: Shipped a similar feature in Intelligent Tracking Protection. This experiment is only a single proxy, however we plan in a later phase to move to the double hop proxy model that Safari has also shipped. Web developers: No signals Other signals: 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? This experiment does not include Webview. Goals for experimentation We will enable this experiment in the pre-stable Chrome channels at most to 33% of clients. For this initial experiment we want to test our infrastructure and the integrations between various components for bugs, stability and reliability. We want to measure the latency of requests using the full flow to get an early picture of where we can improve performance as we ramp up traffic. Ongoing technical constraints None Debuggability How to test IP Protection if the feature is enabled on your client 1. Navigate your configured browser to chrome://net-export. 2. Click “Start Logging To Disk” and save the log as something you can remember 3. Open another tab and navigate to a sites that loads 3p Google ads 4. Go back to your net-export tab and click “Stop Logging”. This will download a JSON log file. 5. Navigate to https://netlog-viewer.appspot.com/#import and import your file 6. Using the left navigation bar, navigate to the Sockets tab, if IP Protection is enabled for you will see a socket corresponding to the IP Protection Proxy that handles traffic to some Google owned domains. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? No, not WebView. Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> ? No Flag name kEnableIpProtectionProxy Requires code in //chrome? chrome/browser/ip_protection/ handles authenticated requests to the token signing server. Estimated milestones M119 - M125 Link to entry on the Chrome Platform Status https://chromestatus.com/feature/6574194264899584 -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALO2AEfjo4UU0j%2BxK-PCfgoXCs2Nw2zVuNtfAoi2OpJ8M5M28A%40mail.gmail.com.
