-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Concern: Contextual Integrity violation #50
Comments
I think that contextual integrity issue only applies if the UX matches what exists in Chrome today. As written, surely other implementations could choose to avoid it? |
Certainly- there is no normative language on showing those accounts in the UI. But the spec is certainly written with an assumption of presenting this information to the user, e.g. "Display an account chooser displaying the options from accountsList" really only makes sense if you use account information to show those options. I'm interested in if we agree that this is a problem and if so, what design considerations we can make to mitigate it in Lightweight FedCM, especially since the first thing that came to my mind lets us easily solve #40 |
With regards to the following points that @ekovac and @bvandersloot-mozilla raised earlier:
Would you feel that it is For example, just to check, would the following UX choice be both (a) spec compliant and (b) non deceitful? ![]() What about the following UX that requires user activation? ![]() |
Clear to whom? Personally, I'm partial to Emily's interpretations around the line of death, particularly her intuition "that the line of death is simply a foreign, incomprehensible idea to many, many browser users."
I don't think so.
The URL-bar nugget is probably the subtlest one, and is much better than the one-tap-widget. But I think the reasonable question here is "what users understand that the browser is sending them a message, not the page? and unless they click the nugget the site doesn't learn about their twitter account?", and I don't know if many do, even with this mock. |
I really understand your intuition here @bvandersloot-mozilla and I appreciate the evocation of Contextual Integrity as a concern for FedCM and similar new APIs that avoid cross-site tracking but preserve an integrated user experience on a composable web. It's super interesting because I think these APIs (specifically FedCM and Fenced Frames w/ unpartitioned storage) walk a thin line between actually giving users a contextual choice about sharing their information and the possibility for violating contextual integrity through showing user-identifying data where a user does not expect it. I personally believe that we can be successful in building and refining (and educating our users about) these new privacy-preserving UI patterns over time, and thus shape the norms and user expectations that make the difference here. The autocomplete example that Sam showed is a great one in my opinion, if it didn't exist today we might argue that a user would find it concerning to see their credit card information listed on a page and that it may lead them to believe that their payment information was already shared with the site. But we (users) have been trained to understand that it is indeed the opposite: We are in control whether data is shared, and the fact that it is shown on the site where the data is needed provides us with much better contextual integrity than, say, a full-screen browser prompt that hides the page in order to make it as clear as possible that it's the browser communicating with the user. I think it would be incorrect to say that FedCM is fully there yet, but it has the correct underlying principles: User data is not shared until the user chooses to, and its metadata allows for very contextual presentation. I absolutely agree with you that we should continue to evaluate as user agents whether the presentation we choose is as contextual as possible, but I don't think that "make it clear this is from the browser" is the only criterion for such an evaluation. |
I definitely don't mean to imply that "make it clear this is from the browser" is the only criterion. But it is an important one that hasn't been discussed. And that is a really good point that when joining contexts, both are important. The autocomplete example is a great one and I think it can help illuminate where the finer points of concern are. I think there are a few big differences, one of which Johann pointed to already:
|
One concern that has crystalized in my mind since TPAC around all forms of FedCM is that it is deceptive to present information from one context into another, making it appear that the contexts are already linked before the user makes their choice.
This is only a problem before the user has linked their account to the IDP. One solution would be to only show account hints on a linked-but-not-logged-in account so we still get the benefit of presenting to the user what accounts they have reliably. This also gives us a route to solve #40 by simply fetching the account hints dynamically (which would be acceptable due to the pre-linkage).
@ekovac @johannhof @samuelgoto Thoughts?
The text was updated successfully, but these errors were encountered: