Hi Alexis!
Some comments from security and privacy review:
First, we’re concerned about the fold.angle property, as that seems a high entropy fingerprinting surface. The specification mentions this, but leaves it to the implementer and does not touch on the level of precision and anonymization the API is trying to achieve. (The suggestions of lowering resolution and fuzzing are really two strategies for the same thing.)
Ultimately, any strategy like that will need to address this precision question. The precision of the enum, fold.posture, looks a more reasonable way to cover the core responsive design use case. (Note even this contributes fingerprinting entropy, so it should be integrated into mitigations like Privacy Budget.) We’d recommend starting with fold.posture and dropping fold.angle initially.
Do you have specific use cases that need the full angle information? The spec has an example of angle-driven animations, but that already seems incompatible with the resolution/fuzzing mitigation it suggests. It seems this could use more exploration into use cases and how to balance them with privacy requirements.
Second, screen fold changes (either via onchange or polling) are an ephemeral fingerprinting vector. Given this API is meant for responsive design, we recommend limiting it to visible browsing contexts. I see section 7.2 does constrain onchange for UX reasons. It should also be listed under “Security and Privacy considerations”. The mitigation should also be applied to other ways to query the property, such as polling. (Perhaps defer all updates to the page’s copy of the state until visible, not just the onchange event, or leave the APIs and CSS queries unavailable to hidden pages altogether.)
David
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOaK9AmoV58GAfaWyo35uiN7dvii3JhkfLJp7_yWtShUN%2BmaqA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAF8qwaDE26YhCqQy-JWJ9vez%3Dq4KnLDwb3KEdOsidHWHsJAm0w%40mail.gmail.com.