-
Notifications
You must be signed in to change notification settings - Fork 40
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
Avoid tracking when fetching external manifests? #207
Comments
@ts-web is it possible for you to create a small repro on a jsfiddle-like (I am dating myself) site? AFAIK the JS SDK just reads data out of the file. That file may have a cloud manifest, in which case we would hit a server where that cloud manifest lives. There is no reason anything in the code should be passing any kind of cookies through since it would just be a generic GET to a public URL. Aside from making a small repro case, it would be helpful if you could post screenshots of the network requests' request and response headers. |
Hi @DaveStein this is kind of interesting. I have been unable to reproduce the cookies in a codesandbox, but I still continue to see them being sent by the extension. It turns out that Chrome extensions have different third-party cookie rules. According to the Chrome Extension Storage and Cookies docs:
For reference here is what I'm testing: The image is at: Here are repro steps:
In the offscreen.html DevTools you should see the request for the external manifest, listed as If this is a third-party cookies situation, it won't be reproducible in codesandbox or jsfiddle, because Chrome doesn't send third-party cookies in those cases. As far as solutions: On the extension side, I can investigate the condition mentioned in the docs: "if the extension has host permissions for the third-party". It might be possible to limit the permissions of my extension, if it's possible to do that without hindering its functionality. On the library side, it might make sense to specify Thoughts? |
After some thought, it doesn't seem possible to fix on the extension side. Because, the extension makes its own The extension needs to So it seems like the fix needs to happen in the c2pa library. From an API perspective, maybe the
|
I'm investigating a reported concern in my c2pa browser extension about tracking. What happens is: my extension uses the c2pa library to get the manifest of an image, and if that image has an external manifest, the library makes a
fetch
request to that URL, which includes cookies. These cookies may include tracking cookies.I'm still wrapping my mind around how much of an issue this is. The fetch request doesn't pass any headers like Origin or Referer, so the domain can't see which URL the user is viewing. But it does pass the cookies.
For example with Adobe URLs the cookies include values like
gpv
(get previous value), which shows the last visited content.I suppose these cookies don't send the domain any new information, besides the event of passing the cookies. But this itself not new information, because the server knows that it's receiving a request.
Ah! There is new information: that the user is viewing a certain manifest. If the cookies identify a specific user, then the external manifest server can track which manifests the user is viewing.
So there is a valid concern about tracking. Does that track with you guys? (sorry, pun intended)
Would it make sense to add an option (or just change the behavior) to not send credentials with the fetch request?
Of course if the manifest url is behind auth, then not passing credentials would make the request fail. But do any external manifest urls require cookies like that? I'd assume not.
The text was updated successfully, but these errors were encountered: