On 2015-01-21 2:02 PM, Steve Workman wrote:
Hi Ehsan,

There are a couple of use cases that we've talked about here.
Elaborating on those might help us determine some goals. (Francois and
co. can jump in and correct me here if I've missed something).

1. Being able to login to the same site using different logins, in
separate private sessions.
E.g. You're a user that always opens Twitter in a private browsing
window - you don't want any twitter history or data stored locally; you
have two accounts, one for personal and one for work and you want to be
logged in to both at the same time.
Goal - Be able to have separate login sessions for the same service
opened at the same time in private browsing.

For this use case, I think a solution based on appId should be fairly sufficient. The most critical thing here is cookie separation, which you get through appId. There may be some corner cases, such as a single URI being served differently based on the login, but that should be extremely rare.

There are other issues here though, which are not easily fixable with an implementation based on private browsing. For example, you may want your two sessions autocomplete different username/passwords for Twitter. Or, you may want a bookmark to <https://twitter.com/i/notifications> always open in your home session. Or you may want to have two different copies of that bookmark, each opening in its own session. None of these things can be easily implemented on top of the existing private browsing. Have we thought about these cases?

FWIW this is probably the #1 use case people (ab)use private browsing for, so it's great to have this finally handled. :-)

2. You're a developer that wants a few disposable sessions for your
site. You want to verify some dynamic/adaptive capabilities of your
website in different sessions at the same time.
Goal - Be able to have separate, disposable sessions for the same site
open at the same time.

I think this use case is pretty far away from both what private browsing and appId isolation provide. Having an actual separate profile will probably work best for this, but there are some issues to figure out here too. For example, how to open links from external apps, or how to choose to discard a profile, or what to do with the customizations in the user's main profile (things such as customized prefs, add-ons, etc.)

Is there any reason we'd want these separate sessions to not write anything to the disk?

On AppID, we've talked about using it to prototype this quickly;
assuming that it meets agreed goals, we'd still need to adjust how
that's done to incorporate Apps and contained sessions, possibly allow
it to be extensible. But in general, it seems like it's a similar
mechanism to how private browsing works. At least in Necko, there's a
'P' added to the hashkey of connections and cache entries to signal that
the resource should be isolated in private browsing. We're suggesting
that AppID's successor and that 'P' suffix could be added together to
give unique private browsing sessions.

For Necko, an appId based solution will give you most of what you want, but there are issues to figure out. For example, I think right now we use the in-memory cache for content loaded in private windows, and that cache is shared across all of your private windows. Another example, our cookie viewer UI can only deal with non-private appId=0 cookies.

But please note that there are a lot of other places outside of Necko that are also aware of private browsing.

Cheers,
Ehsan

It would be great to know what you think of the goals and the mechanism
and if there's anything else we need to consider here.

Thanks,
Steve

On Wed, Jan 21, 2015 at 10:14 AM, Ehsan Akhgari <[email protected]
<mailto:[email protected]>> wrote:

    Hi Francois!

    (I mostly looked at the private session wiki page, FWIW.)

    When you're talking about isolation, what exact things do you want
    to isolate from?  Is it just the appId based cookie jars which give
    you isolation across some storage mechanisms?  Or are you trying to
    achieve more than that?  I prefer us to first agree on what goals we
    would like to achieve irrespective of the existing appId based
    isolation, to make sure that the implementation doesn't guide our
    design.

    Cheers,
    Ehsan


    On 2015-01-20 11:16 PM, Francois Marier wrote:

        A few of us have been thinking about how to let users manage their
        multiple online identities in Firefox, as well as how to isolate
        sites
        from one another. Our goal is to find tools we can offer to
        privacy-conscious Firefox users.

        Containers [1] was the first idea that Bram and I came up with.
        It's a
        lightweight way to keep sessions (i.e. cookies, local storage, etc.)
        separate. A single person could have more than one container in
        their
        browser.

        User profiles [2] is a set of ideas that Bram and Ryan Feeley
        had about
        how to expose (and extend) the existing browser profile
        functionality to
        users. Multiple people who share the same browser (e.g. a
        family) could
        use this more heavyweight separation to keep their sessions,
        history and
        bookmarks separate.

        Finally, we also brainstormed a few ideas around private
        sessions [3] to
        address a few use cases around session isolation without interfering
        with the existing purpose/goals of private browsing.

        None of this is final (or even scheduled to be implemented at this
        point), we're just exploring a few ideas and welcome any feedback.

        Francois

        [1]
        
https://wiki.mozilla.org/__Security/Contextual_Identity___Project/Containers
        
<https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers>
        [2]
        
https://wiki.mozilla.org/__Security/Contextual_Identity___Project/User_Profiles
        
<https://wiki.mozilla.org/Security/Contextual_Identity_Project/User_Profiles>
        [3]
        
https://wiki.mozilla.org/__Security/Contextual_Identity___Project/Private_Session
        
<https://wiki.mozilla.org/Security/Contextual_Identity_Project/Private_Session>
        _________________________________________________
        dev-privacy mailing list
        [email protected] <mailto:[email protected]>
        https://lists.mozilla.org/__listinfo/dev-privacy
        <https://lists.mozilla.org/listinfo/dev-privacy>


    _________________________________________________
    dev-privacy mailing list
    [email protected] <mailto:[email protected]>
    https://lists.mozilla.org/__listinfo/dev-privacy
    <https://lists.mozilla.org/listinfo/dev-privacy>



_______________________________________________
dev-privacy mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-privacy

Reply via email to