LGTM1

There will be some day late in 2024, early in 2025 that will be the death of many cookies. I now believe the risk of that being a problem is low enough.

/Daniel

On 2023-09-13 13:12, Ari Chivukula wrote:
Re-opening this since it's been a month and we're a week after the September 6th cliff where cookies in stable that were limited to 400 days as of M104 start expiring (if they were not subsequently renewed).

I haven't seen any negative feedback or questions around unexpected cookie expirations in the past week and the latest metrics show < .035% of page loads (and falling) sending cookies that had not been renewed in the last 350-400 days.

I think it's reasonable to impose the same limit on cookies that happened to be stored before M104 as the limit imposed on those after (the 400 day expiration cap) and we should do so in M119.

It's important to note this cap will *not* simply retroactively expire all older cookies but instead cap any cookies with expirations more than 400 days after M119+ is first launched by a user to expire no more than 400 days after that time. For example:

Site X stored Cookie Y pre-M104 expires January 1, 9999.
M119 first launched by user January 1, 2024.
Cookie Y now expires February 4, 2025.
Site X renews Cookie Y by storing it again January 1, 2025.
Cookie Y now expires February 5, 2026.

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


On Fri, Aug 11, 2023 at 6:23 PM Ari Chivukula <aric...@chromium.org> wrote:

    I have no objections to delaying until M119. I'll check back in a
    week or two after the September 6 cliff when cookies in stable
    that were limited to 400 days as of M104 start expiring. It's
    important to note we will only be able to discuss the presence of
    lack of bug reports from sites and users (there won't be other
    additional data available).

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

    On Fri, Aug 11, 2023, 07:14 Mike Taylor <miketa...@chromium.org>
    wrote:

        Perhaps we could delay this change until M119 as I understand
        that the first cookies that were set more than 400 days ago
        are due to expire in the M118 window. That should give us some
        time to understand the impact in more concrete terms and
        mitigate some of the impact, were it to turn out to that 400
        days is not the right balance between utility and protecting
        users.

        (I should note that I'm supportive of this change as proposed
        as a net positive for security, but am recused from voting on it.)

        On 8/10/23 9:52 AM, Ari Chivukula wrote:
        It's true we don't have a lot of data on the impact of this
        specifically, but part of that is due to 400 day lag between
        enforcement and anyone in prod feeling the effects. We could
        try to produce data on the amount of cookies already in the
        store that would be newly capped, but that won't really tell
        us what will happen if they expire a year from now.

        Some sites may have to adapt their preferences to be
        re-written to the cookie store if they haven't already, but
        this change is starting another 400 day counter for sites to
        adapt the same way was done a year ago.

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

        On Thu, Aug 3, 2023, 05:45 Daniel Bratell
        <bratel...@gmail.com> wrote:

            So my assumption is the pessimistic one that most sites
            won't notice this policy change even if we publish posts
            about it. And even if users and sites can survive lost
            cookies, it might still be a disruption that was
            unexpected and unwanted. But I don't have any good idea
            of how disruptive and how common it will be. It might not
            be a real problem at all, but I am missing the knowledge
            and data to understand what the size of the risk is.

            My hope was that you would have some information or data
            that would show to me that there is nothing to be
            concerned about. I don't think I'm there yet, but if
            cookies are already limited to 400 days, that is a good
            indication it can't be too much of a problem.

            /Daniel

            On 2023-08-03 14:03, Ari Chivukula wrote:
            I guess I'm a little confused on the direction of the
            conversation. If a user starts using chrome today no
            cookie can set an expiration date more than 400 days in
            the future, so all sites must already adapt to that
            present reality.

            Some users with cookies stored before this limit was
            imposed around a year ago have cookies that expire years
            in the future. After this change via a DB migration,
            those cookies would be capped to 400 days after the DB
            migration was run. No user will lose cookies in the DB
            migration itself.

            I don't think we know how many sites depend on cookies
            that are set once and never again, but given cookie
            retention timelines are not guaranteed sites should not
            do this. The actual expiration time of the cookie isn't
            returned in the cookie header or document.cookie, so
            sites should already be refreshing cookies (by setting
            them again) on occasion.

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

            On Thu, Aug 3, 2023, 07:44 Daniel Bratell
            <bratel...@gmail.com> wrote:

                I like the idea of automatically clearing out unused
                cookies, but I am unclear if that is what happens here.

                In an hypothetical scenario, a user of website
                awesomeapp.tv <http://awesomeapp.tv> will make some
                customization the first time they are there, and the
                site will store that customization in a cookie with
                an expire date far, far into the future. If this
                hypothetical user keeps using awesomeapp.tv
                <http://awesomeapp.tv> without changing any
                settings, and with no cookie updates, will they
                still lose their customization after 400 days?

                If the hypothetical scenario could play out, do we
                have any idea how common it would be?

                To create some context, we have an informal "this
                breakage is acceptable if needed to move the web
                forward of" limit of 0.003% of page loads. The
                numbers you list set an upper limit on the amount of
                problems and the real number of possibly problematic
                page loads or affected sites will be much lower, but
                how low?

                /Daniel

                On 2023-08-02 21:57, Ari Chivukula wrote:
                According to measurements in Chrome, of all cookies
                set, about 20% request an Expires/Max-Age further
                than 400 days in the future. Of that 20%: half
                target 2 years, a quarter target 10 years or more,
                and the remainder are spread over the rest of the
                range.

                Keep in mind this is looking at the usage of sites
                *before* any cap was imposed. Although the
                distribution of cookies with expirations more than
                400 days in the future will be the same, the amount
                will be under 20% of current storage and shrinking
                as any cookies added or updated will now be forced
                to respect the 400 day cap.

                The motivation for this change is to require, now
                that we're about to hit 400 days since the cap was
                imposed on new/updated cookies, that no special
                privileges be extended to cookies that just
                happened to have been stored before.

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


                On Wed, Aug 2, 2023 at 3:47 PM Alex Russell
                <slightly...@chromium.org> wrote:

                    Hey Ari,

                    It isn't clear to me that the change in the RFC
                    is a motivator to make this change, or that it
                    reduces potential risk.

                    There are details here will matter a lot to the
                    risk profile. IIRC, we'll be going first with
                    regards to the lifetime of first-party,
                    server-set cookies? Do we have an analysis of
                    what fraction of cookies will be impacted?

                    Thanks,

                    Alex

                    On Tuesday, August 1, 2023 at 8:59:59 AM UTC-7
                    Ari Chivukula wrote:

                        Contact emails

                        aric...@chromium.org
                        <mailto:aric...@chromium.org>,
                        miketa...@chromium.org
                        <mailto:miketa...@chromium.org>,
                        bing...@chromium.org
                        <mailto:bing...@chromium.org>


                        Specification

                        
