intent-to-ship: Partitioned Third-party ServiceWorker in dFPI

89 views
Skip to first unread message

Tim Huang

unread,
Oct 25, 2021, 3:44:00 PM10/25/21
to dev-pl...@mozilla.org

Summary

Service Workers are currently disabled in a third-party context when dFPI (State Partitioning) is enabled. This behavior was initially chosen because we had not observed sites relying on third-party service workers and it was good for privacy protection. With Bug 1725216, we see that there is a demand for third-party service workers. To resolve this issue, we will enable partitioned third-party service workers in dFPI.


In dFPI, third-party iframes will first get partitioned storage until storage access has been granted to the third party. After that, the third party will have access to its first-party storage. However, this won’t apply to partitioned Service Workers, which will remain partitioned even when storage access is granted, following recent research on potential privacy leakage through embedded unpartitioned Service Workers 


Note that this change won’t affect the first-party Service Workers. And we will first only enable this in Nightly. We are targeting enabling this in Nightly 96.

Standard

https://github.com/privacycg/storage-partitioning

Bug

Bug 1730885

Platform coverage

All

Preference

privacy.partition.serviceWorkers

DevTools bug

N/A

Other browsers

Safari has already implemented permanently partitioned third-party Service Workers.

Chrome hasn’t implemented this yet, but has plans to partition all its storage APIs, including Service Workers.


Web-platform-tests

N/A



--
Tim Huang
Mozilla


Mike Taylor

unread,
Oct 25, 2021, 4:22:02 PM10/25/21
to dev-pl...@mozilla.org, tih...@mozilla.com
Hey Tim,

On Monday, October 25, 2021 at 3:44:00 PM UTC-4 tih...@mozilla.com wrote:

Other browsers

Safari has already implemented permanently partitioned third-party Service Workers.

Chrome hasn’t implemented this yet, but has plans to partition all its storage APIs, including Service Workers.


Partitioned SW is in progress for Chromium right now. https://crbug.com/1246549 is the bug to track that work.

Web-platform-tests

N/A


There's some basic tests added at <https://github.com/web-platform-tests/wpt/commit/12522df829d4a06bd384bd266424a7fae9549e7d#diff-dc26594bdbd8e7a7cd8d43b8dbcb2d6c0fdf0ea88cb6da34919fb1f4afb1cbb7>, but it would be cool to see some more contributions towards partitioned SW.

later,
Mike
 
Reply all
Reply to author
Forward
0 new messages