<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-structured-dns-error-20" category="std" consensus="true" submissionType="IETF" updates="8914" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="Structured DNS Error">Structured Error Data for Filtered DNS</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-structured-dns-error-20"/>
    <author fullname="Dan Wing">
      <organization abbrev="Citrix">Citrix Systems, Inc.</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>danwing@gmail.com</email>
      </address>
    </author>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author fullname="Neil Cook">
      <organization>Open-Xchange</organization>
      <address>
        <postal>
          <country>United Kingdom</country>
        </postal>
        <email>neil.cook@noware.co.uk</email>
      </address>
    </author>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <postal>
          <street>Rennes</street>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <date year="2026" month="May" day="25"/>
    <area>Internet</area>
    <workgroup>DNS Operations Working Group</workgroup>
    <keyword>Customer experience</keyword>
    <keyword>Informed decision</keyword>
    <keyword>transparency</keyword>
    <keyword>enriched feedback</keyword>
    <abstract>
      <?line 86?>

<t>DNS filtering is widely deployed for various reasons, including
network security and policy enforcement. However, filtered DNS responses lack structured information
for end users to understand the reason for the filtering.
Existing mechanisms to provide explanatory details to end users cause harm
especially if the blocked DNS response is for HTTPS resources.</t>
      <t>This document updates RFC 8914 by signaling client support for structuring the EXTRA-TEXT field of
the Extended DNS Error to provide details on the DNS filtering. Such
details can be parsed by the client and displayed, logged, or used for
other purposes.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-dnsop.github.io/draft-ietf-dnsop-structured-dns-error/draft-ietf-dnsop-structured-dns-error.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dnsop-structured-dns-error/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        dnsop Working Group mailing list (<eref target="mailto:dnsop@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dnsop/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dnsop/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-dnsop/draft-ietf-dnsop-structured-dns-error"/>.</t>
    </note>
  </front>
  <middle>
    <?line 99?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>DNS filters are deployed for a variety of reasons, e.g., endpoint
security, parental filtering, and filtering required by law
enforcement. Network-based security solutions such as firewalls and
Intrusion Prevention Systems (IPS) rely upon network traffic
inspection to implement perimeter-based security policies and operate
by filtering DNS responses. In a home network, DNS filtering is used for the
same reasons as above and additionally for parental control. Internet
Service Providers (ISPs) typically block access to some DNS domains due to a
requirement imposed by an external entity (e.g., law enforcement
agency) also performed using DNS-based content filtering.</t>
      <t>End users or network administrators leveraging DNS services that perform filtering may wish to receive more
explanatory information about such a filtering to resolve problems with the filter
-- for example, to contact the DNS service administrator to allowlist a DNS domain that
was erroneously filtered or to understand the reason a particular
domain was filtered. With that information, they can choose
to use another network, open a trouble ticket with the DNS service administrator to
resolve erroneous filtering, log the information, etc.</t>
      <t>For the DNS filtering mechanisms described in <xref target="existing-techniques"/>, the DNS
server can return extended error codes Blocked, Filtered, Censored, or
Forged Answer defined in <xref section="4" sectionFormat="of" target="RFC8914"/>. However, these codes
only explain that filtering occurred but lack detail for the user to
diagnose erroneous filtering.</t>
      <t>No matter which type of response is generated (forged IP address(es),
NXDOMAIN or empty answer, even with an extended error code), the end user
who triggered the DNS query has little chance to understand which
entity filtered the query, how to report a mistake in the filter, or
why the entity filtered it at all. This document describes a mechanism
to provide such detail.</t>
      <t>As noted in <xref section="6" sectionFormat="of" target="RFC7754"/>, promptly informing the endpoint that blocking has occurred provides necessary transparency to redress any errors, particularly as they relate to collateral damage introduced by errant filters.</t>
      <t>One of the other benefits of the approach described in this document is to eliminate the need to
"spoof" block pages for HTTPS resources. This is achieved since
clients implementing this approach would be able to display a
meaningful error message, and would not need to connect to such a
block page. This approach thus avoids the need to install a local root
certificate authority on those IT-managed devices.</t>
      <t>This document describes a format for machine-readable data in the
EXTRA-TEXT field of <xref target="RFC8914"/>. The document updates <xref section="2" sectionFormat="of" target="RFC8914"/> which
says the information in EXTRA-TEXT field is intended for human
consumption (not automated parsing).</t>
      <t>This document does not recommend DNS filtering but provides a
mechanism for better transparency to explain to the end users why some DNS
queries are filtered.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

<t>This document uses terms defined in DNS Terminology <xref target="RFC9499"/>.</t>
      <t>"Encrypted DNS" refers to any encrypted scheme to convey DNS messages,
for example, DNS over HTTPS (DoH) <xref target="RFC8484"/>, DNS over TLS (DoT) <xref target="RFC7858"/>, or
DNS over QUIC (DoQ) <xref target="RFC9250"/>.</t>
      <t>The document refers to an Extended DNS Error (EDE) using its purpose, not its
INFO-CODE as per Table 3 of <xref target="RFC8914"/>. "Forged Answer",
"Blocked", "Censored", and "Filtered" are thus used to refer to "Forged Answer (4)",
"Blocked (15)", "Censored (16)", and "Filtered (17)".</t>
      <t>In this document, "client security policy evaluation" refers to implementation-defined
decision-making performed by the DNS client or consuming application (e.g., web
browser) to
determine how, or whether, structured error information is used, displayed,
or acted upon.</t>
      <t>Structured DNS Error (SDE) is an EDNS(0) option indicating support for structured encoding of the EXTRA-TEXT field. See also <xref target="SDE"/>.</t>
      <t>"DNS administrator" refers to the party responsible for operating
and configuring the DNS server, including the definition of
filtering policies.</t>
      <t>"IT/InfoSec team" refers to the organizational team responsible
for receiving and handling end-user reports of misclassified DNS
filtering, including decisions on allowlisting domains or revising
filtering policies.</t>
    </section>
    <section anchor="existing-techniques">
      <name>DNS Filtering Techniques and Their Limitations</name>
      <t>DNS responses can be filtered by sending, e.g., a bogus (also called
"forged") response, NXDOMAIN error, or empty answer. Also, clients can be informed that filtering occurred by sending an
Extended DNS Error code defined in <xref target="RFC8914"/>. Each of these
methods have advantages and disadvantages that are discussed below:</t>
      <ul spacing="normal">
        <li>
          <t>The DNS response is forged to provide a list of IP addresses that
points to an HTTP(S) server alerting the end user about the reason for
blocking access to the requested domain (e.g., malware). If the host component <xref target="RFC3986"/>
of an HTTP URL is blocked, the network security device
(e.g., Customer Premises Equipment (CPE) or firewall) presents a block page instead of the HTTP
response from the content provider hosting that domain. This works successfully with HTTP.
<br/><br/>
If this is an HTTPS URL, the network security device attempts to serve the block page over HTTPS.  In order to return a block page over HTTPS, the network security device uses a locally
generated root certificate and corresponding key pair. The local root certificate is
installed on the endpoint while the network security device stores a copy of the private key.
During the TLS handshake, the on-path network security device modifies the certificate
provided by the server and (re)signs it using the private key from the local root
certificate.  </t>
          <ul spacing="normal">
            <li>
              <t>In deployments where DNSSEC is used, this approach becomes ineffective because DNSSEC
ensures the integrity and authenticity of DNS responses, preventing forged DNS
responses from being accepted.</t>
            </li>
            <li>
              <t>The HTTPS server hosted on the network security device will have access to the
client's IP address, the hostname, and the URL path component of the request. This information will be sensitive, as it will expose the end user's identity and the specific resource that an end user attempted to access.</t>
            </li>
            <li>
              <t>Configuring a local root certificate on endpoints is
not a viable option in several deployments like home networks,
schools, Small Office/Home Office (SOHO), or Small/Medium
Enterprise (SME). In these cases, the typical behavior is that
the filtered DNS response points to a server that will display
the block page. If the client is using HTTPS (via a web browser or
another application) this results in a certificate validation
error which gives no information to the end user about the reason
for the DNS filtering.</t>
            </li>
            <li>
              <t>Enterprise networks do not always assume that all the connected devices
are managed by the IT team or Mobile Device Management (MDM)
devices, especially in the quite common Bring Your Own Device
(BYOD) scenario. In addition, the local root certificate cannot
be installed on IoT devices without a device management tool.</t>
            </li>
            <li>
              <t>An end user does not know why the connection was prevented and,
consequently, may repeatedly try to reach the domain but with no
success. Frustrated, the end user may switch to an alternate
network that offers no DNS filtering against malware and
phishing, potentially compromising both security and
privacy. Furthermore, certificate errors train end users to click
through certificate errors, which is a bad security practice. To
eliminate the need for an end user to click through certificate
errors, an end user may manually install a local root certificate
on a host device. Doing so, however, is also a bad security
practice as it creates a security vulnerability that may be
exploited by a MITM attack. When a manually installed local root
certificate expires, the end user has to (again) manually install the
new local root certificate.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>The DNS response is forged to provide an NXDOMAIN answer, causing the DNS lookup to fail. This approach is incompatible with DNSSEC when the client performs validation, as the forged response will fail DNSSEC checks. However, in deployments where the client relies on the DNS server to perform DNSSEC validation, a filtering DNS server can forge an NXDOMAIN response for a valid domain, and the client will trust it. This undermines the integrity guarantees of DNSSEC, as the client has no way to distinguish between a genuine and a forged response. Further, the end user may not understand why a domain cannot be reached and may repeatedly attempt access without success. Frustrated, the end user may resort to using insecure methods to reach the domain, potentially compromising both security and privacy.</t>
        </li>
        <li>
          <t>The extended error codes Blocked and Filtered defined in
<xref section="4" sectionFormat="of" target="RFC8914"/> can be returned by a DNS server to provide
additional information about the cause of a DNS error.
These extended error codes do not suffer from the limitations
discussed in bullets (1) and (2), but the user still does not know the
exact reason nor is aware of the exact entity blocking the
access to the domain. For example, a DNS server may block access to a
domain based on the content category such as "Malware" to protect the
endpoint from malicious software, "Phishing" to prevent the end user from
revealing sensitive information to the attacker, etc. An end user may need to
know the contact details of the IT/InfoSec team to raise a complaint.
Further, the information conveyed by <xref target="RFC8914"/> is intended for
diagnostic purposes and is not structured for automated processing,
localization, or extensibility.</t>
        </li>
      </ul>
      <t>This document defines a structured,
machine-readable format for conveying such details in the EXTRA-TEXT
field, enabling clients to process the information programmatically
and present it to end users (e.g., with localization support), while
allowing for extensibility and more granular, client security
policy-driven handling of the information. This specification requires
that clients only act upon such information when it is received
over an integrity-protected DNS response.</t>
    </section>
    <section anchor="name-spec">
      <name>I-JSON in EXTRA-TEXT Field</name>
      <t>DNS servers that are compliant with this specification and have received an indication that the client also supports this specification as per <xref target="client-request"/> send data in the EXTRA-TEXT field <xref target="RFC8914"/> as a JSON object encoded using the Internet JSON (I-JSON) message format <xref target="RFC7493"/>.</t>
      <t>This document defines the following JSON names:</t>
      <dl>
        <dt>c: (contact)</dt>
        <dd>
          <t>The contact details of the IT/InfoSec team to report misclassified
DNS filtering. This information is important for transparency and also to ease unblocking a legitimate domain name that got blocked due to wrong classification.</t>
        </dd>
        <dt/>
        <dd>
          <t>The field is a JSON array of contact URIs. When multiple contact details are provided, each contact URI is
represented as a separate array element in the JSON array.</t>
        </dd>
        <dt/>
        <dd>
          <t>Contact URIs conveyed in the "c" field <bcp14>MUST</bcp14> use URI schemes registered in <xref target="IANA-Contact"/>.</t>
        </dd>
        <dt/>
        <dd>
          <t>This field is optional.</t>
        </dd>
        <dt>j: (justification)</dt>
        <dd>
          <t>'UTF-8'-encoded <xref target="RFC5198"/> human-readable explanation for the DNS
filtering decision.</t>
        </dd>
        <dt/>
        <dd>
          <t>This field is particularly useful when no applicable sub-error code
is defined or provided for the returned Extended DNS Error.</t>
        </dd>
        <dt/>
        <dd>
          <t>The information conveyed in this field <bcp14>MUST NOT</bcp14> be used as input to
automated processing that affects security policy enforcement or DNS
protocol behavior.</t>
        </dd>
        <dt/>
        <dd>
          <t>The DNS client determines, according to its client security policy,
whether the contents of this field are displayed to the end user,
logged, or ignored.</t>
        </dd>
        <dt/>
        <dd>
          <t>Returning non-UTF-8 data, syntactically invalid content, or
deliberately meaningless values (including empty strings) indicates that
a DNS server is misbehaving.</t>
        </dd>
        <dt/>
        <dd>
          <t>This field is optional.</t>
        </dd>
        <dt>s: (sub-error)</dt>
        <dd>
          <t>An integer representing the sub-error code for this particular DNS filtering case.</t>
        </dd>
        <dt/>
        <dd>
          <t>The integer values are defined in the IANA-managed registry for DNS Sub-Error Codes in <xref target="IANA-SubError"/>.</t>
        </dd>
        <dt/>
        <dd>
          <t>This field is optional.</t>
        </dd>
      </dl>
      <t>When multiple blocking causes apply simultaneously
(e.g., a domain is blocked for both malware and phishing reasons),
a single SDE response is returned. The "s" field <bcp14>MUST</bcp14> convey the
primary blocking cause. The "j" field <bcp14>MUST</bcp14> be used to provide
additional context describing all applicable causes.</t>
      <dl>
        <dt>o: (organization)</dt>
        <dd>
          <t>'UTF-8'-encoded human-friendly name of the organization that filtered this particular DNS query.</t>
        </dd>
        <dt/>
        <dd>
          <t>This field is optional.</t>
        </dd>
        <dt>l: (language)</dt>
        <dd>
          <t>The "l" field indicates the language used for the JSON-encoded "j" and "o" fields.  The value of this field <bcp14>MUST</bcp14> conform to the
language tag syntax specified in <xref section="2.1" sectionFormat="of" target="RFC5646"/>.</t>
        </dd>
        <dt/>
        <dd>
          <t>This field is optional but <bcp14>MUST</bcp14> be included when either the "j" or "o" fields are present.</t>
        </dd>
      </dl>
      <t>The text in the "j" and "o" names can include international
characters. The text will be in natural language, chosen by the DNS administrator
to match its expected audience.</t>
      <t>The "o" field <bcp14>MAY</bcp14> be displayed to end users, subject to the conditions described in <xref target="security"/>.</t>
      <t>To avoid exceeding the maximum EDNS0 size <xref target="RFC9715"/> the generated JSON values <bcp14>SHOULD</bcp14> be as short as
possible: short domain names, concise text in the values for the "j"
and "o" names, and minified JSON (that is, without spaces or line
breaks between JSON elements).</t>
      <t>The JSON data can be parsed to display to the user, logged, or
otherwise used to assist troubleshooting and diagnosis of DNS filtering.</t>
      <t>The sub-error codes provide a structured way to communicate more detailed and precise description of the cause of an error (e.g., distinguishing between malware-related blocking and phishing-related blocking under the general blocked error).</t>
      <ul empty="true">
        <li>
          <t>An alternate design for conveying the sub-error would be to define new EDE codes for these errors. However, such design is suboptimal because it requires replicating an error code for each EDE code to which the sub-error applies (e.g., "Malware" sub-error in <xref target="reg"/> would consume three EDE codes).</t>
        </li>
      </ul>
      <t>New JSON names <bcp14>MUST</bcp14> consist only of lower-case ASCII characters, digits,
and hyphen-minus (that is, Unicode characters U+0061 through 007A,
U+0030 through U+0039, and U+002D). Also, these names <bcp14>MUST</bcp14> be 63
characters or shorter and it is <bcp14>RECOMMENDED</bcp14> they be as short as
possible to reduce contribution to exceeding maximum EDNS0 response
size. Refer to <xref target="RFC9715"/> for a discusson on IP fragmentation avoidance in DNS.</t>
    </section>
    <section anchor="protocol-operation">
      <name>Protocol Operation</name>
      <section anchor="client-request">
        <name>Client Generating Request</name>
        <t>When generating a DNS query, a client that supports this specification
<bcp14>SHOULD</bcp14> include the Structured DNS Error (SDE) option defined in <xref target="SDE"/>, unless instructed by local policy otherwise.</t>
        <t>The presence of the SDE option indicates that the client desires the
DNS server to include an EDE option in the DNS response when DNS
filtering is performed, and that any data conveyed in the EXTRA-TEXT
field of the EDE option is encoded and processed in accordance with
this specification.</t>
        <t>A client that wishes to express a preferred response language
<bcp14>MUST</bcp14> populate the OPTION-DATA of the SDE option with an ordered
list of RFC 5646 <xref target="RFC5646"/> language tags, listed from most to
least preferred, using the format defined in <xref target="SDE"/>. The list <bcp14>SHOULD</bcp14> 
contain no more than 4 entries and <bcp14>MUST NOT</bcp14> contain more than 8 
entries. To accommodate two languages with two language tags per 
language (e.g., American English often uses the two tags "en-US" and 
"en"), the list <bcp14>SHOULD</bcp14> contain no more than 4 entries.
The hard limit of 8 entries bounds the contribution of the SDE
option to the DNS query size (see <xref target="RFC9715"/>) and ensures
predictable server processing as described in <xref target="server-response"/>.
A client that has no language preference <bcp14>MUST</bcp14> set OPTION-LENGTH to 0.
This is the default behavior.</t>
        <t>For privacy reasons, clients <bcp14>MAY</bcp14> send fewer language
entries than the user has configured or omit the language list
entirely by setting OPTION-LENGTH to 0.</t>
        <t>The "l" field in the JSON body of the EXTRA-TEXT response
(<xref target="name-spec"/>) remains the authoritative indicator of the language
used in the "j" and "o" fields and <bcp14>MUST</bcp14> continue to be
used by clients for localisation and machine translation decisions.</t>
      </section>
      <section anchor="server-response">
        <name>Server Generating Response</name>
        <t>When the DNS server filters its DNS response to a
query (e.g., A or AAAA resource record query), the DNS response <bcp14>MAY</bcp14> contain an empty answer, NXDOMAIN, or (less
ideally) forged response, as desired by the DNS
server.</t>
        <t>If the query contained the SDE EDNS option (<xref target="client-request"/>), and the DNS server returns an EDE code of "Blocked", "Filtered", "Censored", or "Blocked by Upstream DNS Server", the DNS server <bcp14>SHOULD</bcp14> include additional detail in the EXTRA-TEXT field encoded as structured and machine-readable data in accordance with the present specification, unless configured otherwise. If including the additional detail would cause the response to exceed the EDNS0 size <xref target="RFC9715"/> (and thus setting TC=1), the server <bcp14>SHOULD</bcp14> first attempt to reduce the response size by omitting the "j" and "o" fields before omitting the EXTRA-TEXT entirely. In deployments using DoT, DoH, or DoQ, transport size limitations are unlikely to necessitate omission of structured data in the EXTRA-TEXT field.</t>
        <t>If the SDE option OPTION-DATA is non-empty and the server intends
to populate the "j" or "o" fields, the server <bcp14>MUST</bcp14> perform
<xref target="RFC4647"/> lookup matching against the language entries in the
order they appear, selecting the first entry for which localised
text is available. If a match is found, the server <bcp14>SHOULD</bcp14> populate
the "j" and "o" fields in the matched language; either field <bcp14>MAY</bcp14> be
omitted if the server has no value to convey for it. If either field
is present, the server <bcp14>MUST</bcp14> set the "l" field to the matched language
tag. If no match is found, the server <bcp14>MUST</bcp14> fall back to its default
language. A failure to match a preferred language <bcp14>MUST NOT</bcp14> prevent
the server from returning a response.</t>
        <t>Language negotiation adversely affects caching, as different clients
may request different languages for the same filtered domain.</t>
        <t>A server receiving an SDE option with unrecognised or malformed
OPTION-DATA <bcp14>MUST</bcp14> silently ignore the OPTION-DATA and process the
option as if OPTION-LENGTH were 0.</t>
        <t>If the SDE option was not present in the DNS request, the DNS server <bcp14>MUST</bcp14> process the request in accordance with <xref target="RFC8914"/> and <bcp14>MUST NOT</bcp14> assume that the client supports this specification. This preserves compatibility with clients and servers that implement <xref target="RFC8914"/> but do not support this specification.</t>
        <t>Servers <bcp14>MAY</bcp14> decide to return small TTL values in filtered DNS
responses (e.g., 10 seconds) to handle domain category and reputation
updates. Short TTLs allow for quick adaptation to dynamic changes in domain filtering decisions,
but can result in increased query traffic. In cases where updates are less frequent,
TTL values of 30 to 60 seconds <bcp14>MAY</bcp14> provide a better balance, reducing server load while
still ensuring reasonable flexibility for updates.</t>
        <t>If the query includes the SDE option as per <xref target="client-request"/>, the server <bcp14>MUST
NOT</bcp14> return the "Forged Answer" extended error code because the client
can take advantage of EDE's more sophisticated error reporting (e.g.,
"Filtered" or "Blocked").  Continuing to send "Forged
Answer" even to an EDE-supporting client will cause the persistence of
the drawbacks described in <xref target="existing-techniques"/>.</t>
        <t>When the "Censored" extended error code is included in the DNS response,
