Skip to content

Commit 9808bc7

Browse files
authored
[scroll-animations-1] Add W3C security and privacy questionnaire answers to explainer (w3c#8645)
1 parent 70cd35c commit 9808bc7

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

scroll-animations-1/EXPLAINER.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,102 @@ Additional links
515515
- [WebKit-dev thread](https://lists.webkit.org/pipermail/webkit-dev/2020-June/031228.html)
516516

517517

518+
## Considerations for Security and Privacy
519+
There are no known security or privacy impacts of this feature.
520+
521+
The W3C TAG [self-review questionnaire](https://www.w3.org/TR/security-privacy-questionnaire/) [questions](https://www.w3.org/TR/security-privacy-questionnaire/#questions) have been considered and answered below:
522+
523+
2.1. What information might this feature expose to Web sites or other parties, and for what purposes is that exposure necessary?
524+
525+
1. What information does your spec expose to the first party that the first party cannot currently easily determine.
526+
527+
This spec does not expose any information to the first party that the first party cannot currently easily determine.
528+
529+
2. What information does your spec expose to third parties that third parties cannot currently easily determine.
530+
531+
This spec does not expose any information to third parties that they cannot easily determine.
532+
We avoided [supporting observing the scroll position of the root frame](#access-top-level-window-scroll-in-iframes) for now to avoid any additional risk here.
533+
Note that third parties can currently determine this through the intersection observer API so it again wouldn't be a new path.
534+
535+
3. What potentially identifying information does your spec expose to the first party that the first party can already access (i.e., what identifying information does your spec duplicate or mirror).
536+
537+
The spec indirectly exposes the size and position of scroll ports and elements within them.
538+
The size and position of scroll ports are already trivially accessible through `scroller.scrollLeft`, `scroller.scrollTop`, `scroller.clientWidth`, `scroller.clientHeight`, `window.innerWidth` and `window.innerHeight`.
539+
The position of elements relative to the viewport can already be determined using API's like `element.offsetLeft`, `element.offsetTop`, `element.clientWidth`, and `element.clientHeight` or through `element.getBoundingClientRect()`.
540+
541+
4. What potentially identifying information does your spec expose to third parties that third parties can already access.
542+
543+
The same information as above in 2.1.3 is exposed in third party frames.
544+
545+
2.2. Do features in your specification expose the minimum amount of information necessary to enable their intended uses?
546+
547+
Yes, the feature does not expose anything which isn't necessary to use the API.
548+
549+
2.3. How do the features in your specification deal with personal information, personally-identifiable information (PII), or information derived from them?
550+
551+
There is no PII processed by scroll driven animations.
552+
553+
2.4. How do the features in your specification deal with sensitive information?
554+
555+
No sensitive information is used by this feature.
556+
557+
2.5. Do the features in your specification introduce new state for an origin that persists across browsing sessions?
558+
559+
No.
560+
561+
2.6. Do the features in your specification expose information about the underlying platform to origins?
562+
563+
No new information is exposed that wasn't already available from pre-existing APIs such as `window.innerHeight`.
564+
565+
2.7. Does this specification allow an origin to send data to the underlying platform?
566+
567+
No.
568+
569+
2.8. Do features in this specification enable access to device sensors?
570+
571+
No.
572+
573+
2.9. Do features in this specification enable new script execution/loading mechanisms?
574+
575+
No.
576+
577+
2.10. Do features in this specification allow an origin to access other devices?
578+
579+
No.
580+
581+
2.11. Do features in this specification allow an origin some measure of control over a user agent’s native UI?
582+
583+
No.
584+
585+
2.12. What temporary identifiers do the features in this specification create or expose to the web?
586+
587+
No temporary identifiers are created / exposed by this specification.
588+
589+
2.13. How does this specification distinguish between behavior in first-party and third-party contexts?
590+
591+
The feature allows third-party contexts to animate content with respect to scrollers on that third-party context.
592+
No information about the first-party context is used to do this.
593+
594+
2.14. How do the features in this specification work in the context of a browser’s Private Browsing or Incognito mode?
595+
596+
There is no additional state from the user's browser state used by this specification.
597+
598+
2.15. Does this specification have both "Security Considerations" and "Privacy Considerations" sections?
599+
600+
This is tracked by https://github.com/w3c/csswg-drafts/issues/8644
601+
602+
2.16. Do features in your specification enable origins to downgrade default security protections?
603+
604+
No.
605+
606+
2.17. How does your feature handle non-"fully active" documents?
607+
608+
There is no special handling for such documents. Scroll driven animations follow the same model as other CSS and web animations.
609+
610+
2.18. What should this questionnaire have asked?
611+
612+
Nothing comes to mind.
613+
518614
## References & acknowledgements
519615
Many thanks for valuable contributions, feedback and advice from:
520616
* All current and former specification editors.

0 commit comments

Comments
 (0)