Thanks! I was mixing up the grace period and the deprecation trial.

For the second part -- thanks for the context -- could you add some of that
context to the explainer?

Thanks,
-Caleb

On Tue, Jun 4, 2024 at 4:52 PM Anton Maliev <amal...@chromium.org> wrote:

> Hi Caleb,
>
> The 3PCD grace period overrides any origin/deprecation trial tokens. This
> is so it can act as an immediate mitigation between when a site notices a
> breakage and applies for the trial, and when it is able to deploy the
> tokens. So a site may choose to serve tokens for some percentage of
> requests, but while the grace period is active this will have no effect -
> all of the affected cookies will be allowed regardless. The well-known file
> gives the site control over how the grace period is applied, and when it
> opts out, the clients fall back to the deprecation trial tokens or other
> 3PCD alternatives.
>
> Having each client fetch the well-known file adds the following
> privacy/security risks. (These are distinct from the risks mentioned in the
> Privacy/Security section, sorry for the confusion there.)
> - It would expose client browsing history via its network requests to
> specific .well-known resources.
> - It would require requests to the domain of embedded sites (if there is a
> third-party grace period active) which adds new cross-site information
> leakage through timing attacks, etc.
> - It would greatly increase the traffic load to the .well-known resource
> and could overload its server.
> - Not a privacy/security risk, but there would be a performance cost to an
> additional request for each client navigation that could slow down the
> browser.
>
> On Tue, Jun 4, 2024 at 3:09 PM Caleb Raitto <carai...@chromium.org> wrote:
>
>> Hi -- just had some questions about this (I'm the Potassium open web
>> platform security / privacy reviewer this week), as I was a bit confused...
>>
>> I'm trying to understand how the tokens work for origin trials. IIUC, the
>> origin trial "enabled" behavior only happens if you serve the deprecation
>> trial token on pages you want to be opted into the deprecation trial [0].
>>
>> But, (perhaps this is a naive question) doesn't that mean that a server
>> could just only serve those tokens for some percentage of requests, thereby
>> achieving a "self-service system that gives sites the ability to opt-out of
>> the grace period for a certain percentage of clients."?
>>
>> My other question is around considered alternative
>> <https://github.com/explainers-by-googlers/3pcd-grace-period-opt-out?tab=readme-ov-file#considered-alternatives>
>>  #3,
>> where the client fetches the .well-known file. That section says that one
>> issue with this approach is that it "[...] accentuates the privacy/security
>> risks of the network fetches." What is the exact nature of these
>> privacy/security risks? I didn't see these privacy explained anywhere? The
>> privacy issues in the security / privacy section don't seem relevant to the
>> way the .well-known data is fetched, AFAICT.
>>
>> Thanks,
>> -Caleb
>>
>> [0]
>>
>> https://developer.chrome.com/docs/web-platform/origin-trials/#take_part_in_an_origin_trial
>>
>> On Tuesday, May 28, 2024 at 2:42:26 PM UTC-4 Vladimir Levin wrote:
>>
>>> LGTM3
>>>
>>> On Tue, May 28, 2024 at 12:55 PM Ben Kelly <wanderv...@chromium.org>
>>> wrote:
>>>
>>>>
>>>> On Tue, May 28, 2024 at 10:59 AM Vladimir Levin <vmp...@chromium.org>
>>>> wrote:
>>>>
>>>>> Hey Anton,
>>>>>
>>>>> Can you please request reviews for the various chips
>>>>> [image: chips.png]
>>>>>
>>>>
>>>> Done. Thanks.
>>>>
>>>>
>>>>
>>>>>
>>>>> Thanks!
>>>>> Vlad
>>>>>
>>>>> On Mon, May 27, 2024 at 3:09 AM Yoav Weiss (@Shopify) <
>>>>> yoavwe...@chromium.org> wrote:
>>>>>
>>>>>> LGTM2
>>>>>>
>>>>>> On Fri, May 24, 2024 at 5:53 PM Anton Maliev <amal...@chromium.org>
>>>>>> wrote:
>>>>>>
>>>>>>> I see the concern. The 3P can use document.hasStorageAccess()
>>>>>>> <https://developer.mozilla.org/en-US/docs/Web/API/Document/hasStorageAccess>
>>>>>>>  to
>>>>>>> check for cookie support, which accounts for the grace period and 
>>>>>>> opt-out.
>>>>>>> (It would return true if there is an active grace period on the 1P or 3P
>>>>>>> that affects the current frame, or false if the current client is opted
>>>>>>> out.) Per the linked I2S, we recommend document.hasStorageAccess() 
>>>>>>> instead
>>>>>>> of navigator.cookieEnabled moving forward for validation relating to
>>>>>>> Chrome's 3PCD rollout - the latter doesn't return the correct value for
>>>>>>> this case.
>>>>>>
>>>>>>
>>>>>> Thanks! That makes sense.
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> This also depends if the 3P in question is also on the grace period.
>>>>>>> If it is not, we would expect them to notice any breakage on other 1Ps 
>>>>>>> as
>>>>>>> well.
>>>>>>>
>>>>>>> On Thursday, May 23, 2024 at 4:17:14 PM UTC-4 Yoav Weiss wrote:
>>>>>>>
>>>>>>>> On Thu, May 16, 2024 at 4:15 PM Anton Maliev <amal...@chromium.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> > Will developers have a way of knowing if the current site (where
>>>>>>>>> they may see breakage metrics) is opted-out of the grace period?
>>>>>>>>>
>>>>>>>>> Google is planning to build a site dashboard where developers can
>>>>>>>>> check on the status of their grace period and opt-out values. In the
>>>>>>>>> interim, Chrome DevTools shows an Issue for third-party cookies which 
>>>>>>>>> are
>>>>>>>>> allowed due to the grace period - this can be used to validate 
>>>>>>>>> whether the
>>>>>>>>> grace period is active for that particular client.
>>>>>>>>>
>>>>>>>>>
>>>>>>>> While that's potentially useful, that's not what I had in mind.
>>>>>>>> If a site opt-outs of the grace period, that may impact 3Ps that
>>>>>>>> the site embeds.
>>>>>>>> Those 3Ps (if they are not ready for it) are likely to notice some
>>>>>>>> drop in their functionality or conversion, but they'd need a way of
>>>>>>>> attributing that to the lack of 3P cookies.
>>>>>>>>
>>>>>>>> At the same time, while writing this, I was reminded of
>>>>>>>> navigator.cookieEnabled
>>>>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/xU3gTW4aTfg/m/LaUu7IN2BAAJ?utm_medium=email&utm_source=footer>.
>>>>>>>> Do I understand correctly that it would indicate the lack of 3P cookie
>>>>>>>> support in these cases?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> > Do you have a rough estimate on the length of the grace period?
>>>>>>>>> (I'm guessing this will not be relevant after it)
>>>>>>>>>
>>>>>>>>> That's correct, a site will no longer need an opt-out file after
>>>>>>>>> it is removed from the grace period. Each grace period entry has its 
>>>>>>>>> own
>>>>>>>>> expiration date, depending on when the site applied for the 
>>>>>>>>> deprecation
>>>>>>>>> trial. We will need to assess the demand for new sites onboarding to 
>>>>>>>>> the
>>>>>>>>> trial before we can give an estimate on how long we will continue to
>>>>>>>>> support grace periods overall.
>>>>>>>>>
>>>>>>>>> On Thursday, May 16, 2024 at 3:56:15 AM UTC-4 Yoav Weiss wrote:
>>>>>>>>>
>>>>>>>>>> This is an odd one, but I agree that it's a web exposed feature
>>>>>>>>>> and hence should go through the blink process. Thanks for sending 
>>>>>>>>>> this!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tue, May 14, 2024 at 11:15 PM Anton Maliev <
>>>>>>>>>> amal...@chromium.org> wrote:
>>>>>>>>>>
>>>>>>>>>>> Contact emails
>>>>>>>>>>>
>>>>>>>>>>> amal...@chromium.org
>>>>>>>>>>>
>>>>>>>>>>> njeu...@chromium.org
>>>>>>>>>>>
>>>>>>>>>>> wanderv...@chromium.org
>>>>>>>>>>>
>>>>>>>>>>> Explainer
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> https://github.com/explainers-by-googlers/3pcd-grace-period-opt-out
>>>>>>>>>>>
>>>>>>>>>>> Specification
>>>>>>>>>>>
>>>>>>>>>>> Well-known resource specification:
>>>>>>>>>>> https://github.com/explainers-by-googlers/3pcd-grace-period-opt-out/blob/main/well-known-specification.md
>>>>>>>>>>>
>>>>>>>>>>> Summary
>>>>>>>>>>>
>>>>>>>>>>> This proposal details a new mechanism for site developers to
>>>>>>>>>>> conduct a self-service staged opt-out of their third-party cookie 
>>>>>>>>>>> phaseout
>>>>>>>>>>> grace period. This is intended primarily for Chrome’s active trials 
>>>>>>>>>>> for
>>>>>>>>>>> third-party cookie deprecation - one for top-level sites
>>>>>>>>>>> <https://developers.google.com/privacy-sandbox/3pcd/temporary-exceptions/first-party-deprecation-trial>
>>>>>>>>>>> and one for embedded sites
>>>>>>>>>>> <https://developers.google.com/privacy-sandbox/3pcd/temporary-exceptions/third-party-deprecation-trial>.
>>>>>>>>>>> When a site is approved for one of these trials, they are added to a
>>>>>>>>>>> short-term grace period which mitigates breakage until the token is
>>>>>>>>>>> launched.  Sites may also use this opt-out to test long term 
>>>>>>>>>>> solutions.
>>>>>>>>>>>
>>>>>>>>>>> Each site on the trial will specify their desired opt-out
>>>>>>>>>>> percentage in a new resource in their .well-known directory
>>>>>>>>>>> <https://datatracker.ietf.org/doc/html/rfc8615>, specified here
>>>>>>>>>>> <https://github.com/explainers-by-googlers/3pcd-deprecation-trial-staged-rollout/blob/main/well-known-specification.md>.
>>>>>>>>>>> Google will implement server infrastructure to fetch and update 
>>>>>>>>>>> these
>>>>>>>>>>> values on a schedule, and assign clients randomly to cohorts 
>>>>>>>>>>> matching this
>>>>>>>>>>> percentage. These cohorts persist for a client up until clearing 
>>>>>>>>>>> site
>>>>>>>>>>> storage or reinstalling the browser.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Will developers have a way of knowing if the current site (where
>>>>>>>>>> they may see breakage metrics) is opted-out of the grace period?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Blink component
>>>>>>>>>>>
>>>>>>>>>>> Privacy <https://b.corp.google.com/components/1457231>
>>>>>>>>>>>
>>>>>>>>>>> TAG review
>>>>>>>>>>>
>>>>>>>>>>> N/A
>>>>>>>>>>>
>>>>>>>>>>> TAG review status
>>>>>>>>>>>
>>>>>>>>>>> N/A
>>>>>>>>>>>
>>>>>>>>>>> Risks
>>>>>>>>>>>
>>>>>>>>>>> There aren’t inherent security implications for fetching
>>>>>>>>>>> external resources using server-side infrastructure, but there is a 
>>>>>>>>>>> risk of
>>>>>>>>>>> fetching bad data, which our implementation addresses.
>>>>>>>>>>>
>>>>>>>>>>> There are also privacy implications for randomly assigning
>>>>>>>>>>> clients to cohorts, which we mitigate by clearing cohorts on site 
>>>>>>>>>>> data
>>>>>>>>>>> deletion. There is also a risk that the fetching system fails or 
>>>>>>>>>>> that a
>>>>>>>>>>> site loses access to its .well-known resource, both cases which we 
>>>>>>>>>>> have
>>>>>>>>>>> planned mitigations for.
>>>>>>>>>>>
>>>>>>>>>>> Interoperability and Compatibility
>>>>>>>>>>>
>>>>>>>>>>> The third-party cookie deprecation trials are a Chrome feature,
>>>>>>>>>>> so these new well-known resources will only be fetched by the Chrome
>>>>>>>>>>> browser. The new resource will be distinct and will not interfere 
>>>>>>>>>>> with any
>>>>>>>>>>> existing resources used by other browsers or features.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Beyond that, I think that the fact that this is a short-lived
>>>>>>>>>> capability also significantly reduces risk.
>>>>>>>>>> Do you have a rough estimate on the length of the grace period?
>>>>>>>>>> (I'm guessing this will not be relevant after it)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> 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
>>>>>>>>>>>
>>>>>>>>>>> Debuggability
>>>>>>>>>>>
>>>>>>>>>>> N/A
>>>>>>>>>>>
>>>>>>>>>>> Will this feature be supported on all six Blink platforms
>>>>>>>>>>> (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
>>>>>>>>>>>
>>>>>>>>>>> All except WebView. (Third-party cookie deprecation launches
>>>>>>>>>>> don’t include 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 on chrome://flags
>>>>>>>>>>>
>>>>>>>>>>> N/A
>>>>>>>>>>>
>>>>>>>>>>> Finch feature name
>>>>>>>>>>>
>>>>>>>>>>> base::features::TpcdMetadataStageControl
>>>>>>>>>>>
>>>>>>>>>>> Non-finch justification
>>>>>>>>>>>
>>>>>>>>>>> N/A
>>>>>>>>>>>
>>>>>>>>>>> Requires code in //chrome?
>>>>>>>>>>>
>>>>>>>>>>> No. All code for the grace period and new staged opt-out
>>>>>>>>>>> handling is in //components/tpcd/metadata
>>>>>>>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:components/tpcd/metadata/>
>>>>>>>>>>> .
>>>>>>>>>>>
>>>>>>>>>>> Estimated milestones
>>>>>>>>>>>
>>>>>>>>>>> Client support is shipping to M125 on May 14.  Server-side file
>>>>>>>>>>> processing will begin some time after that date.  A separate notice 
>>>>>>>>>>> will be
>>>>>>>>>>> sent when that process begins.
>>>>>>>>>>>
>>>>>>>>>>> Anticipated spec changes
>>>>>>>>>>>
>>>>>>>>>>> None
>>>>>>>>>>>
>>>>>>>>>>> Link to entry on the Chrome Platform Status
>>>>>>>>>>>
>>>>>>>>>>> https://chromestatus.com/feature/5205350707101696
>>>>>>>>>>>
>>>>>>>>>>> Links to previous Intent discussions
>>>>>>>>>>>
>>>>>>>>>>> Intent to prototype:
>>>>>>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/O9mh5XvbqqE/m/IyK22zHkAAAJ
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> 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 on the web visit
>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAODhGg7m2ARTr5%3DxE0Jex1bcmQ2ySUZRa%3DJSWpW6UuX56sD5Yg%40mail.gmail.com
>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAODhGg7m2ARTr5%3DxE0Jex1bcmQ2ySUZRa%3DJSWpW6UuX56sD5Yg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>> .
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>> 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 on the web visit
>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/25be1203-c642-426a-bfeb-27592e50e113n%40chromium.org
>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/25be1203-c642-426a-bfeb-27592e50e113n%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>> --
>>>>>> 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 on the web visit
>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJif6nxD4S5hcwoO%3DB1vSzHBphr0E%3DxuzLxRHBfVsbk9g%40mail.gmail.com
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJif6nxD4S5hcwoO%3DB1vSzHBphr0E%3DxuzLxRHBfVsbk9g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> --
>>>>> 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 on the web visit
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2M2d%2Byw2hPYBGAhiQ5Hwj5C27VdgYcaYuj_Uq4DUJwPoA%40mail.gmail.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2M2d%2Byw2hPYBGAhiQ5Hwj5C27VdgYcaYuj_Uq4DUJwPoA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>>> 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 on the web visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK7rkMhBom03OwAvRWrS2UPmRmLqWqOQPWCb97K6P%2Bx0e1S%3D7Q%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK7rkMhBom03OwAvRWrS2UPmRmLqWqOQPWCb97K6P%2Bx0e1S%3D7Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2B7y87p7BhOzJYZaVzOABqFSiw%2B6%3Df9MRR9CbXg64E8UPAJB1g%40mail.gmail.com.

Reply via email to