the "c", "j", "o", and "l" fields may be conveyed in the EXTRA-TEXT field.
The sub-error codes defined in this specification are not applicable to
the "Censored" extended error code and <bcp14>MUST NOT</bcp14> be used in conjunction with it.
Future specifications may update this behavior by defining sub-error codes
applicable to "Censored".</t>
      </section>
      <section anchor="client-processing">
        <name>Client Processing Response</name>
        <t>On receipt of a DNS response with an EDE option from a
DNS server, the following ordered actions are performed on the EXTRA-TEXT
field:</t>
        <ol spacing="normal" type="1"><li>
            <t>If the integrity of the DNS response is not guaranteed, the
DNS client <bcp14>MUST NOT</bcp14> act upon data in the EXTRA-TEXT field, as the data
is vulnerable to
modification by an on-path attacker. An attacker can inject or
modify a structured DNS error response in transit without detection,
enabling fabrication of filtering information (e.g., misleading contact
information or false resolver identity information) that appears to
originate from the resolver. The data <bcp14>MAY</bcp14> be retained for diagnostic or
client security policy evaluation purposes.</t>
          </li>
          <li>
            <t>The DNS response <bcp14>MUST</bcp14> also contain an EDE code of
"Blocked by Upstream DNS Server", "Blocked", "Censored", or "Filtered" <xref target="RFC8914"/>,
otherwise the EXTRA-TEXT field is discarded.</t>
          </li>
          <li>
            <t>Servers that do not support this specification might use plain text in the
EXTRA-TEXT field. DNS clients <bcp14>SHOULD</bcp14> handle both plaintext and structured content. The client attempts to parse the EXTRA-TEXT field as I-JSON. If parsing fails or the content is not valid I-JSON, the client <bcp14>MUST</bcp14> treat the data as invalid, <bcp14>MUST NOT</bcp14> process it according to this specification. The client <bcp14>MAY</bcp14> instead process the EXTRA-TEXT field as unstructured text as specified in <xref target="RFC8914"/>.</t>
          </li>
          <li>
            <t>If the JSON object contains an "s" field and the sub-error code
is not defined as applicable to the accompanying Extended DNS Error
(EDE) code, the client <bcp14>MUST</bcp14> ignore the value of the "s" field
and continue processing the remaining fields in accordance with this
specification.</t>
          </li>
          <li>
            <t>If the EXTRA-TEXT field does not contain at least one of the JSON
names "c", "j", or "s", or if all of the fields that are present have
empty values, the entire JSON object <bcp14>MUST</bcp14> be discarded.</t>
          </li>
          <li>
            <t>If the JSON object contains a "c" field any of its Contact URIs
with schemes not registered in the <xref target="IANA-Contact"/> registry are
ignored. Remaining Contact URIs using registered schemes can be
processed.</t>
          </li>
          <li>
            <t>If the identity of the DNS server cannot be verified (e.g., when
using opportunistic privacy such as <xref section="5" sectionFormat="of" target="RFC8310"/> or opportunistic discovery <xref target="RFC9462"/>), the DNS client <bcp14>MUST</bcp14> ignore the "c", "j", and "o" fields, as these fields may influence end user behavior and are vulnerable to active attacks in the absence of resolver authentication. If the DNS response was received over an encrypted connection without server authentication, the client <bcp14>MAY</bcp14> process the "s" field and other parts of the response, as the "s" field is a registry-defined, enumerated value and does not contain free-form text.</t>
          </li>
          <li>
            <t>If the DNS client uses an authenticated connection to the DNS server (e.g., when
using a strict privacy profile for DoT (<xref section="5" sectionFormat="of" target="RFC8310"/>) or an authenticated DoH or DoQ connection), this mitigates both passive eavesdropping and client redirection (at the expense of providing no DNS service if such a connection is not available). In such cases, the DNS client <bcp14>MAY</bcp14> process the EXTRA-TEXT field of the DNS response.</t>
          </li>
          <li>
            <t>The DNS client <bcp14>MUST</bcp14> ignore any other JSON names that it does not support.</t>
          </li>
        </ol>
        <ul empty="true">
          <li>
            <t>Note that the strict and opportunistic privacy profiles as defined in <xref target="RFC8310"/> only apply to DoT; there has been
no such distinction made for DoH.</t>
          </li>
        </ul>
      </section>
      <section anchor="SDE">
        <name>Structured DNS Error (SDE) EDNS(0) Option Format</name>
        <t>The Structured DNS Error (SDE) EDNS(0) option is used by a client to
indicate support for I-JSON encoding in the EXTRA-TEXT field of an
Extended DNS Error (EDE) option.</t>
        <t>The SDE option <bcp14>MAY</bcp14> carry an OPTION-DATA field containing an ordered
list of preferred languages. The OPTION-LENGTH field indicates the
total length of the OPTION-DATA in octets. An OPTION-LENGTH of 0
indicates no language preference and is semantically equivalent to
the absence of OPTION-DATA.</t>
        <t>The OPTION-DATA, when present, contains a
comma-separated list of <xref target="RFC5646"/> language tags, ordered
from most to least preferred, bounded by OPTION-LENGTH. The
language tags never contain commas, making the comma an unambiguous
delimiter. Parsing <bcp14>MUST</bcp14> be bounded by OPTION-LENGTH to prevent
buffer overread. For example, a client preferring US English then
French encodes:</t>
        <artwork><![CDATA[
en-US,fr
]]></artwork>
        <t>The presence of the SDE option in a query indicates that the client
supports processing the EXTRA-TEXT field in accordance with this
specification.</t>
      </section>
    </section>
    <section anchor="new-sub-error-codes-definition">
      <name>New Sub-Error Codes Definition</name>
      <t>The document defines the following new IANA-registered Sub-Error codes. See <xref target="IANA-SubError"/>.</t>
      <section anchor="policy-reserved">
        <name>Reserved</name>
        <t>This sub-error code value <bcp14>MUST NOT</bcp14> be sent. If received, it has no meaning.</t>
      </section>
      <section anchor="policy-network">
        <name>Network Operator Policy</name>
        <t>The code indicates that the request was filtered according to a policy imposed by the operator of the local network (where local network is a relative term, e.g., it may refer to a Local Area Network or to the network of the ISP selected by the end user).</t>
      </section>
      <section anchor="policy-dns">
        <name>DNS Operator Policy</name>
        <t>The code indicates that the request was filtered according to policy determined by the operator of the DNS server. This is different from the "Network Operator Policy" code when a third-party DNS resolver is used.</t>
      </section>
    </section>
    <section anchor="new-extended-dns-errors">
      <name>New Extended DNS Errors</name>
      <t>This document defines an addition to the EDE codes defined in <xref target="RFC8914"/>.</t>
      <section anchor="extended-dns-error-code-tba1-blocked-by-upstream-dns-server">
        <name>Extended DNS Error Code TBA1 - Blocked by Upstream DNS Server</name>
        <t>The DNS server is unable to respond to the request
because the domain is on a blocklist due to an internal security policy
imposed by an upstream DNS server. This error code
is useful in deployments where a network-provided DNS forwarder
is configured to use an external resolver that filters malicious
domains. When the DNS forwarder receives a Blocked (15) error code
from the upstream DNS server, it can replace it with
"Blocked by Upstream DNS Server" (TBA1) before forwarding
the reply to the DNS client. Additionally, the EXTRA-TEXT field may
be forwarded to the DNS client.</t>
        <t>Implementations should ensure that the communication channel with the
upstream DNS server provides adequate integrity protection to mitigate
the threats described in step 1 of <xref target="client-processing"/>.</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>An example showing the nameserver at 'ns.example.net' that filtered a
DNS "A" record query for 'example.org' is provided in <xref target="example-json"/>.</t>
      <figure anchor="example-json">
        <name>JSON Returned in EXTRA-TEXT Field of Extended DNS Error Response</name>
        <artwork><![CDATA[
{
  "c": [
    "tel:+358-555-1234567",
    "sips:bob@bobphone.example.com"
  ],
  "j": "malware present for 23 days",
  "s": 1,
  "o": "example.net Filtering Service",
  "l": "en"
}
]]></artwork>
      </figure>
      <t>In <xref target="example-json-minified"/> the same content is shown with minified JSON (no
whitespace, no blank lines) with <tt>'\'</tt> line wrapping per <xref target="RFC8792"/>.</t>
      <figure anchor="example-json-minified">
        <name>Minified Response</name>
        <artwork><![CDATA[
{ "c":["tel:+358-555-1234567","sips:bob@bobphone.example.com"],\
"j":"malware present for 23 days",\
"s":1,\
"o":"example.net Filtering Service",\
"l":"en" }
]]></artwork>
      </figure>
      <t><xref target="example-dig"/> shows how the SDE and EDE options appear in a <tt>dig</tt> response for the same query.</t>
      <figure anchor="example-dig">
        <name>dig Response Showing SDE and EDE Options</name>
        <artwork><![CDATA[
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; OPT=TBD1 (Structured DNS Error): [en-US, fr]
; EDE: 15 (Blocked): ({"c":["tel:+358-555-1234567",\
  "sips:bob@bobphone.example.com"],"j":"malware present for 23 days",\
  "s":1,"o":"example.net Filtering Service","l":"en"})
]]></artwork>
      </figure>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>When a forwarder receives an EDE option, whether or not (and how) to pass along JSON information in the
EXTRA-TEXT field to its client is implementation-dependent <xref target="RFC5625"/> and depends on operator policy. Implementations <bcp14>MAY</bcp14> choose not to
forward the JSON information, or they <bcp14>MAY</bcp14> choose to create a new EDE option that conveys the information in the
"c", "s", and "j" fields encoded in the JSON object.</t>
      <t>The application that triggered the DNS request may have a client security policy to override the contact information (e.g., redirect all complaint calls to a single contact point). In such cases, the content of the "c" attribute <bcp14>MAY</bcp14> be ignored.</t>
      <section anchor="backward-compatibility">
        <name>Backward Compatibility</name>
        <t>Future extensions <bcp14>MUST NOT</bcp14> introduce mandatory JSON attributes, as existing implementations are required to ignore unknown JSON names (see <xref target="client-processing"/>).</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="authentication-and-confidentiality">
        <name>Authentication and Confidentiality</name>
        <t>Security considerations in <xref section="6" sectionFormat="of" target="RFC8914"/> apply to this
document. <xref target="RFC8914"/> cautions against relying on EDE information because it may be unauthenticated and transmitted in cleartext. This specification assumes the use of authenticated, integrity-protected DNS transports (e.g., DoT, DoH, or DoQ). Such transports <bcp14>MUST</bcp14> be based on TLS 1.3 <xref target="RFC8446"/> or later.  Under these conditions, EDE information is integrity-protected, reducing the risks associated with relying on structured EDE content.</t>
        <t>To minimize impact of active on-path attacks on the DNS channel, the
client validates the response as described in <xref target="client-processing"/>.</t>
      </section>
      <section anchor="restrictions-on-display-of-c-o-and-j-fields">
        <name>Restrictions on Display of "c", "o", and "j" Fields</name>
        <t>A client might choose to display the information in the "c" field
to the end user if and only if the encrypted resolver has sufficient
reputation, according to some client security policy (e.g.,
administrative configuration, or a built-in list of respectable
resolvers). This limits the ability of a malicious encrypted resolver
to cause harm. For example, an end user can use the details in the "c" field to contact an attacker
to solve the problem of being unable to reach a domain. The attacker can mislead the end user to
install malware or spyware to compromise the device security posture or mislead the end user to reveal
personal data.
If the client decides not to display all of the
information in the EXTRA-TEXT field, it can be logged for diagnostics
purpose and the client can only display the resolver hostname that
blocked the domain, error description for the EDE code and the
sub-error description for the "s" field to the end user.</t>
        <t>The same client security policy considerations apply to the display of the "j" field, as it
contains free-form, human-readable text that may influence end user behavior.</t>
        <t>When displaying the free-form text of "o", the client <bcp14>MUST
NOT</bcp14> make any of those elements into actionable (clickable) links and these
fields need to be rendered as text, not as HTML. The contact details of "c" can be made
into clickable links to provide a convenient way for end users to initiate, e.g., voice calls. The client might
choose to display the contact details only when the identity of the DNS server is verified.</t>
        <t>Clients <bcp14>MUST NOT</bcp14> automatically initiate connections to URIs derived from the EXTRA-TEXT field. Doing so could allow a resolver to silently report client activity to third parties, enable denial-of-service reflection attacks, or be used to entrap a client. The restriction of Contact URI schemes to "sips", "tel", and "mailto" is intentional, as these schemes do not result in automatic HTTP connections.</t>
        <t>Further, clients <bcp14>MUST NOT</bcp14> display the value of the <tt>"o"</tt> field to the end user unless one of the following
conditions is met:</t>
        <ul spacing="normal">
          <li>
            <t>The value matches a registered organization name listed in the <xref target="IANA-Enterprise"/> OR</t>
          </li>
          <li>
            <t>The value consists solely of an organization name and does not contain any additional free-form content such
as instructions, URLs, or messaging intended to influence end user behavior, as determined by client security policy or heuristics.</t>
          </li>
        </ul>
        <t>If the organization name cannot be verified through registry checks or heuristics, the client <bcp14>MUST NOT</bcp14> display the "o" field to the end user.</t>
        <t>DNS clients <bcp14>MAY</bcp14> keep all fields conveyed in the EXTRA-TEXT field for evaluation according to the client security  policy. Such data <bcp14>MUST NOT</bcp14> be automatically trusted, displayed to end users, or used to influence security decisions without appropriate validation.</t>
      </section>
      <section anchor="security-risks-from-legacy-dns-forwarders">
        <name>Security Risks from Legacy DNS Forwarders</name>
        <t>An attacker might inject (or modify) the EDE EXTRA-TEXT field with a
DNS proxy or DNS forwarder that is unaware of EDE. Such a DNS proxy or
DNS forwarder will forward that attacker-controlled EDE option.  To
prevent such an attack, clients can be configured to process EDE from
explicitly configured DNS servers or utilize RESINFO
<xref target="RFC9606"/>.</t>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>The EXTRA-TEXT field may reveal details about the filtering organization and its policies. Clients <bcp14>MUST NOT</bcp14> log or transmit the contents of the EXTRA-TEXT field to third parties without the end user's knowledge.</t>
        <t>This specification requires the use of an encrypted DNS transport (e.g., DoT, DoH, or DoQ), which protects both the DNS query and the structured error response from passive observers.</t>
      </section>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document requests five IANA actions as described in the following subsections.</t>
      <ul empty="true">
        <li>
          <t>Notes to the RFC Editor: Please replace RFCXXXX with the RFC number assigned to this document and "TBA1" with the value assigned by IANA, and replace "TBD1" in <xref target="example-dig"/> with the value assigned by IANA.</t>
        </li>
      </ul>
      <section anchor="structured-dns-error-edns-option">
        <name>Structured DNS Error EDNS Option</name>
        <t>IANA is requested to register the following new EDNS(0) Option Code in the
"DNS EDNS0 Option Codes (OPT)" registry under the "Domain Name System (DNS) Parameters" registry group <xref target="IANA-DNS"/>:</t>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>TBD</t>
          </dd>
          <dt>Name:</dt>
          <dd>
            <t>Structured DNS Error</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>Standard</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>RFC XXXX</t>
          </dd>
        </dl>
        <t>Note: The OPTION-DATA for this option carries an optional ordered
list of preferred languages as defined in <xref target="SDE"/>.
An OPTION-LENGTH of 0 indicates no language preference.</t>
      </section>
      <section anchor="IANA-Names">
        <name>New Registry for JSON Names</name>
        <t>This document requests IANA to create a new registry, entitled "EXTRA-TEXT JSON Names"
under "Extended DNS Error Codes" registry, which is under the "Domain Name System (DNS) Parameters" registry group <xref target="IANA-DNS"/>. The registration request for a new JSON name must include the following fields:</t>
        <dl>
          <dt>JSON Name:</dt>
          <dd>
            <t>Specifies the name of an attribute that is present in the JSON data enclosed in EXTRA-TEXT field. The name must follow the guidelines in <xref target="name-spec"/>.</t>
          </dd>
          <dt>Field Meaning:</dt>
          <dd>
            <t>Provides a brief, human-readable label summarizing the purpose of the JSON attribute.</t>
          </dd>
          <dt>Short description:</dt>
          <dd>
            <t>Includes a short description of the requested JSON name.</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>Provides a pointer to the reference document that specifies the attribute.</t>
          </dd>
        </dl>
        <t>The registry is initially populated with the following values:</t>
        <table anchor="reg-names">
          <name>Initial JSON Names Registry</name>
          <thead>
            <tr>
              <th align="center">JSON Name</th>
              <th align="left">Field Meaning</th>
              <th align="left">Description</th>
              <th align="center">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">c</td>
              <td align="left">contact</td>
              <td align="left">The contact details of the IT/InfoSec team to report misclassified DNS filtering</td>
              <td align="center">
                <xref target="name-spec"/> of RFCXXXX</td>
            </tr>
            <tr>
              <td align="center">j</td>
              <td align="left">justification</td>
              <td align="left">UTF-8-encoded <xref target="RFC5198"/> textual justification for a particular DNS filtering</td>
              <td align="center">
                <xref target="name-spec"/> of RFCXXXX</td>
            </tr>
            <tr>
              <td align="center">s</td>
              <td align="left">sub-error</td>
              <td align="left">Integer representing the sub-error code for this DNS filtering case</td>
              <td align="center">
                <xref target="name-spec"/> of RFCXXXX</td>
            </tr>
            <tr>
              <td align="center">o</td>
              <td align="left">organization</td>
              <td align="left">UTF-8-encoded human-friendly name of the organization that filtered this particular DNS query</td>
              <td align="center">
                <xref target="name-spec"/> of RFCXXXX</td>
            </tr>
            <tr>
              <td align="center">l</td>
              <td align="left">language</td>
              <td align="left">Indicates the language of the "j" and "o" fields as defined in <xref target="RFC5646"/></td>
              <td align="center">
                <xref target="name-spec"/> of RFCXXXX</td>
            </tr>
          </tbody>
        </table>
        <t>New JSON names are registered via IETF Review (<xref section="4.8" sectionFormat="of" target="RFC8126"/>) and their formatting
constraints are described in <xref target="name-spec"/>.</t>
      </section>
      <section anchor="IANA-Contact">
        <name>New Registry for Contact URI Scheme</name>
        <t>This document requests IANA to create a new registry, entitled "Contact URI Schemes"
under "Extended DNS Error Codes"
registry, which is under the "Domain Name System (DNS) Parameters" registry group <xref target="IANA-DNS"/>. The registration request for a new Contact URI scheme has to include the
following fields:</t>
        <ul spacing="normal">
          <li>
            <t>Name: URI scheme name.</t>
          </li>
          <li>
            <t>Meaning: Provides a short description of the scheme.</t>
          </li>
          <li>
            <t>Reference: Provides a pointer to an IETF-approved specification that defines
the URI scheme.</t>
          </li>
        </ul>
        <t>The Contact URI scheme registry is initially populated with the
following schemes:</t>
        <table>
          <thead>
            <tr>
              <th align="center">Name</th>
              <th align="left">Meaning</th>
              <th align="center">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">sips</td>
              <td align="left">SIP Call</td>
              <td align="center">
                <xref target="RFC5630"/></td>
            </tr>
            <tr>
              <td align="center">tel</td>
              <td align="left">Telephone Number</td>
              <td align="center">
                <xref target="RFC3966"/></td>
            </tr>
            <tr>
              <td align="center">mailto</td>
              <td align="left">Internet mail</td>
              <td align="center">
                <xref target="RFC6068"/></td>
            </tr>
          </tbody>
        </table>
        <t>The registration procedure for adding new Contact URI schemes to the "Contact URI Schemes" registry is "IETF
Review" as defined in <xref section="4.8" sectionFormat="of" target="RFC8126"/>.</t>
      </section>
      <section anchor="IANA-SubError">
        <name>New Registry for DNS Sub-Error Codes</name>
        <t>This document requests IANA to create a new registry, entitled "Sub-Error Codes"
under "Extended DNS Error Codes" registry, which is under the "Domain Name System (DNS) Parameters" registry group <xref target="IANA-DNS"/>. The registration request for a new sub-error code must include the
following fields:</t>
        <ul spacing="normal">
          <li>
            <t>Number: Is the wire format sub-error code (range 0-255).</t>
          </li>
          <li>
            <t>Meaning: Provides a short description of the sub-error.</t>
          </li>
          <li>
            <t>EDE Codes Applicability: Indicates which Extended DNS Error (EDE) Codes apply to this sub-error code.</t>
          </li>
          <li>
            <t>Reference: Provides a pointer to an IETF-approved specification that registered
the code and/or an authoritative specification that describes the
meaning of this code.</t>
          </li>
        </ul>
        <t>The Sub-Error Code registry is initially populated with the
following values:</t>
        <table anchor="reg">
          <name>Initial Sub-Error Code Registry</name>
          <thead>
            <tr>
              <th align="center">Number</th>
              <th align="left">Meaning</th>
              <th align="left">EDE Codes Applicability</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0</td>
              <td align="left">Reserved</td>
              <td align="left">Not used</td>
              <td align="left">
                <xref target="policy-reserved"/> of this document</td>
            </tr>
            <tr>
              <td align="center">1</td>
              <td align="left">Malware</td>
              <td align="left">"Blocked", "Blocked by Upstream DNS Server", "Filtered"</td>
              <td align="left">Section 5.5 of <xref target="RFC5901"/></td>
            </tr>
            <tr>
              <td align="center">2</td>
              <td align="left">Phishing</td>
              <td align="left">"Blocked", "Blocked by Upstream DNS Server", "Filtered"</td>
              <td align="left">Section 5.5 of <xref target="RFC5901"/></td>
            </tr>
            <tr>
              <td align="center">3</td>
              <td align="left">Spam</td>
              <td align="left">"Blocked", "Blocked by Upstream DNS Server", "Filtered"</td>
              <td align="left">Page 289 of <xref target="RFC4949"/></td>
            </tr>
            <tr>
              <td align="center">4</td>
              <td align="left">Spyware</td>
              <td align="left">"Blocked", "Blocked by Upstream DNS Server", "Filtered"</td>
              <td align="left">Page 291 of <xref target="RFC4949"/></td>
            </tr>
            <tr>
              <td align="center">5</td>
              <td align="left">Network operator policy</td>
              <td align="left">"Blocked"</td>
              <td align="left">
                <xref target="policy-network"/> of this document</td>
            </tr>
            <tr>
              <td align="center">6</td>
              <td align="left">DNS operator policy</td>
              <td align="left">"Blocked"</td>
              <td align="left">
                <xref target="policy-dns"/> of this document</td>
            </tr>
          </tbody>
        </table>
        <t>The registration procedure to add New Sub-Error Codes is IETF Review as defined in <xref section="4.8" sectionFormat="of" target="RFC8126"/>.</t>
      </section>
      <section anchor="new-extended-dns-error-code">
        <name>New Extended DNS Error Code</name>
        <t>IANA is requested to assign the following Extended DNS Error code from the "Extended DNS Error Codes"
