Skip to content
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

Network Partition Key for reports is not specified #220

Open
MattMenke2 opened this issue Sep 14, 2021 · 4 comments
Open

Network Partition Key for reports is not specified #220

MattMenke2 opened this issue Sep 14, 2021 · 4 comments
Assignees

Comments

@MattMenke2
Copy link

Conversion measurement reports have information collected in two different first party network contexts (publisher page, report destination (?), and are potentially reported to yet a third site. To avoid leaking information between different first party network contexts, the reports should therefore be specified to each use a single-use Network Partition Key.

In Chrome-land, these are known as "Transient NetworkIsolationKey" (NIK predates adding Network Partition Key to the fetch spec, so NIKs and NPKs are basically the same thing), but I don't believe the fetch defines them. They're just NPKs for opaque origins, which the fetch spec allows.

@apasel422
Copy link
Collaborator

To do this, it appears that we need to set the fetch request's client, which is used in https://fetch.spec.whatwg.org/#request-determine-the-network-partition-key.

@csharrison
Copy link
Collaborator

Right now we set a null client, which appears at first glance to work (i.e. it does not cache the response), but it looks like it reuses a "null"-keyed connection cache (https://fetch.spec.whatwg.org/#concept-connection-obtain) which doesn't seem right.

@apasel422
Copy link
Collaborator

@MattMenke2 Could you help us understand what's left to do for this in the "create a report request" algorithm?

@MattMenke2
Copy link
Author

I'm not sure the fetch standard has a concept of a unique, unshared network partition. I'm not really sure what the next step is here, unfortunately. I know the network partitioning code, I don't know how specs wire it up to the web platform.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants