<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.3.11) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3986 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC9110 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9110.xml">
<!ENTITY RFC4033 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4033.xml">
]>


<rfc ipr="trust200902" docName="draft-jackson-csp-reporting-policy-00" category="exp">
  <front>
    <title abbrev="CSP Reporting Policy">DNS-Published Content Security Policy Reporting Policy</title>

    <author fullname="Simon Jackson">
      <organization>Alltime Technologies Ltd</organization>
      <address>
        <email>simon.jackson@alltimetech.co.uk</email>
      </address>
    </author>

    <date year="2026" month="June"/>

    <area>Security</area>
    <workgroup>Individual Submission</workgroup>
    

    <abstract>


<?line 41?>

<t>This document specifies a mechanism by which a domain operator can publish a Content Security Policy reporting endpoint policy in the Domain Name System. The mechanism allows user agents and reporting processors to discover one or more domain-authorised endpoints for receiving Content Security Policy violation reports, independently of the HTTP response that triggered the report.</t>

<t>The mechanism is intended to improve administrative consistency across distributed web estates where the domain operator controls DNS but does not consistently control every web server, content management system, proxy, application stack, or hosting platform serving content beneath the domain.</t>

<t>This document does not define DNS-based CSP enforcement. It defines only DNS-published reporting endpoint policy. User agents MUST NOT treat this mechanism as a replacement for the <spanx style="verb">Content-Security-Policy</spanx> or <spanx style="verb">Content-Security-Policy-Report-Only</spanx> HTTP response header fields.</t>



    </abstract>



  </front>

  <middle>


<?line 49?>

<section anchor="introduction"><name>Introduction</name>

<t>Content Security Policy <xref target="CSP"/> allows an origin to declare restrictions on the resources that a user agent may load and execute. CSP also defines reporting mechanisms by which user agents can send violation reports to an endpoint controlled by the site operator.</t>

<t>In many operational environments, the entity responsible for domain security governance is not the same entity that controls every HTTP application server. A single registrable domain may be served by a mixture of content management systems, marketing platforms, SaaS providers, reverse proxies, legacy applications, and third-party hosting environments. Some of these systems may support CSP headers correctly. Others may not. Some may support CSP enforcement but not reporting. Others may overwrite or suppress reporting directives.</t>

<t>This creates a governance gap. A domain operator may be responsible for detecting CSP violations across the domain but lack a uniform method to declare the reporting endpoint across all web properties.</t>

<t>This document specifies a DNS-published reporting endpoint policy that allows a domain operator to publish a domain-authorised CSP reporting endpoint. The mechanism is intended to complement HTTP CSP headers, not replace them.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

<dl>
  <dt>Domain Operator:</dt>
  <dd>
    <t>The administrative entity responsible for the DNS zone in which the policy is published.</t>
  </dd>
  <dt>Origin:</dt>
  <dd>
    <t>A tuple of scheme, host, and port as defined by the web platform.</t>
  </dd>
  <dt>Policy Domain:</dt>
  <dd>
    <t>The domain name for which a CSP reporting endpoint policy is published.</t>
  </dd>
  <dt>Reporting Endpoint:</dt>
  <dd>
    <t>An HTTPS URI reference to which CSP violation reports may be sent.</t>
  </dd>
  <dt>HTTP-declared Reporting Endpoint:</dt>
  <dd>
    <t>A reporting endpoint declared by HTTP response metadata, including CSP <spanx style="verb">report-uri</spanx>, CSP <spanx style="verb">report-to</spanx>, or the Reporting API <xref target="REPORTING"/> <spanx style="verb">Reporting-Endpoints</spanx> header field.</t>
  </dd>
  <dt>User Agent:</dt>
  <dd>
    <t>Software acting on behalf of a user, normally a web browser, that processes CSP policies and generates CSP violation reports.</t>
  </dd>
  <dt>CSP Reporting Endpoint Policy:</dt>
  <dd>
    <t>The DNS-published policy defined by this document.</t>
  </dd>
  <dt>Authoritative Reporting Endpoint:</dt>
  <dd>
    <t>A reporting endpoint that is authorised by the Domain Operator through the mechanism defined by this document.</t>
  </dd>