registry under the "Domain Name System (DNS) Parameters" registry group <xref target="IANA-DNS"/>:</t>
        <table anchor="reg-ede">
          <name>New DNS Error Code</name>
          <thead>
            <tr>
              <th align="center">INFO-CODE</th>
              <th align="left">Purpose</th>
              <th align="center">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">TBA1</td>
              <td align="left">Blocked by Upstream DNS Server</td>
              <td align="center">RFCXXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8914">
          <front>
            <title>Extended DNS Errors</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="E. Hunt" initials="E." surname="Hunt"/>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <author fullname="D. Lawrence" initials="D." surname="Lawrence"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>This document defines an extensible method to return additional information about the cause of DNS errors. Though created primarily to extend SERVFAIL to provide additional information about the cause of DNS and DNSSEC failures, the Extended DNS Errors option defined in this document allows all response types to contain extended error information. Extended DNS Error information does not change the processing of RCODEs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8914"/>
          <seriesInfo name="DOI" value="10.17487/RFC8914"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="9499"/>
          <seriesInfo name="DOI" value="10.17487/RFC9499"/>
        </reference>
        <reference anchor="RFC7493">
          <front>
            <title>The I-JSON Message Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="March" year="2015"/>
            <abstract>
              <t>I-JSON (short for "Internet JSON") is a restricted profile of JSON designed to maximize interoperability and increase confidence that software can process it successfully with predictable results.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7493"/>
          <seriesInfo name="DOI" value="10.17487/RFC7493"/>
        </reference>
        <reference anchor="RFC5198">
          <front>
            <title>Unicode Format for Network Interchange</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="M. Padlipsky" initials="M." surname="Padlipsky"/>
            <date month="March" year="2008"/>
            <abstract>
              <t>The Internet today is in need of a standardized form for the transmission of internationalized "text" information, paralleling the specifications for the use of ASCII that date from the early days of the ARPANET. This document specifies that format, using UTF-8 with normalization and specific line-ending sequences. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5198"/>
          <seriesInfo name="DOI" value="10.17487/RFC5198"/>
        </reference>
        <reference anchor="RFC5646">
          <front>
            <title>Tags for Identifying Languages</title>
            <author fullname="A. Phillips" initials="A." role="editor" surname="Phillips"/>
            <author fullname="M. Davis" initials="M." role="editor" surname="Davis"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object. It also describes how to register values for use in language tags and the creation of user-defined extensions for private interchange. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="47"/>
          <seriesInfo name="RFC" value="5646"/>
          <seriesInfo name="DOI" value="10.17487/RFC5646"/>
        </reference>
        <reference anchor="RFC4647">
          <front>
            <title>Matching of Language Tags</title>
            <author fullname="A. Phillips" initials="A." role="editor" surname="Phillips"/>
            <author fullname="M. Davis" initials="M." role="editor" surname="Davis"/>
            <date month="September" year="2006"/>
            <abstract>
              <t>This document describes a syntax, called a "language-range", for specifying items in a user's list of language preferences. It also describes different mechanisms for comparing and matching these to language tags. Two kinds of matching mechanisms, filtering and lookup, are defined. Filtering produces a (potentially empty) set of language tags, whereas lookup produces a single language tag. Possible applications include language negotiation or content selection. This document, in combination with RFC 4646, replaces RFC 3066, which replaced RFC 1766. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="47"/>
          <seriesInfo name="RFC" value="4647"/>
          <seriesInfo name="DOI" value="10.17487/RFC4647"/>
        </reference>
        <reference anchor="RFC8310">
          <front>
            <title>Usage Profiles for DNS over TLS and DNS over DTLS</title>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
            <author fullname="D. Gillmor" initials="D." surname="Gillmor"/>
            <author fullname="T. Reddy" initials="T." surname="Reddy"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document discusses usage profiles, based on one or more authentication mechanisms, which can be used for DNS over Transport Layer Security (TLS) or Datagram TLS (DTLS). These profiles can increase the privacy of DNS transactions compared to using only cleartext DNS. This document also specifies new authentication mechanisms -- it describes several ways that a DNS client can use an authentication domain name to authenticate a (D)TLS connection to a DNS server. Additionally, it defines (D)TLS protocol profiles for DNS clients and servers implementing DNS over (D)TLS. This document updates RFC 7858.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8310"/>
          <seriesInfo name="DOI" value="10.17487/RFC8310"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC5630">
          <front>
            <title>The Use of the SIPS URI Scheme in the Session Initiation Protocol (SIP)</title>
            <author fullname="F. Audet" initials="F." surname="Audet"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>This document provides clarifications and guidelines concerning the use of the SIPS URI scheme in the Session Initiation Protocol (SIP). It also makes normative changes to SIP. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5630"/>
          <seriesInfo name="DOI" value="10.17487/RFC5630"/>
        </reference>
        <reference anchor="RFC3966">
          <front>
            <title>The tel URI for Telephone Numbers</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <date month="December" year="2004"/>
            <abstract>
              <t>This document specifies the URI (Uniform Resource Identifier) scheme "tel". The "tel" URI describes resources identified by telephone numbers. This document obsoletes RFC 2806. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3966"/>
          <seriesInfo name="DOI" value="10.17487/RFC3966"/>
        </reference>
        <reference anchor="RFC6068">
          <front>
            <title>The 'mailto' URI Scheme</title>
            <author fullname="M. Duerst" initials="M." surname="Duerst"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="J. Zawinski" initials="J." surname="Zawinski"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>This document defines the format of Uniform Resource Identifiers (URIs) to identify resources that are reached using Internet mail. It adds better internationalization and compatibility with Internationalized Resource Identifiers (IRIs; RFC 3987) to the previous syntax of 'mailto' URIs (RFC 2368). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6068"/>
          <seriesInfo name="DOI" value="10.17487/RFC6068"/>
        </reference>
        <reference anchor="RFC5901">
          <front>
            <title>Extensions to the IODEF-Document Class for Reporting Phishing</title>
            <author fullname="P. Cain" initials="P." surname="Cain"/>
            <author fullname="D. Jevans" initials="D." surname="Jevans"/>
            <date month="July" year="2010"/>
            <abstract>
              <t>This document extends the Incident Object Description Exchange Format (IODEF) defined in RFC 5070 to support the reporting of phishing events, which is a particular type of fraud. These extensions are flexible enough to support information gleaned from activities throughout the entire electronic fraud cycle -- from receipt of the phishing lure to the disablement of the collection site. Both simple reporting and complete forensic reporting are possible, as is consolidating multiple incidents. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5901"/>
          <seriesInfo name="DOI" value="10.17487/RFC5901"/>
        </reference>
        <reference anchor="RFC4949">
          <front>
            <title>Internet Security Glossary, Version 2</title>
            <author fullname="R. Shirey" initials="R." surname="Shirey"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>This Glossary provides definitions, abbreviations, and explanations of terminology for information system security. The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026). The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="36"/>
          <seriesInfo name="RFC" value="4949"/>
          <seriesInfo name="DOI" value="10.17487/RFC4949"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IANA-DNS" target="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#extended-dns-error-codes">
          <front>
            <title>Domain Name System (DNS) Parameters, Extended DNS Error Codes</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RPZ" target="https://dnsrpz.info">
          <front>
            <title>Response Policy Zone</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="Impl-1" target="https://datatracker.ietf.org/meeting/116/materials/slides-116-dnsop-dns-errors-implementation-proposal-slides-116-dnsop-update-on-dns-errors-implementation-00">
          <front>
            <title>Use of DNS Errors To improve Browsing User Experience With network based malware protection</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="March"/>
          </front>
        </reference>
        <reference anchor="IANA-Enterprise" target="https://www.iana.org/assignments/enterprise-numbers/">
          <front>
            <title>Private Enterprise Numbers (PENs)</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC7754">
          <front>
            <title>Technical Considerations for Internet Service Blocking and Filtering</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="O. Kolkman" initials="O." surname="Kolkman"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <date month="March" year="2016"/>
            <abstract>
              <t>The Internet is structured to be an open communications medium. This openness is one of the key underpinnings of Internet innovation, but it can also allow communications that may be viewed as undesirable by certain parties. Thus, as the Internet has grown, so have mechanisms to limit the extent and impact of abusive or objectionable communications. Recently, there has been an increasing emphasis on "blocking" and "filtering", the active prevention of such communications. This document examines several technical approaches to Internet blocking and filtering in terms of their alignment with the overall Internet architecture. When it is possible to do so, the approach to blocking and filtering that is most coherent with the Internet architecture is to inform endpoints about potentially undesirable services, so that the communicants can avoid engaging in abusive or objectionable communications. We observe that certain filtering and blocking approaches can cause unintended consequences to third parties, and we discuss the limits of efficacy of various approaches.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7754"/>
          <seriesInfo name="DOI" value="10.17487/RFC7754"/>
        </reference>
        <reference anchor="RFC8484">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="RFC7858">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="RFC9250">
          <front>
            <title>DNS over Dedicated QUIC Connections</title>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>This document describes the use of QUIC to provide transport confidentiality for DNS. The encryption provided by QUIC has similar properties to those provided by TLS, while QUIC transport eliminates the head-of-line blocking issues inherent with TCP and provides more efficient packet-loss recovery than UDP. DNS over QUIC (DoQ) has privacy properties similar to DNS over TLS (DoT) specified in RFC 7858, and latency characteristics similar to classic DNS over UDP. This specification describes the use of DoQ as a general-purpose transport for DNS and includes the use of DoQ for stub to recursive, recursive to authoritative, and zone transfer scenarios.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9250"/>
          <seriesInfo name="DOI" value="10.17487/RFC9250"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC9715">
          <front>
            <title>IP Fragmentation Avoidance in DNS over UDP</title>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <date month="January" year="2025"/>
            <abstract>
              <t>The widely deployed Extension Mechanisms for DNS (EDNS(0)) feature in the DNS enables a DNS receiver to indicate its received UDP message size capacity, which supports the sending of large UDP responses by a DNS server. Large DNS/UDP messages are more likely to be fragmented, and IP fragmentation has exposed weaknesses in application protocols. It is possible to avoid IP fragmentation in DNS by limiting the response size where possible and signaling the need to upgrade from UDP to TCP transport where necessary. This document describes techniques to avoid IP fragmentation in DNS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9715"/>
          <seriesInfo name="DOI" value="10.17487/RFC9715"/>
        </reference>
        <reference anchor="RFC9462">
          <front>
            <title>Discovery of Designated Resolvers</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <author fullname="T. Jensen" initials="T." surname="Jensen"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document defines Discovery of Designated Resolvers (DDR), a set of mechanisms for DNS clients to use DNS records to discover a resolver's encrypted DNS configuration. An Encrypted DNS Resolver discovered in this manner is referred to as a "Designated Resolver". These mechanisms can be used to move from unencrypted DNS to encrypted DNS when only the IP address of a resolver is known. These mechanisms are designed to be limited to cases where Unencrypted DNS Resolvers and their Designated Resolvers are operated by the same entity or cooperating entities. It can also be used to discover support for encrypted DNS protocols when the name of an Encrypted DNS Resolver is known.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9462"/>
          <seriesInfo name="DOI" value="10.17487/RFC9462"/>
        </reference>
        <reference anchor="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="RFC5625">
          <front>
            <title>DNS Proxy Implementation Guidelines</title>
            <author fullname="R. Bellis" initials="R." surname="Bellis"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document provides guidelines for the implementation of DNS proxies, as found in broadband gateways and other similar network devices. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="152"/>
          <seriesInfo name="RFC" value="5625"/>
          <seriesInfo name="DOI" value="10.17487/RFC5625"/>
        </reference>
        <reference anchor="RFC9606">
          <front>
            <title>DNS Resolver Information</title>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies a method for DNS resolvers to publish information about themselves. DNS clients can use the resolver information to identify the capabilities of DNS resolvers. How DNS clients use such information is beyond the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9606"/>
          <seriesInfo name="DOI" value="10.17487/RFC9606"/>
        </reference>
      </references>
    </references>
    <?line 820?>

<section anchor="interoperation-with-rpz-servers">
      <name>Interoperation with RPZ Servers</name>
      <t>This appendix provides a non-normative guidance for operation with a Response Policy Zones (RPZ) server <xref target="RPZ"/> that
indicates filtering with a NXDOMAIN response with the Recursion
Available bit cleared (RA=0). This guidance is provided to ease interoperation with RPZ.</t>
      <t>When a DNS client supports this specification, it includes the
SDE option in its DNS query.</t>
      <t>If the server does not support this specification and is performing
RPZ filtering, the server ignores the SDE option in the DNS query and
replies with NXDOMAIN and RA=0. The DNS client can continue to accept
such responses.</t>
      <t>If the server does support this specification and is performing RPZ
filtering, the server can use the SDE option in the query to identify
an SDE-aware client and respond appropriately (that is, by generating
a response described in <xref target="server-response"/>) as NXDOMAIN and RA=0
are not necessary when generating a response to such a client.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <ul empty="true">
        <li>
          <t>Note to the RFC Editor: please remove this appendix prior publication.</t>
        </li>
      </ul>
      <t>At IETF#116, Gianpaolo Scalone (Vodafone) and Ralf Weber (Akamai) presented an implementation of this specification. More details can be found at <xref target="Impl-1"/>.</t>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Vittorio Bertola, Wes Hardaker, Ben Schwartz, Erid Orth,
Viktor Dukhovni, Warren Kumari, Paul Wouters, John Levine, Bob
Harold, Mukund Sivaraman, Gianpaolo Angelo Scalone, Mark Nottingham, Stephane Bortzmeyer, Daniel Migault, and Stephen Farrell for the comments.</t>
      <t>Thanks to Ralf Weber and Gianpaolo Scalone for sharing details about their implementation.</t>
      <t>Thanks Petr Špaček, Di Ma and Matt Brown for the DNSDIR reviews, Joseph Salowey for the SECDIR review, and Paul Kyzivat for the ARTART review.</t>
      <t>Thanks to Éric Vyncke for the AD review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9V9WXcb2ZHme/6KO9BDEW4AErWVxLLdpkTKYlsLTVJe22cq
ASTALCYy4cwEKZZKfp+H+Q/9W2b5XxNfRNwtkaDktuecGZ1uFwFk3iVu7Nsd
j8dJm7dFdmAG5229mbWbOpub47quanOUtqlZ0B+v8qLN8P3Ru/NBkk6ndXYd
v0A/yEuDZJa22bKqbw9M086TzXpOn5sD8+z5/uMkmVezMl3RbPM6XbTjPGsX
43nZVOtx4wbDF+MMg40LvNsmzWa6ypsmr8r2dk0vnxxfvErKzWqa1QcJxj9I
ZlXZZGWzoZlooCyh9T1K0jpLaZ0nJa2+zNpBclPVV8u62qzpWyz5/Tqr05bG
bczv6ae8XJpf4+dBcpXd0sPzg8SMzctN01arrDbZR3o+z8pZhq9PSoLNijY/
z2Y5Focv2zotmzVNXM5u8Tkr63x2SQ8tsmw+TWdXSXKdlRtasTF2JQyAAX0h
uxt0lmLMKs0L+9yvALNJVS/xQ1rPLumHy7ZdNwf37+M5fJVfZxP72H18cX9a
VzdNdp9HuI83l3l7uZnSu3wEN0s5hftfdSx4X04mmDsaZyLDT/Lq60b8uqcm
l+2qGCRJ06bl/L+mRVUStG6zJlnnB+bPbTUbmaaq2zpbNPTX7Ur/aOkE2pGZ
VatVVrb0DSHhKl2vCcR/SZJ0015WNc6ZdmXMYlMUgqFHaWl+T8/w1wTItMx/
ZFw5MC9zGvOjOb9t2mxFA56Uswk/ZklDHuCvZtWmbEENH8q8JTw4bwE5Uy3M
IaFUPkv5qcwecVre0Jy/WuLzhJY82F7YRV5vVmmRNTdpbc6y+fy2Z4nvqqtc
hp7lLc3+Ii2XBLE64+/qbMlP/SatSyLyqzRe6kk5z+N1XVXlvM3rO9f1LssL
87KqrnqWQ4RWjv8wu6RVZL1g+Q3tel6toknLjOeqrn5VVrTXjP6ebK56Zn5b
XaYgxBfVZpbO07zuW0Ht5iaMyDLC3bOsLAl7ZDlzGufRkwcPHsTLe0WvzbJo
WSuZbTK1s/2q4rEFLElSElegSa+JxpOceYT9ZMzJ4bvDMXGeAx7RKOs9qmjo
0ryjYRWpzB49NDSnaU3fEfciJDv+2GblPOS1BOy5rt84NJZ/Y/tHFwwDrGCg
s6f1EnCwJHxzczPJ0zIVtkH8dlkyxYBtjNduKZ2Pk48gy3uZLi/g3jO/PGbS
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
uutLSFviocvqLiDwoAv4YNEb0oYvVCFwWhpZlZz0tZG6YBkv1JXduTq9UZMx
kmAuVmVrF6lIwyD0GztAmS2rNleJOEekGSRiYzcz5m5LEQ35gjUdFydPJEVJ
zDv/q1dIrYuLO/Y4d7AmucA4cELAF79t6fObEgJwWeaNKDOrtBAbJwkJTg4r
LzhnViM1WxZDYMMIFaxtdJvwJ9Z8bpBF96CXzm9SyfdwiQ+hecbA2JI7QrxB
VoWFWo+ciOPloWkQJmUH5uQdprGGoXmlNXLJbYaipFfwfFY/wlRRroFv9hQt
Ce5ql1oldZ29pt+5jgVKhUo1z4KSo4bLBS4u3lhvKAEiTOJ3FVfOrbT/ANG9
ihgnKl0l0SPzmXia44RN1Nl6I3zfNqOdmHN2qNB8jZRCMmr+dYOcXRLb69al
Jc1vSV/NZ0Y6V/K6dI7tIG4zSgAM6YSD9H48TbIa+numCpttpMVCjGsaNEPT
dnmAZGLpv6gl5XuUBGAhkQT/U2Weuu0zQL3HVJsqTNMCKDQSgSyZV4x6RZXO
NdFG0tfYMvLxKskfKrKPFikAGQu3js6nelPTpYid6SFbrA8NFSwOMFuNC8D7
Evmc29KjfAKQc08aVzwJSJEC+U0jFmhTwWPbsgPGDiZZG9i5oFQSVJQHyuRg
ODGcgZAjZXQpVXVcIM5LTdxSkW+kRfJHx2OlhaBFHkdQ/NIJQvBhqreI+fS8
Tm8gBr6uBdMkMC68ItwLMslGlkhSj/dolGgixQgCeATpq0XwhRPDkvR9h9PI
akJ9Dv0oyLudTUQHxLUmPgrZVslXbCvihjbwmXPewg+bcuZlRs75ftDj4qll
W4LdsjJXUzS91VJvzpyLtpNECw0WOQldnqferRAYiEoR3ufwGd1+ROKtW5/O
GiR8iw8r8MKxHE8DV+FIPVA2s0n9XUhZc9qubytQ9bv7DpJk31U6+Yxrtb67
OfM4L5eMLSoN8u+D/Awvpmzi3F0atEvixkMYieawpQeCD/Sd1Fgq1kg/PVuW
aVNHOWvUftAYJwcLpSSLR7iNA0suezjYYCnGQ966+BrSTRicXJPjsiQX6bS2
KyJQBd7XII/GVj7nTUFWIbMESUDijQYPohwZrU9tm7zaVwcGjw3VkcuKeqOw
qep8KWUpLrPZDqL9hAB9jazWmdrqYO5BGqsA6YtdLcJemQ8n2zUVfPRSqu/9
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
/G91PjO/uy1JwPrHj9yj/wfN63qCTawAAA==

-->

</rfc>
