Hi Brett,

We don't yet have an expiration date set for https://chromeenterprise.google/policies/#DefaultThirdPartyStoragePartitioningSetting, or any concrete plans to add one. If and when we do decide to deprecate it, we'll give a 6 months deprecation notice through the normal enterprise policy channels. FWIW, I would like to remove it eventually - but I don't expect it to happen this year.

thanks,
Mike

On 7/5/24 12:37 PM, Brett McStotts wrote:

Can we confirm the above <https://groups.google.com/a/chromium.org/g/blink-dev/c/24hK6DKJnqY/m/WphjGBWtCAAJ>is true that the DisableStoragePartitioning Enterprise Policy will also expire on September 3rd, 2024?

We've uncovered an upcoming issue for us with Storage Partitioning and Partitioned cookies. We have Site A that embeds Site B in an iframe. Site B uses a Shared Worker that refreshes an access cookie. Disabling Storage Partitioning makes the Shared Worker a top-level context. So if the SharedWorker for the iframed sets a Partitioned cookie, the cookie will have a partition key of Site B. Therefore, it won't be accessible in the iframe embedded under Site A.

We're setting both a partitioned and unpartitioned cookie right now so it's fine. But after 3PCD the unpartitioned cookie won't be available. We'll have to tell customers embedding our site who are using the DisableStoragePartitioning Enterprise Policy to also use the CookiesAllowedForUrls Enterprise policy. Or make architecture changes.

