<?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.30 (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-16" 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-16"/>
    <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="02"/>
    <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 in the OPT pseudo-RR.</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>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
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>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. 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 extended error code of
"Blocked by Upstream Server", "Blocked" or "Filtered" <xref target="RFC8914"/>, otherwise
the EXTRA-TEXT field is discarded.</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 "c" field contains any contact URIs that use a scheme not registered
in the <xref target="IANA-Contact"/> registry, only those URIs <bcp14>MUST</bcp14> be 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. The client <bcp14>MAY</bcp14>
process the "s" field and other parts of the response.</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.
 The DNS 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>
          <li>
            <t>If the EXTRA-TEXT field does not conform to the I-JSON requirements <xref target="RFC7493"/>,
the client <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>
        </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>
    <section anchor="deployment-considerations">
      <name>Deployment 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"/>. 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="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. Typically, when the DNS forwarder receives a Blocked (15) error code from the upstream DNS server, it will replace it with "Blocked by Upstream DNS Server" (TBA1) before forwarding the reply to the DNS client. Additionally, the EXTRA-TEXT field is 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="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
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>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 assign a new EDNS(0) Option Code from the
"DNS EDNS0 Option Codes" registry with the following properties:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Structured DNS Error</td>
              <td align="left">TBD</td>
              <td align="left">Signals client support for structured JSON in EDE EXTRA-TEXT</td>
              <td align="left">RFCXXXX</td>
            </tr>
          </tbody>
        </table>
      </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 "Domain Name System (DNS) Parameters, Extended DNS Error Codes"
registry <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.</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 "Domain Name System (DNS) Parameters, Extended DNS Error Codes"
registry <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 be 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 "Domain Name System (DNS) Parameters, Extended DNS Error Codes"
registry <xref target="IANA-DNS"/>. The registration request for a new sub-error codes <bcp14>MUST</bcp14> 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>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 be 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 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 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 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 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 are registered via 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 "Domain Name System (DNS) Parameters, Extended DNS Error Codes"
registry <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 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="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="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="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 748?>

<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, 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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
PQqPZtn/BUPxRNrskgAA

-->

</rfc>
