w3c / w3c/reporting

Tie retries to user browsing behavior for better privacy?

Open
#4 8 comments 0 reactions 1 assignee View on GitHub

@clelland is already working on this.

Since Aug 15, 2022.

privacy-tracker
Dominant language
Bikeshed
Stars
84
Forks
39
Avg merge
1d 20h
Merged PRs (30d)
1

Description

In an email thread, I noted that I was a bit creeped out by the browser retrying report-sending as background requests. I don't think that hostnames I've visited on network A should be revealed to network B. Nor does it seem safe to assume that staying on the same network means it's okay to replay hostnames I've visited later: for example, I might have lived by myself last week and felt safe visiting some site on my home wifi, but this week a roommate moved in. I also mentioned that another possible approach (being used by https://github.com/ln5/draft-ietf-trans-gossip) is to send reports the next time a user connects to a site, even possibly reusing the same TLS connection to make it harder to block.

@igrigorik pointed out that retry is an important property for various features, and especially network error logging wants real-time monitoring to a report-uri that is different from the site itself.

I think this is still room for a compromise that is more privacy-preserving. For example, maybe the behavior should be: an error on example.com immediately triggers an attempt to send a report to example.com's configured report URI(s). If that fails, then the UA retries the next time the user connects to example.com. This permits immediate delivery attempts and allows the report URI to be different than the actual site, but ties the report-sending to user browsing behavior which seems more safe to me: at least the user has signalled that it's safe to connect to example.com at the point that we retry.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.