https://httpwg.org/http-extensions/draft-ietf-httpbis-rfc6265bis.html#name-the-expires-attribute
                        
<https://httpwg.org/http-extensions/draft-ietf-httpbis-rfc6265bis.html#name-the-expires-attribute>


                        Summary

                        Since M104 cookies newly created or updated
                        with an expiration date would have that
                        date capped at no more than 400 days in the
                        future. This same limit will now be
                        retroactively applied to cookies already in
                        storage to cap their expiration dates to no
                        more than 400 days after the first time
                        Chrome M118+ starts up and does a one time
                        database migration. The impact of this
                        change will not be felt by users until at
                        least 400 days after M118 is released, and
                        then only for existing cookies that have
                        not been updated in that period.


                        Blink component

                        Internals>Network>Cookies
                        
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3ENetwork%3ECookies>


                        Motivation

                        The draft of rfc6265bis
                        
<https://httpwg.org/http-extensions/draft-ietf-httpbis-rfc6265bis.html#name-the-expires-attribute>now
                        contains an upper limit for Cookie
                        Expires/Max-Age attributes. As written:

                        `The user agent MUST limit the maximum
                        value of the [Max-Age/Expiration]
                        attribute. The limit MUST NOT be greater
                        than 400 days (34560000 seconds) in
                        duration. The RECOMMENDED limit is 400 days
                        in duration, but the user agent MAY adjust
                        the limit to be less. [Max-Age/Expiration]
                        attributes that are greater than the limit
                        MUST be reduced to the limit.`


                        This limit should be enforced retroactively
                        to comply with the specification and clear
                        old cookies with high expiration dates out
                        on a reasonable timetable.


                        TAG review

                        Supportive
                        <https://github.com/w3ctag/design-reviews/issues/729>of
                        original change


                        Compatibility

                        In general, websites should never depend on
                        cookies existing for some predictable
                        length of time. The browser can and will
                        evict for any number of reasons.


                                Interoperability

                        Safari is already partially compliant (with
                        an upper age limit of 7 days when cookies
                        are set client side but no limit when set
                        by the server), while Firefox supports
                        cookies with expiration dates millennia in
                        the future.


                        Gecko: Positive
                        
<https://github.com/mozilla/standards-positions/issues/592>

                        WebKit: Positive
                        
<https://lists.webkit.org/pipermail/webkit-dev/2022-January/032096.html>

                        Web developers: Mostly negative or neutral
                        on expires limits in general


                                Debuggability

                        Existing DevTools affordances for debugging
                        cookie attributes will work as expected here


                        Is this feature fully tested by
                        web-platform-tests?

                        Yes
                        
<http://third_party/blink/web_tests/external/wpt/cookie-store/cookieListItem_attributes.https.any.js>


                        Tracking bug

                        https://crbug.com/1181924
                        <https://crbug.com/1181924>


                        Link to entry on the Chrome Platform Status

                        https://chromestatus.com/feature/5086241845936128
                        <https://chromestatus.com/feature/5086241845936128>


-- 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/CAGpy5D%2B_u5LB6wF%3DT9fu%2B2Svciv%2BWVu-oOVN1CWCvVAeHfVvAA%40mail.gmail.com
                
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGpy5D%2B_u5LB6wF%3DT9fu%2B2Svciv%2BWVu-oOVN1CWCvVAeHfVvAA%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/2ad99d54-4409-279e-2818-582158c06000%40gmail.com.

Reply via email to