-
Notifications
You must be signed in to change notification settings - Fork 17
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
Permissioning layer for match keys #39
Comments
Before responding to the suggestion about permissioning match keys itself, I'd like to more fully understand your concerns with the current proposal. You said:
And later said:
Could you please flesh out in more concrete terms what exactly the threat / risk is? You've alluded to "pervasively sharing your device graph / PII-derived user data with the rest of the web ecosystem", but I do not understand what you're referring to. In the current proposal, I do not see any way for another site to learn any of the following:
Maybe I'm missing something and there is a specific attack vector I haven't considered which allows and attacker to exfiltrate one or more of these pieces of information? If so, could you outline the attack? As it is, the phrase "leaking their user’s data to parties outside their control" sounds very scary, but I just don't see that reflected in fact. |
There are a few pieces here:
|
Currently in IPA, a match key set by a site can be used by any other site. There is no mechanism in the system where a site could choose to keep a match key to itself. I have serious concerns about this.
In practical terms, to use IPA to achieve cross-device attribution, match keys would likely be derived from PII. This means there is a tension between using IPA to its fullest, and pervasively sharing your device graph / PII-derived user data with the rest of the web ecosystem.
Like most other APIs that store user data, IPA should abide by the Same Origin Policy by default, and not expose read access to match keys, even in an encrypted form. If sites want to share their match keys with others, we can support selectively exposing access in an opt-in way with a permissioning system. This could look something like a set policy declared at
setMatchKey
time:Where we could support pattern matching using the URLPattern API infrastructure, which will let a provider allow a specific set of report collector origins (or everyone with
"*"
) to consume their match keys.Additionally, we could support dynamic, just-in-time permissions, e.g.
getMatchKey
could automatically grant permission to a report collector if the API was called within a document whose origin matches the provider.These changes would allow sites to use IPA without fear of leaking their user’s data to parties outside their control.
Note: We might need something more sophisticated if we want match key setting to persist beyond a single browser / app (e.g. storage mediated by an operating system), but I think we can discuss that later on.
The text was updated successfully, but these errors were encountered: