-
Notifications
You must be signed in to change notification settings - Fork 2
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
Security questions. #18
Comments
Thanks for this! This is a great help for me to get started properly thinking about the nuances! |
Gonna add answers to this comment as I think of the answer to them and then once the answers are fleshed out I'll transfer it across to the explainer and / or spec.
per-origin is the intention. This is in the intro in the explainer but I will make sure it's clear when editing. What about iframes? I have read issues 8, but it is still unclear to me:
These are all good questions that I will copy across to the iframes issue for further thought on. My thoughts are if the parent document has the ability to communicate with the iframe then we should opaquely pass the override through (that is to say the override will apply but navigator.preferences wont reflect it in the iframe). If the iframe doesn't have communication with the parent document then I think generally the override won't apply in any form. Unless we can guarantee it can't communicate in any way to use that for fingerprinting. As for whether an iframe can set it's own override that is an interesting question and one I think warrants a whole issue on it's own. #20
I imagine this will be similar answer to iframes. If the page and the popup can communicate then the override will apply, if not then it won't. WIll make an issue for this specifically too as I'm sure there will be nuance to discuss. #21
window.matchMedia will reflect the computed state (so override if it exists or browser default if not) you will able to listen using matchMedia.
I'm unsure on exactly what is meant wrt the second point. I imagine this is something we can probably keep as internal details.
Yes if there's no override the document can see the update using window.matchMedia the same as they currently can. Some sites have their override only apply until the global preference next changes, this wouldn't be possible using the API as it currently is so it's definitely something to think about.
As mentioned above currently no. Some sites have their override only apply until the global preference next changes, this wouldn't be possible using the API as it currently is so it's definitely something to think about.
If the user clears all site data it's my intention that these preferences would be cleared along with everything else. |
https://github.com/WICG/web-preferences-api/blob/main/SECURITY-AND-PRIVACY-SELF-REVIEW.md here is a (mostly) complete security and privacy self review. |
Nice feature! I can't wait to see it implemented. This would have been handy for me in the past. Thanks for working on this!
I came here to prepare some preliminary web platform security/privacy reviews after Chrome's intent-to-prototype was posted. There are some ambiguities / open questions. Here is a list of questions I had in mind:
Could you fill out the Security/Privacy questionnaire? This might help.
What entity "stores" the data? Is it per-document, per-tab, per-origin, per-domain, etc... I guess this is going to be per-origin because we want some kind of persistency over navigations.
What about iframes? I have read issues 8, but it is still unclear to me:
What about popups?
Cross-Origin-Opener-Policy: same-origin
. I know it guarantees documents from the two side aren't going to influence each other.Cross-Origin-Opener-Policy: restrict-properties
? @camillelamy might have an opinion.How does an override propagate?
What happens when the user-agent's global preferences are updated?
I did not think about it for long. I hope this will end up with something easy to understand:
I don't intend every questions to be replied inline. Feel free for the ones you want, or you can edit my post and cross the checkbox when the explainer contains an answer.
The text was updated successfully, but these errors were encountered: