The Reporting-Endpoints HTTP Header

Sunday, February 15, 2026
4 min read
Theotime QuereCentralCSP Team
The Reporting-Endpoints HTTP response header defines named endpoints where the browser can send reports, including Content Security Policy violation reports and other Reporting API report types. Adopting this header improves website maintenance, security, and compliance by centralizing how you receive and process CSP violations and related data. CentralCSP uses it to collect CSP violation and sha-XXX-style reports in one place.

What Is the Reporting-Endpoints Header?

Reporting-Endpoints is a modern replacement for the deprecated Report-To header. You define one or more named endpoints; other mechanisms (such as CSP's report-to directive) refer to those names. When a report is generated, the browser sends it to the corresponding URL. Syntax:

Example Reporting-Endpoints header

Reporting-Endpoints: csp-endpoint="https://report.centralcsp.com/<your-endpoint>"
Each name is an identifier; the value is the endpoint URL. Endpoints must use HTTPS. The CSP header then references the name:

CSP sending reports to the csp endpoint

Content-Security-Policy: default-src 'self'; report-to csp-endpoint;

Benefits for Maintenance, Security, and Compliance

  • Centralized reporting : One endpoints receive violation reports from all policies and pages. You can route them to a single service (e.g. CentralCSP) for aggregation, dashboards, and alerting..
  • Security : Violation reports show what was blocked (or would be blocked in report-only mode). You can spot attacks, misconfigurations, or compromised scripts and fix policies or code. Alerting on top of these reports shortens response time.
  • Compliance : Auditors and frameworks (e.g. PCI DSS) often expect evidence of monitoring and response. A defined reporting pipeline and a platform that stores and analyzes CSP (and related) reports demonstrates that you collect and act on security signals.

How CentralCSP Uses Reporting-Endpoints

CentralCSP is built to receive CSP violation reports and, where supported, other report types (e.g. script hash reports). When you configure your policy with report-to pointing to an endpoint name that sends to CentralCSP (or use a CentralCSP-provided endpoint URL in your reporting setup), CentralCSP:
  • Collects violation reports so you can see what's blocked and where
  • Correlates data for Script Inventory, CVE detection, and alerting
  • Helps you iterate on your policy using real traffic instead of guesswork
Using the Reporting-Endpoints header (and CSP report-to) is the recommended way to feed that pipeline so you get consistent, structured reports in one place.

Setting It Up

  1. Choose an endpoint URL : For CentralCSP, use the reporting URL provided for your account/domain (e.g. in the reporting or setup docs).
  2. Add the header : Send Reporting-Endpoints with at least one named endpoint, e.g. csp="https://your-endpoint".
  3. Point CSP to it : In your Content-Security-Policy or Content-Security-Policy-Report-Only header, add report-to csp (or whatever name you used).
  4. Verify : Trigger a test violation and confirm reports appear in CentralCSP. Use report-only first so you don't block real traffic while testing.
Older browsers may still support report-uri; you can send both report-to and report-uri during a transition period. Prefer report-to with Reporting-Endpoints for new implementations.

See also

    The Reporting-Endpoints HTTP Header