Skip to content

Commit feb3cf9

Browse files
committed
Add more privacy details around when beacons can be sent
These are discussions from WICG#3 and WICG#30
1 parent fe748ce commit feb3cf9

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

README.md

+16-6
Original file line numberDiff line numberDiff line change
@@ -307,14 +307,21 @@ However, it may break existing means that users have of blocking beaconing -
307307
since the browser itself sends beacons **behind the scenes** (so to speak),
308308
special support may be needed to allow extension authors to block the sending (or registering) of beacons.
309309

310-
Specifically, beacons will have the following privacy requirements:
310+
Specifically, pending beacons will have the following privacy requirements:
311311

312312
* Follow third-party cookie rules for beacons.
313-
* Post-unload beacons are not sent if background sync is disabled for a site.
314-
* [#30] Beacons must not leak navigation history to the network provider that it should not know.
315-
* If network changes after a page is navigated away, i.e. put into bfcache, the beacon should not be sent through the new network;
316-
If the page is then restored from bfcache, the beacon can be sent.
317-
* If this is difficult to achieve, consider just force sending out all beacons on navigating away.
313+
* The timing when the beacons can be sent must be taken care of:
314+
* Before navigating away (or document being fully unloaded), beacons are **sendable**.
315+
* [On navigating away][navigating-away], if beacons is already **non-sendable**, consider sending all of them out here.
316+
* [After navigating away][navigating-away] (or document discarded or bfcached):
317+
* If [BackgroundSync] is on
318+
* beacons are **sendable** over the same network as the one before navigating away.
319+
* If [BackgroundSync] is off:
320+
* Beacons are **sendable** if there is another open document (tab/frame/etc) with [the same storage partitioning key][StorageKey] as the current document's one.
321+
* [#30] Beacons are **sendable** over the same network as the one before navigating away.
322+
* Beacons are **non-sendable** if none of the above conditions is met. **non-sendable** beacons might be delayed until navigating back, or might be forced sending earlier on navigating away.
323+
* Beacons can change from **sendable** to **non-sendable**. In this case, beacons can only be delayed or be silently dropped.
324+
* If this is difficult to achieve, consider just force sending out all beacons on navigating away.
318325
* [#27] Beacons must be sent over HTTPS.
319326
* [#34]\[TBD\] Crash Recovery related (if implemented):
320327
* Delete pending beacons for a site if a user clears site data.
@@ -329,6 +336,9 @@ Specifically, beacons will have the following privacy requirements:
329336
[#30]: https://github.com/WICG/pending-beacon/issues/30
330337
[#34]: https://github.com/WICG/pending-beacon/issues/34
331338
[bfcache]: https://web.dev/bfcache/
339+
[BackgroundSync]: https://github.com/WICG/pending-beacon/issues/3#issuecomment-1284164794
340+
[StorageKey]: https://github.com/WICG/pending-beacon/issues/3#issuecomment-1286031505
341+
[navigating-away]: https://github.com/WICG/pending-beacon/issues/3#issuecomment-1286397825
332342

333343
## Security Considerations
334344

0 commit comments

Comments
 (0)