</dl>

</section>
<section anchor="problem-statement"><name>Problem Statement</name>

<t>CSP reporting depends on policy material delivered by HTTP response header fields. This creates operational problems where the domain security owner does not control all HTTP responders.</t>

<t>Common deployment patterns include:</t>

<t><list style="symbols">
  <t>decentralised web estates with multiple application owners;</t>
  <t>legacy web servers that cannot be modified safely;</t>
  <t>SaaS platforms that do not expose all response header controls;</t>
  <t>reverse proxies and CDNs with inconsistent policy injection;</t>
  <t>migration projects where interim reporting is required before full CSP enforcement can be deployed;</t>
  <t>acquired domains where DNS has been consolidated but application hosting remains fragmented.</t>
</list></t>

<t>In these cases, CSP reporting may be incomplete even when the domain operator has a legitimate security need to collect reports.</t>

<t>A DNS-published reporting endpoint policy gives the domain operator a single administrative control plane for declaring where CSP violation reports for the domain may be sent.</t>

</section>
<section anchor="design-goals"><name>Design Goals</name>

<t>The mechanism specified by this document has the following goals:</t>

<t><list style="symbols">
  <t>allow a domain operator to publish one or more CSP reporting endpoints in DNS;</t>
  <t>avoid changing CSP enforcement semantics;</t>
  <t>avoid requiring changes to every web server beneath a domain;</t>
  <t>allow gradual deployment by user agents, reporting collectors, and security tools;</t>
  <t>support DNS caching behaviour;</t>
  <t>support explicit policy expiry and versioning;</t>
  <t>provide a clear failure model;</t>
  <t>minimise privacy leakage;</t>
  <t>avoid creating an unauthenticated channel that weakens existing CSP or reporting behaviour;</t>
  <t>align tag names with existing CSP terminology where practical.</t>
</list></t>

</section>
<section anchor="non-goals"><name>Non-Goals</name>

<t>This document does not define:</t>

<t><list style="symbols">
  <t>CSP enforcement directives in DNS;</t>
  <t>a mechanism for DNS to override an HTTP <spanx style="verb">Content-Security-Policy</spanx> header field;</t>
  <t>a mechanism for DNS to weaken an HTTP <spanx style="verb">Content-Security-Policy</spanx> header field;</t>
  <t>a mechanism for DNS to grant script, style, frame, image, connect, or worker permissions;</t>
  <t>a replacement for <spanx style="verb">Reporting-Endpoints</spanx>, <spanx style="verb">report-to</spanx>, or <spanx style="verb">report-uri</spanx>;</t>
  <t>a telemetry system unrelated to CSP violation reporting;</t>
  <t>a mechanism that requires unauthenticated DNS data to be trusted more strongly than authenticated HTTPS response metadata.</t>
</list></t>

</section>
<section anchor="policy-publication-model"><name>Policy Publication Model</name>

<t>A Domain Operator publishes a CSP Reporting Endpoint Policy at a well-known owner name below the Policy Domain.</t>

<t>A conforming user agent MAY query for the CSP Reporting Endpoint Policy when it processes a CSP policy for an origin whose host is at or beneath the Policy Domain.</t>

<t>A conforming user agent MUST use the DNS-published policy only to add or select reporting endpoints. It MUST NOT use the DNS-published policy to add, remove, or modify CSP enforcement directives.</t>

<t>A conforming user agent MUST NOT send reports to a DNS-published endpoint unless the endpoint is HTTPS.</t>

</section>
<section anchor="owner-name"><name>Owner Name</name>

<t>The owner name is:</t>

<figure><artwork><![CDATA[
_csp.<Policy-Domain>
]]></artwork></figure>

<t>For example, for the Policy Domain <spanx style="verb">example.com</spanx>, the owner name is:</t>

<figure><artwork><![CDATA[
_csp.example.com
]]></artwork></figure>

<t>A user agent evaluating an origin at <spanx style="verb">https://www.example.com</spanx> MAY query <spanx style="verb">_csp.example.com</spanx> if it determines that <spanx style="verb">example.com</spanx> is the applicable Policy Domain.</t>

<t>Determining the applicable Policy Domain is deployment-sensitive. A user agent MUST NOT automatically walk to a public suffix <xref target="PUBLIC-SUFFIX"/>. A user agent SHOULD use the registrable domain boundary where such a concept is available. Implementations MUST take care not to treat public suffixes as Policy Domains.</t>

</section>
<section anchor="record-format"><name>Record Format</name>

<t>Version 00 of this specification defines publication using TXT records. A future version MAY define a dedicated DNS resource record type if operational experience justifies it.</t>

<t>The TXT record value is a sequence of semicolon-delimited key-value pairs. The first key-value pair MUST be:</t>

<figure><artwork><![CDATA[
v=CSP1
]]></artwork></figure>

<t>The key in each key-value pair is a tag. Tags are case-sensitive. Consumers MUST ignore unrecognised tags.</t>

<t>The following tags are defined:</t>

<dl>
  <dt>v:</dt>
  <dd>
    <t>Policy format version. The value MUST be <spanx style="verb">CSP1</spanx>.</t>
  </dd>
  <dt>report-uri:</dt>
  <dd>
    <t>One or more HTTPS reporting endpoint URI references <xref target="RFC3986"/>. The value syntax is intentionally aligned with the CSP <spanx style="verb">report-uri</spanx> directive. Multiple URI references are separated by ASCII whitespace. At least one reporting endpoint is required.</t>
  </dd>
  <dt>mode:</dt>
  <dd>
    <t>Optional reporting behaviour. The value MUST be one of <spanx style="verb">augment</spanx> or <spanx style="verb">fallback</spanx>. If absent, the default value is <spanx style="verb">fallback</spanx>.</t>
  </dd>
  <dt>max_age:</dt>
  <dd>
    <t>Optional maximum policy lifetime in seconds. If absent, the default value is <spanx style="verb">86400</spanx>.</t>
  </dd>
  <dt>sp:</dt>
  <dd>
    <t>Optional subdomain policy. The value MUST be either <spanx style="verb">0</spanx> or <spanx style="verb">1</spanx>. When <spanx style="verb">1</spanx>, the policy applies to subordinate hostnames beneath the Policy Domain. If absent, the default value is <spanx style="verb">1</spanx>.</t>
  </dd>
  <dt>format:</dt>
  <dd>
    <t>Optional report serialisation preference. The value MUST be one of <spanx style="verb">csp-report</spanx>, <spanx style="verb">application/reports+json</spanx>, or <spanx style="verb">both</spanx>. The value <spanx style="verb">csp-report</spanx> denotes the legacy CSP report body used with <spanx style="verb">report-uri</spanx>. The value <spanx style="verb">application/reports+json</spanx> denotes the W3C Reporting API serialisation. If absent, the default value is <spanx style="verb">both</spanx>.</t>
  </dd>
  <dt>tag:</dt>
  <dd>
    <t>Optional opaque operator-defined string used to identify the policy when processing browser-submitted CSP reports.</t>
  </dd>
  <dt>contact:</dt>
  <dd>
    <t>Optional contact URI for operational enquiries. A <spanx style="verb">mailto:</spanx> URI MAY be used. If absent, operators SHOULD fall back to established administrative contacts such as <spanx style="verb">webmaster</spanx> or DNS administrative contacts for the Policy Domain.</t>
  </dd>
</dl>

<t>Example:</t>

<figure><artwork><![CDATA[
_csp.example.com. 3600 IN TXT (
    "v=CSP1; report-uri=https://reports.example.com/csp;"
    " mode=augment; max_age=86400; sp=1;"
    " format=both; tag=2026-06-production" )
]]></artwork></figure>

<t>Example with multiple reporting endpoints:</t>

<figure><artwork><![CDATA[
_csp.example.com. 3600 IN TXT (
    "v=CSP1;"
    " report-uri=https://r1.example.com/csp"
    "  https://r2.example.com/csp;"
    " mode=fallback; max_age=86400; sp=1;"
    " format=csp-report; tag=fallback-2026-06" )
]]></artwork></figure>

<t>TXT character-string splitting follows normal DNS TXT processing. Consumers MUST concatenate TXT character-strings belonging to the same TXT RR before parsing.</t>

</section>
<section anchor="policy-processing"><name>Policy Processing</name>

<t>A user agent that implements this specification performs the following steps:</t>

<t><list style="numbers" type="1">
  <t>Process HTTP CSP policy according to existing CSP rules.</t>
  <t>Determine whether CSP reporting is applicable.</t>
  <t>Determine the applicable Policy Domain.</t>
  <t>Query for TXT records at <spanx style="verb">_csp.&lt;Policy-Domain&gt;</spanx>.</t>
  <t>Select records whose first key-value pair is <spanx style="verb">v=CSP1</spanx>.</t>
  <t>Reject records that contain no <spanx style="verb">report-uri</spanx> tag.</t>
  <t>Reject records that contain no HTTPS reporting endpoint.</t>
  <t>Apply the default <spanx style="verb">mode</spanx> value if the <spanx style="verb">mode</spanx> tag is absent.</t>
  <t>Apply the default <spanx style="verb">max_age</spanx> value if the <spanx style="verb">max_age</spanx> tag is absent.</t>
  <t>Reject records whose <spanx style="verb">max_age</spanx> value is invalid or greater than the implementation maximum.</t>
  <t>Apply the default <spanx style="verb">sp</spanx> value if the <spanx style="verb">sp</spanx> tag is absent.</t>
  <t>Apply <spanx style="verb">sp</spanx> according to <xref target="record-format"/>.</t>
  <t>Apply <spanx style="verb">mode</spanx> according to <xref target="interaction-with-http-csp-reporting"/>.</t>
  <t>Send CSP violation reports to the selected endpoint or endpoints, subject to rate limiting, privacy constraints, delivery constraints, and failure handling.</t>
</list></t>

<t>If multiple <spanx style="verb">CSP1</spanx> records are present, the user agent MAY use any valid record. A user agent SHOULD prefer the record with the shortest valid <spanx style="verb">max_age</spanx> when deterministic selection is needed.</t>

<t>Invalid records MUST be ignored.</t>

</section>
<section anchor="interaction-with-http-csp-reporting"><name>Interaction with HTTP CSP Reporting</name>

<t>The DNS-published policy has two modes.</t>

<t>In <spanx style="verb">augment</spanx> mode, the user agent SHOULD send CSP violation reports to both HTTP-declared reporting endpoints and DNS-declared reporting endpoints, subject to user-agent policy, privacy controls, rate limiting, and delivery constraints.</t>

<t>In <spanx style="verb">fallback</spanx> mode, the user agent MAY send CSP violation reports to the DNS-declared reporting endpoint only when the HTTP response <xref target="RFC9110"/> did not declare a valid HTTP-declared reporting endpoint.</t>

<t>A DNS-published policy MUST NOT suppress an HTTP-declared reporting endpoint.</t>

<t>A DNS-published policy MUST NOT change the disposition of a CSP policy. For example, it MUST NOT convert a report-only policy into an enforcing policy.</t>

<t>A DNS-published policy MUST NOT cause reports to be generated where no CSP policy was active. This document defines where CSP reports may be sent, not when CSP reports are generated.</t>

</section>
<section anchor="endpoint-authorisation"><name>Endpoint Authorisation</name>

<t>A reporting endpoint is authorised when all of the following are true:</t>

<t><list style="symbols">
  <t>the endpoint URI uses the <spanx style="verb">https</spanx> scheme;</t>
  <t>the endpoint URI is syntactically valid;</t>
  <t>the CSP Reporting Endpoint Policy record is syntactically valid;</t>
  <t>the Policy Domain is applicable to the origin being processed;</t>
  <t>the policy has not expired according to <spanx style="verb">max_age</spanx>;</t>
  <t>local user agent policy does not prohibit use of the endpoint.</t>
</list></t>

<t>Implementations MAY require the endpoint host to be at or beneath the Policy Domain. Implementations MAY allow cross-domain reporting endpoints where enterprise or managed-browser policy permits this.</t>

<t>A future version of this document MAY define an explicit endpoint authorisation challenge to allow reporting endpoints outside the Policy Domain.</t>

</section>
<section anchor="caching-and-freshness"><name>Caching and Freshness</name>

<t>User agents MAY cache CSP Reporting Endpoint Policy records.</t>

<t>The effective cache lifetime is the lesser of:</t>

<t><list style="symbols">
  <t>the DNS TTL; and</t>
  <t>the <spanx style="verb">max_age</spanx> value in the policy.</t>
</list></t>

<t>User agents SHOULD impose an implementation maximum on policy cache lifetime. A suggested maximum is 86400 seconds.</t>

<t>User agents MUST NOT use a cached policy after its effective cache lifetime has expired.</t>

<t>Negative DNS responses MAY be cached according to normal DNS negative caching behaviour, subject to implementation limits.</t>

</section>
<section anchor="failure-handling"><name>Failure Handling</name>

<t>If the DNS query fails, the user agent MUST continue processing the HTTP CSP policy normally.</t>

<t>If the DNS-published policy is invalid, the user agent MUST ignore it.</t>

<t>If the DNS-published reporting endpoint is unreachable, the user agent MUST NOT block page rendering or alter CSP enforcement.</t>

<t>If DNS-published and HTTP-declared reporting endpoints both exist, failure of one reporting path MUST NOT prevent attempted delivery to the other path where the user agent supports multiple reporting destinations.</t>

<t>User agents SHOULD apply rate limiting to avoid report storms.</t>

</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>DNS lookup for <spanx style="verb">_csp.&lt;Policy-Domain&gt;</spanx> may reveal that a user has visited an origin beneath the Policy Domain. This leakage may be similar to other DNS lookups for the same site, but it is still a distinct query and must be considered.</t>

<t>User agents SHOULD avoid unnecessary policy lookups. A user agent SHOULD query only when CSP reporting is relevant to the active response.</t>

<t>Reports may contain sensitive data, including blocked URLs, source file locations, referrers, user agent strings, and script samples. Reporting endpoints MUST treat received reports as security-sensitive telemetry.</t>

<t>User agents SHOULD avoid including more detail than is required by the applicable CSP reporting format.</t>

<t>User agents SHOULD respect private browsing modes, tracking protections, enterprise policy, and user privacy preferences when deciding whether to use DNS-published reporting endpoints.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>DNS-published reporting endpoint policy creates a new administrative control channel. Incorrect or malicious DNS data could redirect CSP reports to an attacker-controlled endpoint.</t>

<t>Therefore, user agents MUST restrict DNS-published endpoints to HTTPS URIs.</t>

<t>Implementations MUST prefer DNS data obtained through authenticated or integrity-protected resolution paths, including DNSSEC-validated responses <xref target="RFC4033"/>, DNS-over-TLS, or DNS-over-HTTPS. Where DNSSEC validation is available and returns a validation failure for the policy owner name, implementations MUST treat the DNS query as failed and MUST NOT use the policy record.</t>

<t>A DNS-published policy MUST NOT weaken or override HTTP CSP enforcement. This constraint is central to the security model.</t>

<t>A reporting endpoint can receive sensitive operational information. Domain Operators SHOULD ensure that reporting endpoints implement appropriate authentication, access control, retention controls, abuse handling, and data minimisation.</t>

<t>DNS zone compromise would allow an attacker to change the reporting endpoint. This risk is comparable to other DNS-published security policies. Operators SHOULD apply strong DNS account controls, change control, DNSSEC where appropriate, and monitoring for policy changes.</t>

<t>An attacker may attempt to induce report floods. Reporting endpoints SHOULD rate limit, deduplicate, and discard malformed reports.</t>

<t>A malicious application owner beneath a domain may deliberately emit CSP policies that generate excessive reports. DNS-published reporting endpoint policy does not solve this governance problem. It only provides a central reporting destination.</t>

<t>User agents MUST NOT send reports to insecure transport endpoints.</t>

<t>User agents MUST NOT treat DNS publication as evidence that a domain has enabled CSP enforcement.</t>

</section>
<section anchor="operational-considerations"><name>Operational Considerations</name>

<t>Domain Operators SHOULD begin with <spanx style="verb">fallback</spanx> mode before deploying <spanx style="verb">augment</spanx> mode.</t>

<t>Domain Operators SHOULD use short TTL values during initial deployment.</t>

<t>Domain Operators SHOULD publish a stable <spanx style="verb">tag</spanx> value and change it when policy meaning changes.</t>

<t>Reporting endpoints SHOULD accept both legacy CSP report format and Reporting API JSON format where possible.</t>

<t>Reporting endpoints SHOULD deduplicate reports by at least:</t>

<t><list style="symbols">
  <t>effective directive;</t>
  <t>blocked URL or blocked origin;</t>
  <t>document URL or origin;</t>
  <t>disposition;</t>
  <t>user agent family;</t>
  <t>time window.</t>
</list></t>

<t>Operators SHOULD provide a documented retention period for collected reports.</t>

<t>Operators SHOULD avoid using third-party reporting endpoints unless contractual, privacy, and data processing obligations have been reviewed.</t>

<t>Domain Operators running delegated hosting environments or multi-tenant platforms SHOULD use <spanx style="verb">sp=0</spanx> when publishing <spanx style="verb">mode=augment</spanx> at the apex domain. Operators SHOULD NOT publish <spanx style="verb">sp=1; mode=augment</spanx> at the apex where subordinate hostnames are operated by independent parties who have not consented to forwarding reports to the domain operator's endpoint. Operators MAY publish separate <spanx style="verb">_csp</spanx> records at subdomains they fully control to extend <spanx style="verb">augment</spanx> coverage selectively.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests creation of the following registry:</t>

<figure><artwork><![CDATA[
CSP Reporting Endpoint Policy Tags
]]></artwork></figure>

<t>Initial registry contents:</t>

<figure><artwork><![CDATA[
v
report-uri
mode
max_age
sp
format
tag
contact
]]></artwork></figure>

<t>Registration policy: Specification Required.</t>

<t>This document does not request a new DNS resource record type in version 00.</t>

<t>[Open Issue: A future revision may request a dedicated DNS resource record type if TXT deployment is considered insufficient.]</t>

</section>
<section anchor="examples"><name>Examples</name>

<section anchor="fallback-reporting-for-a-domain"><name>Fallback Reporting for a Domain</name>

<figure><artwork><![CDATA[
_csp.example.com. 3600 IN TXT (
    "v=CSP1; report-uri=https://reports.example.com/csp;"
    " mode=fallback; max_age=86400; sp=1;"
    " format=both; tag=fallback-2026-06" )
]]></artwork></figure>

<t>In this example, user agents that support this specification may send CSP violation reports to <spanx style="verb">https://reports.example.com/csp</spanx> when a response beneath <spanx style="verb">example.com</spanx> contains CSP but does not declare a valid HTTP-declared reporting endpoint.</t>

