Skip to content

Commit f9de15c

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 f9de15c

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

README.md

+15-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, if beacons will be **non-sendable** after navigating away, consider sending all of them out here.
316+
* [#3] After navigating away (or document discarded or bfcached):
317+
* If [BackgroundSync] is on, beacons are **sendable**.
318+
* If [BackgroundSync] is off:
319+
* 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.
320+
* [#30] Beacons are **sendable** over the same network as the one before navigating away.
321+
* Beacons are **non-sendable** if none of the above conditions is met.
322+
* Beacons can change from **sendable** to **non-sendable**.
323+
* **non-sendable** beacons might be postponed until navigating back for might 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,8 @@ 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
332341

333342
## Security Considerations
334343

0 commit comments

Comments
 (0)