Any news from Paypal? On Friday, May 3, 2024 at 7:15:58 PM UTC+2 Aaron Selya wrote:
> Thank you for suggesting a deeper dive into this Yoav as I might not have > discovered the significant impact that the "receive-cookie-deprication" > cookies were having on my metrics without your prompting. > > I've reached out to some engineers at Paypal and hopefully they'll get > back to me sometime next week. > > On Fri, May 3, 2024 at 8:50 AM Yoav Weiss (@Shopify) < > yoavwe...@chromium.org> wrote: > >> Thanks for diving into this!! >> >> I guess the scariest bit here would be paypal losing a cookie in the >> redirect. Even if you didn't find a visible impact in your testing, they >> may not be exhaustive, and breakage there feels riskier than in other >> mentioned domains. >> >> Have you tried to reach out to Paypal folks and see what they say? >> >> On Wed, May 1, 2024 at 8:05 PM Aaron Selya <se...@google.com> wrote: >> >>> My apologies for the delay in following up on this. >>> >>> When I finished my initial implementation and got to the point where I >>> could begin testing, I found that my metrics were being flooded with a >>> cookie named, "receive-cookie-deprication". After doing some research and >>> testing I learned that this cookie is used by sites for testing the >>> potential impact of third party cookie depreciation but doesn't have any >>> impact on website functionality. To get a better sense of potential >>> breakage, I landed updated metrics that filtered out that cookie. I then >>> conducted a manual audit on 10 (of the 104) sites that indicated a possible >>> impact with a build of chromium that had the finch flag turned on. >>> >>> I've summarized my findings in this slide deck >>> <https://docs.google.com/presentation/d/1S2N2vyGDaKAwP-5W5pVYqRNQ1RQndjlq4yVTny6hEIY/edit?usp=sharing> >>> >>> but I was unable to find a breakage that caused a site to not perform as >>> expected from the user's perspective. To be clear, this doesn't mean that >>> there won't be breakage that occurs if/when this feature goes live, only >>> that I was unable to find an example where the website was unable to >>> perform as expected. >>> >>> Additionally, with the filtering out of the "receive-cookie-deprication" >>> cookie from the metrics, the occurrences of an A1->B-A2 cookie which this >>> change would impact drops from 0.032% of overall page loads to 0.0012% of >>> overall page loads. >>> >> >> That's extremely reassuring! >> >> >>> >>> On Tue, Mar 19, 2024 at 12:05 PM Aaron Selya <se...@google.com> wrote: >>> >>>> Yoav, your understanding is correct. >>>> >>>> I'm still in the process of finalizing the implementation. Once that is >>>> done, I'll audit some sites that metrics have indicated will >>>> experience breakage and report back my findings. >>>> >>>> On Tue, Mar 19, 2024 at 8:52 AM Mike Taylor <miketa...@chromium.org> >>>> wrote: >>>> >>>>> It would also be helpful to discuss what breakage looks like in this >>>>> case. Would it be a one-time loss of state (i.e., have to log in again), >>>>> or >>>>> something different? >>>>> On 3/19/24 5:08 AM, Yoav Weiss (@Shopify) wrote: >>>>> >>>>> OK, so just to summarize my understanding: >>>>> >>>>> - We expect this to have some impact on 0.032% of page views >>>>> - We have a Finch flag that can be used as a kill switch in case >>>>> we see lots of breakage in the wild >>>>> - Developers can get around this deprecation by changing their >>>>> cookies to be "same-site: none" *and* requesting SAA from users >>>>> >>>>> Is the above correct? >>>>> >>>>> If so, 0.032% sounds like a lot. Would it be possible for y'all to >>>>> same pages that trigger that use counter and see how many of them break >>>>> and >>>>> what does breakage look like? >>>>> >>>>> On Wed, Mar 13, 2024 at 8:23 PM Aaron Selya <se...@google.com> wrote: >>>>> >>>>>> The flag is a base::features flag named >>>>>> kAncestorChainBitEnabledInPartitionedCookies. >>>>>> >>>>>> Updated the review gates on chromestatus.com >>>>>> >>>>>> On Wed, Mar 13, 2024 at 11:25 AM Yoav Weiss (@Shopify) < >>>>>> yoavwe...@chromium.org> wrote: >>>>>> >>>>>>> Also, can you flip on the relevant review gates in chromestatus.com? >>>>>>> >>>>>>> On Wed, Mar 13, 2024 at 11:24 AM Yoav Weiss (@Shopify) < >>>>>>> yoavwe...@chromium.org> wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Mar 12, 2024 at 4:46 PM 'Aaron Selya' via blink-dev < >>>>>>>> blink-dev@chromium.org> wrote: >>>>>>>> >>>>>>>>> The first mitigation listed here is to migrate existing >>>>>>>>>> partitioned cookies to include the new bit, and the second >>>>>>>>>> mitigation is to >>>>>>>>>> have a flag that can disable this feature. Would disabling the >>>>>>>>>> feature also >>>>>>>>>> include migrating the existing cookies back to exclude the new bit? >>>>>>>>>> >>>>>>>>> >>>>>>>>> Disabling the flag would not migrate the existing cookies back to >>>>>>>>> exclude the new bit. It would make it so that the new bit value is >>>>>>>>> not >>>>>>>>> considered when checking equivalence. Not considering the value of >>>>>>>>> the bit >>>>>>>>> when is the current behavior so we anticipate no issues ignoring the >>>>>>>>> bit if >>>>>>>>> the flag needs to disable the feature. >>>>>>>>> >>>>>>>> >>>>>>>> Can you clarify what kind of flag are we talking about? Is this a >>>>>>>> Finch flag we expect to turn off if we encounter lots of breakage? An >>>>>>>> enterprise policy flag? A flag we expect users to use? (I doubt it's >>>>>>>> the >>>>>>>> latter, but clarifications would help :D) >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> And somewhat related, but does the format of the cookie request >>>>>>>>>> developers make have to change too, or is this bit determination >>>>>>>>>> purely >>>>>>>>>> done within the browser? >>>>>>>>>> >>>>>>>>> >>>>>>>>> In almost all cases this is set within the browser. The only >>>>>>>>> circumstance I've run into where the value could be set by a >>>>>>>>> developer is >>>>>>>>> with the chrome.cookies.set api for extensions. This API allows >>>>>>>>> the developer to set the site associated with the cookie partition >>>>>>>>> key and >>>>>>>>> with this change would allow for the bit value to be set as well. >>>>>>>>> >>>>>>>>> On Tue, Mar 12, 2024 at 2:53 PM Vladimir Levin < >>>>>>>>> vmp...@chromium.org> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Mar 11, 2024 at 1:42 PM Aaron Selya <se...@chromium.org> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Contact emails >>>>>>>>>>> >>>>>>>>>>> se...@chromium.org, dylancut...@chromium.org, >>>>>>>>>>> kaustub...@chromium.org >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Explainer >>>>>>>>>>> >>>>>>>>>>> Keying of "CHIPS" cookies should align with other state: >>>>>>>>>>> <https://github.com/privacycg/CHIPS/issues/40#issuecomment-1883726735> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Specification >>>>>>>>>>> >>>>>>>>>>> Add cross-site ancestor chain bit to spec: >>>>>>>>>>> https://github.com/explainers-by-googlers/CHIPS-spec/pull/13 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Summary >>>>>>>>>>> >>>>>>>>>>> We are looking to align the partition key >>>>>>>>>>> <https://developers.google.com/privacy-sandbox/3pcd/chips#:~:text=A%20cookie%27s%20partition%20key%20is%20the%20site%20(scheme%20and%20registrable%20domain)%20of%20the%20top%2Dlevel%20URL%20the%20browser%20was%20visiting%20at%20the%20start%20of%20the%20request%20to%20the%20endpoint%20that%20set%20the%20cookie.> >>>>>>>>>>> >>>>>>>>>>> in CHIPS (Cookies Having Independent Partitioned State, aka >>>>>>>>>>> partitioned >>>>>>>>>>> cookies) with the existing implementation of StorageKey. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> The only sites that would experience different behavior, would >>>>>>>>>>> be when a top-level site “A” embeds an iframe to a cross-site >>>>>>>>>>> document on >>>>>>>>>>> site “B”, and then the iframe B embeds an iframe that loads a >>>>>>>>>>> document from >>>>>>>>>>> site “A” (shorthand: A1->B->A2). Previously, partitioned cookies >>>>>>>>>>> sent or >>>>>>>>>>> received in the inner iframe A2 would be the same partitioned >>>>>>>>>>> cookies sent >>>>>>>>>>> or received in the outer frame A1. This is no longer true. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> This change is privacy neutral, but will have improved security >>>>>>>>>>> characteristics, because it prevents cross-site iframes from >>>>>>>>>>> embedding >>>>>>>>>>> arbitrary endpoints of the top-level site with credentials, without >>>>>>>>>>> first >>>>>>>>>>> being granted permission to do so through the Storage Access API >>>>>>>>>>> (SAA) or >>>>>>>>>>> Cross-Origin Resource Sharing (CORS). >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> The impact of this change is expected to be small as our metrics >>>>>>>>>>> indicate that only 0.2% of CHIPS (partitioned cookies) set by the >>>>>>>>>>> first >>>>>>>>>>> party are currently being used in A1->B->A2 contexts. This >>>>>>>>>>> constitutes >>>>>>>>>>> 0.032% of all page loads (calculated using the usage of >>>>>>>>>>> PartitionedCookie >>>>>>>>>>> <https://chromestatus.com/metrics/feature/timeline/popularity/4177>). >>>>>>>>>>> >>>>>>>>>>> For websites that do need access to the same cookies across A1 and >>>>>>>>>>> A2 (in >>>>>>>>>>> the A1->B->A2 configuration), we recommend using SameSite=None >>>>>>>>>>> cookies >>>>>>>>>>> *without* the Partitioned attribute, and invoking the Storage >>>>>>>>>>> Access API >>>>>>>>>>> (SAA) or using the Cross-Origin Resource Sharing (CORS). >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Blink component >>>>>>>>>>> >>>>>>>>>>> Internals>Network>Cookies>PartitionedCookies >>>>>>>>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Internals%3ENetwork%3ECookies%3EPartitionedCookies%22> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> TAG review >>>>>>>>>>> >>>>>>>>>>> Not requested, as this does not differ in any significant way >>>>>>>>>>> from the original CHIPS design that was already reviewed by TAG >>>>>>>>>>> <https://github.com/w3ctag/design-reviews/issues/779>. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> TAG review status >>>>>>>>>>> >>>>>>>>>>> N/A >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Risks >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Interoperability and Compatibility >>>>>>>>>>> >>>>>>>>>>> The inclusion of a new element in the partition key will mean >>>>>>>>>>> that partitioned cookies (CHIPS) created after the launch of this >>>>>>>>>>> change >>>>>>>>>>> will not be compatible with the partitioned cookies that already >>>>>>>>>>> exist in >>>>>>>>>>> users cookie jars. To address this, existing partitioned cookies >>>>>>>>>>> will be >>>>>>>>>>> migrated (without any need for developer action) to include the new >>>>>>>>>>> cross-site ancestor chain bit value, which will be set with a value >>>>>>>>>>> of true >>>>>>>>>>> if the existing partition key does not match the host key >>>>>>>>>>> (indicating a >>>>>>>>>>> cross site ancestor is present) and false if the partition key does >>>>>>>>>>> match >>>>>>>>>>> the host key. This will ensure that most existing CHIPS have the >>>>>>>>>>> same scope >>>>>>>>>>> as they did prior to the change. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Only 0.2% of partitioned cookies are utilized from within >>>>>>>>>>> A1->B->A2 scenarios, but developers who need to be able to access >>>>>>>>>>> cookies >>>>>>>>>>> in A1->B->A2 scenarios will be able to use SAA, and CORS to gain >>>>>>>>>>> access to >>>>>>>>>>> those cookies, after transitioning to SameSite=None cookies without >>>>>>>>>>> the >>>>>>>>>>> Partitioned attribute. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> To limit the impact of any significant breakages that may occur >>>>>>>>>>> when this is deployed, the new feature will be gated by a flag >>>>>>>>>>> allowing for >>>>>>>>>>> it to be turned off easily. Additionally metrics are being gathered >>>>>>>>>>> to >>>>>>>>>>> proactively identify the sites that are going to be impacted by >>>>>>>>>>> this >>>>>>>>>>> change, so that we can do outreach to potentially impacted sites. >>>>>>>>>>> As this >>>>>>>>>>> feature gets deployed, we will monitor the bug and breakage reports >>>>>>>>>>> to help >>>>>>>>>>> identify issues and assist developers in transitioning to one of >>>>>>>>>>> the other >>>>>>>>>>> mechanisms that will allow their sites to work in an A1->B->A2 >>>>>>>>>>> context. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> The first mitigation listed here is to migrate existing >>>>>>>>>> partitioned cookies to include the new bit, and the second >>>>>>>>>> mitigation is to >>>>>>>>>> have a flag that can disable this feature. Would disabling the >>>>>>>>>> feature also >>>>>>>>>> include migrating the existing cookies back to exclude the new bit? >>>>>>>>>> >>>>>>>>>> And somewhat related, but does the format of the cookie request >>>>>>>>>> developers make have to change too, or is this bit determination >>>>>>>>>> purely >>>>>>>>>> done within the browser? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> As this does not differ in any significant way from the >>>>>>>>>>> original partitioned cookies design that has been reviewed in >>>>>>>>>>> the past, we are not seeking the various browsers to take official >>>>>>>>>>> positions in their standards position repos. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> There is support for the adoption of CHIPS >>>>>>>>>>> <https://github.com/mozilla/standards-positions/issues/678#issuecomment-1241916316> >>>>>>>>>>> >>>>>>>>>>> from Firefox as well as support from them for adding the cross-site >>>>>>>>>>> ancestor chain bit >>>>>>>>>>> <https://github.com/privacycg/meetings/blob/main/2023/telcons/10-12-minutes.md#keying-of-chips-cookies-should-align-with-other-state> >>>>>>>>>>> . >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Webkit is still considering adopting CHIPS >>>>>>>>>>> <https://github.com/WebKit/standards-positions/issues/50#issuecomment-1768040057> >>>>>>>>>>> >>>>>>>>>>> as we work through their concerns >>>>>>>>>>> <https://github.com/privacycg/CHIPS/issues/74> regarding >>>>>>>>>>> partition size limitations. This will not be impacted by the >>>>>>>>>>> addition of a >>>>>>>>>>> cross-site ancestor chain bit. We updated the WebKit standards >>>>>>>>>>> positions >>>>>>>>>>> issue with a note regarding this change to the proposal. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Debuggability >>>>>>>>>>> >>>>>>>>>>> DevTools will need to be updated >>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/detail?id=1516984> >>>>>>>>>>> to show the cross-site ancestor chain bit but otherwise it should >>>>>>>>>>> be able >>>>>>>>>>> to be debugged like other API calls. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Will this feature be supported on all six Blink platforms >>>>>>>>>>> (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? >>>>>>>>>>> >>>>>>>>>>> All platforms listed. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Is this feature fully tested by web-platform-tests >>>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>>>>>>>>> ? >>>>>>>>>>> >>>>>>>>>>> We plan to land web-platform-tests shortly >>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/detail?id=1521791>. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Flag name on chrome://flags >>>>>>>>>>> >>>>>>>>>>> CookiePartitionKeyIncludesCrossSiteAncestorChainBit >>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/detail?id=1521841> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Finch feature name >>>>>>>>>>> >>>>>>>>>>> None >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Could you please clarify if the flag you mentioned is a Finch >>>>>>>>>> flag or something else? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Requires code in //chrome? >>>>>>>>>>> >>>>>>>>>>> False >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Estimated milestones >>>>>>>>>>> >>>>>>>>>>> Targeted shipping on desktop and Android in M125. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Anticipated spec changes >>>>>>>>>>> >>>>>>>>>>> None >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Link to entry on the Chrome Platform Status >>>>>>>>>>> >>>>>>>>>>> https://chromestatus.com/feature/5144832583663616 >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> 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/CAPSgjYROtVMp%3DmfBLFdW5KiRYkcFx0NG3U%3DT_vtbm2b7UEzm0w%40mail.gmail.com >>>>>>>>>>> >>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPSgjYROtVMp%3DmfBLFdW5KiRYkcFx0NG3U%3DT_vtbm2b7UEzm0w%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/CALXbKU7so-698-KYua_iQ6PPyHQ_NnBcnJr-XetP%2BDCG_gQeWA%40mail.gmail.com >>>>>>>>> >>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALXbKU7so-698-KYua_iQ6PPyHQ_NnBcnJr-XetP%2BDCG_gQeWA%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/CAOmohSL78hpV-iy6Ce%3Dn4a-aU21-2vj%2Bce4D9rLE_R0oUWKpqQ%40mail.gmail.com >>>>> >>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSL78hpV-iy6Ce%3Dn4a-aU21-2vj%2Bce4D9rLE_R0oUWKpqQ%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/ec4c847a-d146-4d1d-9831-f6ee93664892n%40chromium.org.