</section>
<section anchor="augmented-reporting-for-a-managed-single-website"><name>Augmented Reporting for a Managed Single Website</name>

<figure><artwork><![CDATA[
_csp.example.net. 300 IN TXT (
    "v=CSP1; report-uri=https://csp.example.net/report;"
    " mode=augment; max_age=3600; sp=0;"
    " format=application/reports+json; tag=pilot-001" )
]]></artwork></figure>

<t>In this example, user agents should send reports to both the HTTP-declared reporting endpoint and the DNS-published endpoint, subject to user-agent policy, privacy controls, rate limiting, and delivery constraints.</t>

</section>
<section anchor="reporting-policy-applying-only-to-the-policy-domain"><name>Reporting Policy Applying Only to the Policy Domain</name>

<figure><artwork><![CDATA[
_csp.example.org. 3600 IN TXT (
    "v=CSP1; report-uri=https://reports.example.org/csp;"
    " mode=fallback; max_age=86400; sp=0;"
    " format=csp-report; tag=apex-only" )
]]></artwork></figure>

<t>In this example, the policy applies to the Policy Domain only. It does not apply to subordinate hostnames beneath <spanx style="verb">example.org</spanx>.</t>

</section>
</section>
<section anchor="open-issues"><name>Open Issues</name>

<t>This version intentionally leaves the following issues open:</t>

<t><list style="symbols">
  <t>Whether TXT is sufficient or a dedicated DNS RR type is required.</t>
  <t>Whether DNSSEC validation should be mandatory, recommended, or implementation-defined.</t>
  <t>Whether cross-domain reporting endpoints should be permitted.</t>
  <t>Whether endpoint ownership should be proven through an HTTPS well-known resource.</t>
  <t>Whether policy discovery should occur only after a response declares CSP, or also when a response lacks CSP.</t>
  <t>Whether report generation should remain strictly dependent on HTTP CSP policy presence.</t>
  <t>Whether interaction with enterprise-managed browser policy should be specified.</t>
  <t>Whether this work belongs primarily in IETF, W3C WebAppSec, or a joint coordination model.</t>
  <t>Whether <spanx style="verb">sp</spanx> creates unacceptable risk for delegated hosting environments.</t>
  <t>Whether this mechanism should be limited to report-only policies.</t>
  <t>Whether a future version should support <spanx style="verb">report-to</spanx> and the Reporting API <spanx style="verb">Reporting-Endpoints</spanx> header field directly.</t>
  <t>Whether <spanx style="verb">tag</spanx> should be included in report payloads, reporting envelopes, or only used by reporting processors as local metadata.</t>
</list></t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">


<?line 438?>

&RFC2119;
&RFC3986;
&RFC8174;
&RFC9110;
<reference anchor="CSP" target="https://www.w3.org/TR/CSP3/">
  <front>
    <title>Content Security Policy Level 3</title>
    <author >
      <organization>W3C</organization>
    </author>
    <date />
  </front>
</reference>
<reference anchor="REPORTING" target="https://www.w3.org/TR/reporting/">
  <front>
    <title>Reporting API</title>
    <author >
      <organization>W3C</organization>
    </author>
    <date />
  </front>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">


<?line 440?>

&RFC4033;
<reference anchor="PUBLIC-SUFFIX" target="https://publicsuffix.org/">
  <front>
    <title>Public Suffix List</title>
    <author >
      <organization>Mozilla Foundation</organization>
    </author>
    <date />
  </front>
</reference>


    </references>

</references>


<?line 442?>

<section anchor="rationale"><name>Rationale</name>

<t>The proposal deliberately avoids DNS-based CSP enforcement. DNS is attractive as an administrative control plane, but CSP enforcement is origin-sensitive and depends on web platform behaviour, response context, page type, and browser processing rules. A DNS mechanism that overrides enforcement directives could create unsafe ambiguity.</t>

