<?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.31 (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-17" category="std" consensus="true" submissionType="IETF" updates="8914" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.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-17"/>
    <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="February" day="26"/>
    <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. 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 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>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"/>. It 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 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>"Requestor" refers to the side that sends a request. "Responder"
refers to an authoritative, recursive resolver, or other DNS component
that responds to questions.</t>
      <t>"Encrypted DNS" refers to any encrypted scheme to convey DNS messages,
for example, DNS-over-HTTPS <xref target="RFC8484"/>, DNS-over-TLS <xref target="RFC7858"/>, or
DNS-over-QUIC <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>The term "DNS server" refers to a DNS recursive resolver or
a DNS forwarder that generates DNS structured error responses.</t>
      <t>In this document, "client security policy evaluation" refers to implementation-defined
decision-making performed by the DNS client or consuming application to
determine how, or whether, structured error information is used, displayed,
or acted upon.</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>
      <ol spacing="normal" type="1"><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 authority component
of an HTTP(S) 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. If the authority component
of an HTTP URL is blocked, the network security device intercepts
the HTTP request and returns a block page over HTTP. If the authority component
of an HTTPS URL is blocked, the network security device serves 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>However, 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 and the
hostname being requested. This information will be sensitive, as it will expose the user's identity and the
domain name that a 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 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 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 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 user from
revealing sensitive information to the attacker, etc. A user may need to
know the contact details of the IT/InfoSec team to raise a complaint.</t>
        </li>
      </ol>
    </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"/> encoded using the Internet JSON (I-JSON) message format <xref target="RFC7493"/>.</t>
      <ul empty="true">
        <li>
          <t>Note that <xref target="RFC7493"/> was based on <xref target="RFC7159"/>, but <xref target="RFC7159"/> was replaced by <xref target="RFC8259"/>.</t>
        </li>
      </ul>
      <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>
        <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>RECOMMENDED</bcp14> to aid in localization.</t>
        </dd>
      </dl>
      <t>New JSON names can be defined in the IANA registry introduced in <xref target="IANA-Names"/>. Such 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.</t>
      <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>If the client supports diagnostic interfaces, it <bcp14>MAY</bcp14> use the "l" field to identify
the language of the "j" text and optionally translate it for IT administrators.</t>
      <t>The "o" field <bcp14>MAY</bcp14> be displayed to end users, subject to the conditions described in <xref target="security"/>.
If the text is in a language not understood by the end-user, the "l" field can be used
to identify the language and support translation into the end-user's preferred language.</t>
      <t>To reduce DNS message size the generated JSON <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>
    </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>MUST</bcp14> include the Structured DNS Error (SDE) option defined in <xref target="SDE"/>.</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>
      </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 indicating blocking or modification of the response,
the DNS server <bcp14>MUST</bcp14> include additional detail in the EXTRA-TEXT field encoded
as structured and machine-readable data.</t>
        <t>If the SDE option is not present, the DNS server <bcp14>MUST NOT</bcp14> include
structured JSON data and <bcp14>MUST</bcp14> convey the EXTRA-TEXT field as
human-readable text in accordance with <xref target="RFC8914"/>.</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>Because the DNS client explicitly signals support for structured error
information using the SDE option (<xref target="client-request"/>), and because the
EDE option is carried in the non-cached OPT pseudo-RR
(<xref section="6.2.1" sectionFormat="of" target="RFC6891"/>), the DNS server can tailor its
filtered response to the capabilities of the client.</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", "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 responder, the following ordered actions are performed on the EXTRA-TEXT
field:</t>
        <ol spacing="normal" type="1"><li>
            <t>If the DNS response is not received over an encrypted DNS channel, the
requestor <bcp14>MUST NOT</bcp14> act upon data in the EXTRA-TEXT field, as there is no
mechanism to verify the integrity of such data and it 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>Servers which don't support this specification might use plain text
in the EXTRA-TEXT field. Requestors <bcp14>SHOULD</bcp14> properly handle
both plaintext and JSON text in the EXTRA-TEXT field. The requestor verifies that
the field contains valid JSON. If not, the requestor <bcp14>MUST</bcp14> consider
the server does not support this specification and stop processing
the rest of the actions defined in this section, but may instead choose
to treat EXTRA-TEXT as per <xref target="RFC8914"/>.</t>
          </li>
          <li>
            <t>The EXTRA-TEXT field <bcp14>MUST</bcp14> be an I-JSON message <xref target="RFC7493"/>. If the client fails
to parse the field as valid JSON, it <bcp14>MUST</bcp14> treat the data as invalid and
<bcp14>MUST NOT</bcp14> process it according to this specification.  The client <bcp14>MAY</bcp14> process
the EXTRA-TEXT field as unstructured text as specified in <xref target="RFC8914"/>.</t>
          </li>
          <li>
            <t>The DNS response <bcp14>MUST</bcp14> also contain an extended error 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>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 a Contact URI in the "c" field uses a scheme not registered
in the <xref target="IANA-Contact"/> registry, those URIs are discarded. Contact
URIs using registered schemes can be processed.</t>
          </li>
          <li>
            <t>If the DNS client has enabled the opportunistic privacy profile for DoT
(<xref section="5" sectionFormat="of" target="RFC8310"/>) and the identity of the DNS server cannot be
verified, the DNS client <bcp14>MUST</bcp14> ignore the "c", "j", and "o" fields, as
these fields may influence user behavior and are vulnerable to active
attacks in the absence of resolver authentication. If the DNS response was
received over an encrypted connection, 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>In opportunistic discovery <xref target="RFC9462"/>, where only the IP address of the
DNS server is validated and the server identity is not authenticated,
the DNS client <bcp14>MUST</bcp14> ignore the "c", "j", and "o" fields.
If the DNS response was received over an encrypted connection, the client
<bcp14>MAY</bcp14> process the "s" field and other parts of the response.</t>
          </li>
          <li>
            <t>If a DNS client has enabled strict privacy profile (<xref section="5" sectionFormat="of" target="RFC8310"/>) for DoT, the DNS client
requires an encrypted connection
  and successful authentication of the DNS server. In doing so, this mitigates both
  passive eavesdropping and client redirection (at the expense of
  providing no DNS service if an encrypted, authenticated connection
  is not available). If the DNS client has enabled strict privacy
  profile for DoT, 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 has no OPTION-DATA. The OPTION-LENGTH field <bcp14>MUST</bcp14>
be set to 0. A server receiving an SDE option with a non-zero
OPTION-LENGTH <bcp14>MUST</bcp14> ignore the option.</t>
        <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.</t>
      <section anchor="policy-reserved">
        <name>Reserved</name>
        <ul spacing="normal">
          <li>
            <t>Number: 0</t>
          </li>
          <li>
            <t>Meaning: Reserved. This sub-error code value <bcp14>MUST NOT</bcp14> be sent. If received, it has no meaning.</t>
          </li>
          <li>
            <t>Applicability: This code should never be used.</t>
          </li>
          <li>
            <t>Reference: This-Document</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
        </ul>
      </section>
      <section anchor="policy-network">
        <name>Network Operator Policy</name>
        <ul spacing="normal">
          <li>
            <t>Number: 5</t>
          </li>
          <li>
            <t>Meaning: Network Operator Policy. 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 user).</t>
          </li>
          <li>
            <t>Applicability: Blocked</t>
          </li>
          <li>
            <t>Reference: This-Document</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
        </ul>
      </section>
      <section anchor="policy-dns">
        <name>DNS Operator Policy</name>
        <ul spacing="normal">
          <li>
            <t>Number: 6</t>
          </li>
          <li>
            <t>Meaning: DNS Operator Policy. 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>
          </li>
          <li>
            <t>Applicability: Blocked</t>
          </li>
          <li>
            <t>Reference:  This-Document</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
        </ul>
      </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 (e.g., a DNS forwarder) 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>
      </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>
    </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>
    <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, except the guard against using EDE content to alter DNS protocol
processing. The guard is relaxed in the current specification as it mandates
DNS encryption and recommends the use of an authenticated connection to the DNS
server, while <xref target="RFC8914"/> assumes that EDE information is unauthenticated
and sent over clear text.</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., user configuration,
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 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>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>
    <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>Note to the RFC Editor: Please replace RFCXXXX with the RFC number assigned to this document and "TBA1" 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>
      </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>Mandatory (Y/N?):</dt>
          <dd>
            <t>Indicates whether this attribute is mandatory or optional.</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="left">Mandatory</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="left">N</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="left">N</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="left">N</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="left">N</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="left">N</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"/>).</t>
        <t>The "Mandatory" column is informational only. This specification does not define any mandatory JSON names.
To preserve backward compatibility, any new JSON names registered after publication of this document <bcp14>MUST</bcp14> set the “Mandatory” column to “N”. Future extensions cannot introduce mandatory JSON attributes, as existing implementations are required to ignore unknown JSON names (see <xref target="client-processing"/>).</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="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="RFC7159">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7159"/>
          <seriesInfo name="DOI" value="10.17487/RFC7159"/>
        </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="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="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="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="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="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC6891">
          <front>
            <title>Extension Mechanisms for DNS (EDNS(0))</title>
            <author fullname="J. Damas" initials="J." surname="Damas"/>
            <author fullname="M. Graff" initials="M." surname="Graff"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>The Domain Name System's wire protocol includes a number of fixed fields whose range has been or soon will be exhausted and does not allow requestors to advertise their capabilities to responders. This document describes backward-compatible mechanisms for allowing the protocol to grow.</t>
              <t>This document updates the Extension Mechanisms for DNS (EDNS(0)) specification (and obsoletes RFC 2671) based on feedback from deployment experience in several implementations. It also obsoletes RFC 2673 ("Binary Labels in the Domain Name System") and adds considerations on the use of extended labels in the DNS.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="75"/>
          <seriesInfo name="RFC" value="6891"/>
          <seriesInfo name="DOI" value="10.17487/RFC6891"/>
        </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 786?>

<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, Vladimir Cunat, and Daniel Migault for the comments.</t>
      <t>Thanks to Ralf Weber and Gianpaolo Scalone for sharing details about their implementation.</t>
      <t>Thanks Di Ma and Matt Brown for the DNS directorate reviews, and Joseph Salowey for the Security directorate review.</t>
      <t>Thanks Paul Kyzivat for the Art review.</t>
      <t>Thanks to Éric Vyncke for the AD review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
