CentralCSP
Reporting APIReport types

Reporting API report types, every browser report compared

Every browser report type compared, what emits each one, when it fires, and what it tells you.

Last update:

Each report type has its own payload and its own trigger. These pages describe what every report contains, when the browser sends it, and how to read it. The table below is the map; follow a row to the full reference.

Report types at a glance

Each row links to the full reference for that type. "Delivered via" is the header or directive that routes the report, and "Status" is its standardization and support level today.

Report typeEmitted byDelivered viaStatus
csp-violationContent Security Policyreport-to / report-uriWidely supported
csp-hashCSP 'report-sha256'Reporting-EndpointsExperimental
network-errorNEL headerReport-ToExperimental
deprecationBrowser (deprecated API use)default endpointNon-standard
interventionBrowser interventiondefault endpointExperimental
crashRenderer crashdefault endpointNon-standard
coepCross-Origin-Embedder-Policyreport-to=Limited availability
coopCross-Origin-Opener-Policyreport-to=Experimental
permissions-policy-violationPermissions-Policyreport-to=Experimental
document-policy-violationDocument-Policyreport-to=Experimental
integrity-violationIntegrity-Policyendpoints=()Experimental
connection-allowlistConnection-Allowlist headerreport-to=Experimental

The common envelope

Whatever the type, every report arrives in the same outer envelope: type, url, user_agent, age, and body. Only the body changes from one type to the next, which is why a single delivery can batch several types together. The shared envelope, and how it differs from the legacy application/csp-report format, is documented in the report delivery format.

See also

Sources

On this page