However, if the Enterprise Policy is expiring then this is a non-issue.
On Monday, December 4, 2023 at 10:54:40 AM UTC-5 ari...@chromium.org wrote:

    Heads up that there's an Origin Trial which allows unpartitioned
    access to some storage and communication mechanisms via SAA (the
    same mechanism that grants unpartitioned cookie access):
    https://developer.chrome.com/blog/saa-non-cookie-storage/

    ~ Ari Chivukula (Their/There/They're)


    On Mon, Apr 10, 2023 at 6:07 PM 'Elijah Grey' via blink-dev
    <blin...@chromium.org> wrote:

        Hi Chris,

        I appreciate your response. Here are my responses to your points:

        1. Yes, we plan to use FPS to put our consent management tool
        in the same FPS (using <customer-id>.sync.transcend.io
        <http://sync.transcend.io> as a service domain per customer,
        alternatively CNAME-backed by the customer). We will still be
        forced to reduce customers' users' privacy by sharing user
        consent data through cookies (and completely lose our ability
        to sync quarantine data cross-site as it cannot safely be
        included in network requests through cookies).
        2. Thanks, I'll make sure to leave a comment about our use case.
        3. Same as above. I'll expound on my use case in that issue too.

        Again, I posit that the non-ideal alignment of these
        unpartitioned storage deprecation timelines will push site
        owners to use cookies to share state where they previously did
        not have to use cookies. A non-cookie solution should be
        available prior to the deprecation point to prevent adverse
        incentives from affecting the web as a whole.

        I understand that the actual harms are likely minor, but they
        are measurable. We attempt to limit total entropy of consent
        data propagated by our sync system, but even with our best
        efforts it is not unreasonable to assume that bad actors would
        use the uniqueness of consent cookies (e.g. by looking at
        timestamps etc.) to uniquely track users. Our current system
        does not attempt to uniquely track users and serves as an
        enforcement point to prevent other tools from uniquely
        tracking users for certain purposes without consent (depending
        on user-applicable legal regimes).

        Regards,
        Eli
        On Monday, April 10, 2023 at 10:45:09 AM UTC-7 Chris
        Fredrickson wrote:

            Hi Eli,

            If I can chime in on a few points from the First-Party
            Sets perspective:

             1. Do you plan to use First-Party Sets to put your
                consent management site in the same FPS as your
                customers' sites? (Note that you would have to work
                around the FPS disjointness requirement
                
<https://github.com/WICG/first-party-sets#abuse-mitigation-measures>,
                e.g. using CNAMEs.) That would allow your product to
                continue to do limited cross-site data sharing,
                although it would have to use cookies to do so.
             2. FYI, both the Storage Access API and Chromium's
                proposed extension (requestStorageAccessFor) only
                unblock access to unpartitioned cookies; they do not
                unblock access to unpartitioned storage. (You may
                already know this, since you linked to the relevant
                Storage Access API issue
                <https://github.com/privacycg/storage-access/issues/102>.)
                Please feel free to comment on that issue if it would
                address a critical use case for your product.
             3. If you're expecting to use First-Party Sets to enable
                limited cross-site data sharing, you may be interested
                in https://github.com/WICG/first-party-sets/issues/111
                and/or
                https://github.com/WICG/first-party-sets/issues/94
                (which admittedly is related to cookies). Please feel
                free to comment on those issues if either of them
                would address your use case; we're actively looking
                for feedback to help us shape and motivate/prioritize
                those proposals.

            Thanks,
            Chris

            On Wednesday, April 5, 2023 at 10:31:01 PM UTC-4 Eli Grey
            wrote:

                Hi Mike,

                By not coordinating Privacy Sandbox timeline with the
                unpartitioned storage deprecation timeline, Chrome is
                pushing us to use cookies due having to balance user
                privacy with customer demands to use all available
                browser capabilities. We currently support cross-site
                sync in Chrome/Edge only using unpartitioned storage,
                and by killing this feature without aligning
                deprecation timelines, Chrome is going to make us leak
                user consent data over the network with cookies. This
                results in an effective net privacy decrease for the
                users of Transcend Consent.

                I vote that either unpartitioned storage timeline is
                pushed back or the 3P cookie deprecation timeline is
                moved up (the latter seems more difficult given the
                existing public commitments I've seen from Google).
                Anything less than the full deprecation of
                *all* unpartitioned storage (including cookies) is
                harmful to users' interests, as a partial deprecation
                just pushes sites to use other still-unpartitioned
                storage mechanisms with potentially worse privacy
                characteristics.

                > which safer APIs you're referring to - some more
                info would be useful

                APIs like requestStorageAccessFor
                <https://github.com/privacycg/requestStorageAccessFor> 
(FPS-scoped)
                or something else extending the storage API
                <https://github.com/privacycg/storage-access/issues/102> could
                serve this purpose.

                > Can I ask how you handle users on Firefox and
                Safari? This change moves us to align with their
                storage model.

                We don't attempt to do cross-site sync in Firefox and
                Safari. For browsers with partitioned storage our sync
                endpoints are only used to propagate consent &
                quarantine data cross-(sub)domain on one site (eTLD+1)
                as we don't currently rely on cookies.

                As an aside: Google is has been severely dropping the
                ball lately when it comes to coordination of Privacy
                Sandbox initiatives with other browser privacy
                features. For example, Chrome ignores its own Do Not
                Track feature when auto-enabling Privacy Sandbox
                trials
                <https://bugs.chromium.org/p/chromium/issues/detail?id=1431031>.
                Please work on improving cross-team coordination to
                prevent these sort of issues from happening.

                Regards,
                Eli

                On Wednesday, April 5, 2023 at 5:17:40 PM UTC-7
                mike...@chromium.org wrote:

                    Hi Eli,

                    Correct, we're not deprecating third-party cookies
                    with this change - you can learn more about the
                    timeline for that here
                    
<https://privacysandbox.com/open-web/#the-privacy-sandbox-timeline>.
                    I don't understand the setup of your use case, or
                    which safer APIs you're referring to - some more
                    info would be useful (also feel free to email me
                    and the folks in cc directly, if you prefer).

                    Can I ask how you handle users on Firefox and
                    Safari? This change moves us to align with their
                    storage model.

                    thanks,
                    Mike

                    On 4/5/23 2:28 PM, Eli Grey wrote:
                    I'm not sure if I'm reading this right. Is
                    partitioned storage being shipped without
                    deprecating legacy third-party cookies at the
                    same time? If this change doesn't also deprecate
                    third party cookies, it effectively pushes some
                    websites to use third-party cookies instead of
                    safer APIs scoped by FPS (which aren't ready
                    yet). I maintain a consent manager that uses
                    localStorage and postMessage/MessageChannel to
                    locally synchronize cross domain consent and
                    quarantine data. It is not a best practice to use
                    third party cookies for this as I would rather
                    not leak data over the network unnecessarily. I
                    am now forced to leak consent data over the
                    network unnecessarily because the actual
                    effective privacy boundaries have not changed due
                    to the lack of third-party cookie deprecation.

                    As far as I can tell, this will only result in a
                    degradation of privacy for my users if I need to
                    switch to third party cookies. Currently
                    quarantine data never touches the network but
                    with this change we can no longer privately and
                    securely synchronize quarantined events, so we
                    will have to reduce our functionality in Chrome.
                    On Tuesday, April 4, 2023 at 3:44:52 PM UTC-7
                    mike...@chromium.org wrote:

                        **

                        *Contact emails*

                        *

                        wande...@chromium.org, m...@chromium.org,
                        mike...@chromium.org


                        Explainer

                        
https://github.com/wanderview/quota-storage-partitioning/blob/main/explainer.md
                        
<https://github.com/wanderview/quota-storage-partitioning/blob/main/explainer.md>


                        Specification

                        Partitioned Storage is roughly specified at
                        https://privacycg.github.io/storage-partitioning/
                        <https://privacycg.github.io/storage-partitioning/>.
                        As part of this work, we have started to
                        codify the necessary concepts in HTML, DOM,
                        and Storage in the following PRs:


                        https://github.com/whatwg/storage/pull/144
                        <https://github.com/whatwg/storage/pull/144>

                        https://github.com/whatwg/dom/pull/1142
                        <https://github.com/whatwg/dom/pull/1142/files>

                        https://github.com/whatwg/html/pull/8447
                        <https://github.com/whatwg/html/pull/8447>


                        We have also updated other APIs to use
                        StorageKey (ServiceWorker [1
                        
<https://github.com/w3c/ServiceWorker/pulls?q=is%3Apr+is%3Aclosed+partition>],
                        BroadcastChannel [1
                        <https://github.com/whatwg/html/pull/7567>],
                        SharedWorker[1
                        <https://github.com/whatwg/html/pull/7995>]),
                        and landed necessary additions to Storage
                        itself ([1
                        
<https://github.com/whatwg/storage/commit/bea19b70f497d7059c920b9f0a81ac8f49bd36ed>][2
                        
<https://github.com/whatwg/storage/commit/c68c38413c02496114d51af28caa83d11689d300>]).


                        What we thought to be a straightforward set
                        of changes has evolved to be a more complex
                        refactoring, per the request of HTML editors.
                        We propose to ship with a WIP spec spread out
                        across the PRs above (noting that Firefox and
                        Safari have already shipped partitioned
                        storage). That said, we intend to finish this
                        work.


                        Summary

                        We intend to partition a number of APIs in
                        third-party contexts. This effort is focused
                        on partitioning APIs above the network stack.
                        This includes quota-managed storage, service
                        workers, and communication APIs (like
                        BroadcastChannel). See the explainer for more
                        details:


                        
https://github.com/wanderview/quota-storage-partitioning/blob/main/explainer.md
                        
<https://github.com/wanderview/quota-storage-partitioning/blob/main/explainer.md>



                        Blink component

                        Blink>Storage


                        TAG review

                        https://github.com/w3ctag/design-reviews/issues/629
                        <https://github.com/w3ctag/design-reviews/issues/629>


                        TAG review status

                        Resolution: Satisfied


                        Risks


                        Interoperability and Compatibility


                        Given that Firefox and Safari have already
                        shipped this feature, we expect our
                        implementation to be interoperable. We are
                        aware of breakage
                        
<https://github.com/privacycg/storage-partitioning/issues/34#issuecomment-1194358637>for
                        sites that use Firebase for authentication
                        (because it relies on being able to access
                        unpartitioned sessionStorage). Firebase has
                        blogged on how sites can mitigate this issue
                        
<https://firebase.google.com/docs/auth/web/redirect-best-practices>.
                        We built a deprecation trial specifically for
                        the sessionStorage redirect use case, which
                        should work for Firebase users. In addition,
                        we have a general deprecation trial available
                        and enterprise policies in place. See below
                        for more info on the deprecation trials.


                        We’ve made storage partitioning available for
                        local testing in Chrome for the past 6 months
                        
<https://developer.chrome.com/en/blog/storage-partitioning-dev-trial/>.
                        Apart from Firebase, we’re not aware of any
                        existing compatibility issues that can’t be
                        solved by the deprecation trials
                        
<https://developer.chrome.com/blog/storage-partitioning-deprecation-trial/>.
                        There may be unforeseen contexts and use
                        cases that rely on unpartitioned storage and
                        as such, we propose to roll this feature out
                        carefully via Finch, according to the
                        following proposed schedule:


                        May 9th: 1% of Stable population
                        (approximately 1 week after M113 is released)

                        May 23rd: 10%

                        June 6th: 50%

                        June 20th: 100%


                        As usual, if we identify concerning metrics,
                        regressions, or site breakage reports, we may
                        pause or roll back to investigate or address
                        issues.


                        Deprecation trial instructions:
                        
https://developer.chrome.com/blog/storage-partitioning-deprecation-trial/
                        
<https://developer.chrome.com/blog/storage-partitioning-deprecation-trial/>


                        Gecko: Shipped/Shipping


                        WebKit: Shipped/Shipping


                        Web developers: Mixed signals. Some
                        developers have expressed compatibility
                        concerns, others have been supportive.


                        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?


                        No, we don’t intend to turn this on for
                        WebView yet.


                        Debuggability

                        DevTools has support for partitioned storage.


                        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?

                        Yes. We’ve written WPTs to verify our 3rd
                        party storage partitioning.


                        Flag name

                        ThirdPartyStoragePartitioning


                        Requires code in //chrome?

                        Nope


                        Tracking bug

                        
https://bugs.chromium.org/p/chromium/issues/detail?id=1191114
                        
<https://bugs.chromium.org/p/chromium/issues/detail?id=1191114>


                        Launch bug

                        https://launch.corp.google.com/launch/4214498
                        <https://launch.corp.google.com/launch/4214498>



                        Anticipated spec changes

                        Open questions about a feature may be a
                        source of future web compat or interop
                        issues. Please list open issues (in other
                        words, links to known GitHub issues in the
                        project, for the feature specification) whose
                        resolution may introduce web compat/interop
                        risk (such as changes 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/5723617717387264
                        <https://chromestatus.com/feature/5723617717387264>


                        Links to previous Intent discussions

                        Intent to Prototype:
                        
https://groups.google.com/a/chromium.org/g/blink-dev/c/WXNzM0WiQ-s/m/l10NGhaoAQAJ
                        
<https://groups.google.com/a/chromium.org/g/blink-dev/c/WXNzM0WiQ-s/m/l10NGhaoAQAJ>


                        Intent to Experiment:
                        
https://groups.google.com/a/chromium.org/g/blink-dev/c/FNi-nNC8fiw/m/gNftPAzUBgAJ
                        
<https://groups.google.com/a/chromium.org/g/blink-dev/c/FNi-nNC8fiw/m/gNftPAzUBgAJ>

                        *


        This email may be confidential or privileged. If you received
        this communication by mistake, please don't forward it to
        anyone else, please erase all copies and attachments, and
        please let me know that it went to the wrong person. Thanks.


-- 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+...@chromium.org.

        To view this discussion on the web visit
        
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/494b3f4b-b9de-4fac-8e83-2555d2d3a9a3n%40chromium.org
        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/494b3f4b-b9de-4fac-8e83-2555d2d3a9a3n%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/c477ef22-38da-473c-bc46-ca7ee1273561%40chromium.org.

Reply via email to