Splits the reporting cache into a per-document cache for document-generated reports, and the existing cache for network reports. There is currently a single reporting cache per profile, which means that reports from unrelated documents can potentially be sent in a single request. This also introduces the Reporting-Endpoints HTTP response header for non-persistent configuration of document-generated reports.
For isolation, risks are low, as there has never been a guarantee of any reports being combined; reports could always have been delivered to endpoints one-at-a-time, and no collectors should have been relying on this behaviour. It is possible that some parties may have been taking advantage of the fact that reports from unrelated windows could be delivered together, but eliminating that is exactly the point of this change.
The Reporting API is designed to be used in tandem with other features which generate reports.
There should be no activation risks at all associated with the improved report isolation. The biggest issue will likely be the potential for confusion between the old Report-To header and the new Reporting-Endpoints header. Either header can be used to configure document-based reports (for compatibility), but only Report-To can configure the endpoint groups for Network Error Logging. Once that API has a new configuration mechanism, we will be able to deprecate the Report-To header completely.
No additional security risks associated with the new header.
Isolating reports from different documents may enable better debugging support from DevTools; currently reports are all sent out-of-band, and combined with reports from other documents, and so cannot easily be seen in DevTools; the netlog viewer is the only access developers have to that traffic. Separate work is ongoing to improve the debuggability of the reporting header syntax and endpoint connectivity issues; that is not covered by this intent.
Contact emails
icle...@chromium.orgExplainer
https://github.com/w3c/reporting/blob/master/EXPLAINER.mdSpecification
https://w3c.github.io/reporting/Summary
Splits the reporting cache into a per-document cache for document-generated reports, and the existing cache for network reports. There is currently a single reporting cache per profile, which means that reports from unrelated documents can potentially be sent in a single request. This also introduces the Reporting-Endpoints HTTP response header for non-persistent configuration of document-generated reports.
Blink component
Internals>Network>ReportingAndNELTAG review
https://github.com/w3ctag/design-reviews/issues/585TAG review status
Issues addressedRisks
Interoperability and Compatibility
For isolation, risks are low, as there has never been a guarantee of any reports being combined; reports could always have been delivered to endpoints one-at-a-time, and no collectors should have been relying on this behaviour. It is possible that some parties may have been taking advantage of the fact that reports from unrelated windows could be delivered together, but eliminating that is exactly the point of this change.
Gecko: Positive (https://mozilla.github.io/standards-positions/#reporting) Also see https://github.com/mozilla/standards-positions/issues/104 which mentions the current changes.
WebKit: No signal (email thread bumped recently)
Hey Yoav,Thanks for linking me in, I'm happy to provide my feedback here.Transparency: I'm Scott Helme, the founder of Report URI, which is a commercial service for allowing websites to collect reports sent via the Reporting API.We have a pretty strong position on the privacy concerns of websites collecting reports and outline all of the efforts we take to mitigate those concerns in our documentation. The change proposed here seems like a step in the right direction and as, I believe, the largest service of our kind in the world, we would like to show our support.The interoperability and compatibility section states that "no collectors should have been relying on this behaviour" and I can indeed confirm that we don't rely on this behaviour and also agree that no other collector should rely on this behaviour either.The only concern I have is the idea of introducing another way to configure the reporting endpoint for NEL and eventually deprecating Report-To. Unless there's a particularly good reason for doing so, I'd like to avoid the confusion and added work for existing users of the Report-To header to have to make another change. It would be more convenient for sites currently using Report-To to continue to do so for NEL and document based reports, only making the change to add Reporting-Endpoints if they wish to do so. Is there an intended benefit of eventually deprecating Report-To in favour of yet another header?
On Fri, Sep 3, 2021 at 12:31 PM Scott Helme <scott...@gmail.com> wrote:Hey Yoav,Thanks for linking me in, I'm happy to provide my feedback here.Transparency: I'm Scott Helme, the founder of Report URI, which is a commercial service for allowing websites to collect reports sent via the Reporting API.We have a pretty strong position on the privacy concerns of websites collecting reports and outline all of the efforts we take to mitigate those concerns in our documentation. The change proposed here seems like a step in the right direction and as, I believe, the largest service of our kind in the world, we would like to show our support.
The interoperability and compatibility section states that "no collectors should have been relying on this behaviour" and I can indeed confirm that we don't rely on this behaviour and also agree that no other collector should rely on this behaviour either.The only concern I have is the idea of introducing another way to configure the reporting endpoint for NEL and eventually deprecating Report-To. Unless there's a particularly good reason for doing so, I'd like to avoid the confusion and added work for existing users of the Report-To header to have to make another change. It would be more convenient for sites currently using Report-To to continue to do so for NEL and document based reports, only making the change to add Reporting-Endpoints if they wish to do so. Is there an intended benefit of eventually deprecating Report-To in favour of yet another header?Thanks for the feedback, Scott! :)I believe the future NEL changes are not part of this intent.Ian - am I correct? If so, what's the best venue for Scott (and others) to provide that feedback and be involved in that conversation?
LGTM2
/Daniel
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK_TSXJEfFNfAyon74kke2wbeSmQzuW0KJEYuaZ6av5gWz8YtQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/355976b3-b5cb-2d9b-e738-77e460146b83%40gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKXHy%3DeFn0A6QV%2BbC-z_V%2BBremQpAeba9iYoymWNXi%2BNVbNXHQ%40mail.gmail.com.
LGTM3.That said, we really need to stop renaming things that we've shipped. I think there's reasonable justification for doing so in this case, and given Mozilla's support for the `Reporting-Endpoints` model (and lack of support for the `Report-To` model), it seems reasonable to me to follow through with an eventual deprecation. But more generally, shipping creates some unavoidable ossification. I might be over-reacting a bit to a few intents I'm recalling, but I think we need to carefully consider the cost of renaming vs the cost of asking developers to internalize a shift in behavior.
What's the long-term plan for `Report-To`? Do you have a deprecation path you think is feasible, or are we going to end up trying to align it to `Reporting-Endpoints` as an alias at some point in the future?