<t>Reporting is a narrower and more practical starting point. It gives the domain operator visibility without changing whether content is allowed or blocked.</t>

<t>The <spanx style="verb">fallback</spanx> mode supports conservative deployment. It only fills a gap when HTTP CSP reporting information is absent or unusable.</t>

<t>The <spanx style="verb">augment</spanx> mode supports mature estates that want centralised reporting in addition to application-specific reporting.</t>

<t>TXT publication is used in this draft to reduce deployment friction. A dedicated RR type may be technically cleaner, but TXT is easier to test operationally during the experimental phase.</t>

<t>The owner name <spanx style="verb">_csp.&lt;Policy-Domain&gt;</spanx> is intentionally broad enough to support future CSP-related DNS publication while this version remains limited to reporting endpoint policy.</t>

<t>The <spanx style="verb">report-uri</spanx> tag is used because it aligns with existing CSP terminology. This document does not define DNS-based CSP enforcement and does not define a replacement for HTTP CSP reporting directives.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA71cW3PbSHZ+56/osh9yIzmyPZmdkeNUFF92tGVbXknObCqV
WoJkk8IIBLBoQDJ3yvvbc75zTjcaF1Ka3STzMKbIRl/O9TuXxmw2m9RpndlT
8+TNx6vZp2aZpe7Grs3rIq9tXpsru2qqtN6bT0WWrvbm0pZFVaf5Vr94MkmW
y8re0QSvrz6N/LwuVnmyowXWVbKpZz8nq1tX5LOVK2eVHzwrefDs5GSySmq7
Lar9qbFfyklaVqemrhpXPz85+eHk+SSpbHIaNjW5L6rbbVU05ak5z9fpXbpu
ksxcNctd6lxa5JM1TXdqnp88/2528t0kaeqbojqdmJnZNFkm+7pKd0Vufif7
mhhjimqb5Omfk5omODVnWVanO2uu7eomL7Jim1pn3tdrjLS7JM3o5A5TzPVo
/5bIEzU9MF8V8+b2ySQvqh3Nd2dpbXP57vXzZ89+0I8vfvj+O/34/bPffKsf
f3j27AQfiab4xxjPpUN8eW/vbGZePJHBSbW19am5qevSnX7zzf39/fz+xZwO
9s315Tc054tveJxQZ5NkzvLfgT78Hw0/NT+9eI0dvf10cXl9/vG33c203D77
dP6YpQPHf9X6ab7p0e/bkxcv8PHT539/f/56dvX53bvzP3T3xqK8IlnYbNIv
5n3q6vENljzO8TDe5mN39qH4c5pliXlXNPmahWUyI3XC/0yydHWVrOrJ5Pom
dYZ0oNmBa660q3QDCUrMjuSD5MztzHJv7m/S1Q19uS5IpHJTlLZK6qIyqyQ3
pSgl/XqI+YGsxubrskhpiGiUobnqG2veyLQfSeDN1d7Vdjc31/R9uwcS2uLe
mcbZyiRbWoS2mK+jmcuqWFnnisqZujDr1K2KOxpb5JbIYXZFZXXzM6FV6siK
+O04QxykyVaWdJQmO3SQu7TImJS6sJvSCda2pHloeLY3xYbP8+P19Sca4soi
d5a+SWqyEul2aytaFAPk8TnoH5+SeJFi5TWGFSbd0anurEnWu5R+J5ZBxsyK
ZqW/bE47SlZV4RzOSwssm5oevLdLY11NEuKIb7QkrzjgHB2xKjJnyK4aepAG
0Pi8qNvpcSAdZkh9qz1PTRygz1P+BTTaJTkxRMSHWTcFL77spyYpS6Ka0Iv2
s7qdghU3hROGESWhNzwhvvATLm1uk/om2vW8L6dhr2u7SYnD8A3LBByFkbfQ
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
/wErR0qQXFkAAA==

-->

</rfc>

