<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-structured-dns-error-23" category="std" consensus="true" submissionType="IETF" updates="8914" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.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-23"/>
    <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="June" day="25"/>
    <area>Internet</area>
    <workgroup>DNS Operations Working Group</workgroup>
    <keyword>Customer experience</keyword>
    <keyword>Informed decision</keyword>
    <keyword>transparency</keyword>
    <keyword>enriched feedback</keyword>
    <abstract>
      <?line 86?>

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

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

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

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

<section anchor="interoperation-with-rpz-servers">
      <name>Interoperation with RPZ Servers</name>
      <t>This appendix provides a non-normative guidance for operation with a Response Policy Zones (RPZ) server <xref target="RPZ"/> that
indicates filtering with a NXDOMAIN response with the Recursion
Available bit cleared (RA=0). This guidance is provided to ease interoperation with RPZ.</t>
      <t>When a DNS client supports this specification, it includes the
SDE option in its DNS query.</t>
      <t>If the server does not support this specification and is performing
RPZ filtering, the server ignores the SDE option in the DNS query and
replies with NXDOMAIN and RA=0. The DNS client can continue to accept
such responses.</t>
      <t>If the server does support this specification and is performing RPZ
filtering, the server can use the SDE option in the query to identify
an SDE-aware client and respond appropriately (that is, by generating
a response described in <xref target="server-response"/>) as NXDOMAIN and RA=0
are not necessary when generating a response to such a client.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <ul empty="true">
        <li>
          <t>Note to the RFC Editor: please remove this appendix prior publication.</t>
        </li>
      </ul>
      <t>At IETF#116, Gianpaolo Scalone (Vodafone) and Ralf Weber (Akamai) presented an implementation of this specification. More details can be found at <xref target="Impl-1"/>.</t>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Vittorio Bertola, Wes Hardaker, Ben Schwartz, Erid Orth,
Viktor Dukhovni, Warren Kumari, Paul Wouters, John Levine, Bob
Harold, Mukund Sivaraman, Gianpaolo Angelo Scalone, Mark Nottingham, Stephane Bortzmeyer, Daniel Migault, Lars Eggert, and Stephen Farrell for the comments.</t>
      <t>Thanks to Ralf Weber and Gianpaolo Scalone for sharing details about their implementation.</t>
      <t>Thanks Petr Špaček, Di Ma and Matt Brown for the DNSDIR reviews, Joseph Salowey for the SECDIR review, and Paul Kyzivat for the ARTART review.</t>
      <t>Thanks to Éric Vyncke for the AD review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9V9WXfb2LXmO37FufSDxVyStjyVrUrqRrbkWDceFElOpZKb
1QWSIIUSCDAAKFlV5X7vh/4P97f08L96f3vvM4Gg7UrSa3V7ZaVEEmfaZ88T
xuNx0uZtkR2YwXlbb2btps7m5riuq9ocpW1qFvTHy7xoM3x/9PZ8kKTTaZ1d
xwPoBxk0SGZpmy2r+vbANO082azn9Lk5ME+f7T9Kknk1K9MVrTav00U7zrN2
MZ6XTbUeN24yfDHOMNm4wNg2aTbTVd40eVW2t2safHJ88TIpN6tpVh8kmP8g
mVVlk5XNhlaiibKE9vcwSesspX2elLT7MmsHyU1VXy3rarOmb7Hld+usTlua
tzHf0k95uTS/w8+D5Cq7pYfnB4kZmxebpq1WWW2yD/R8npWzDF+flASbFR1+
ns1ybA5ftnVaNmtauJzd4nNW1vnskh5aZNl8ms6ukuQ6Kze0Y2PsThgAA/pC
TjfobMWYVZoX9rnfAmaTql7ih7SeXdIPl227bg7u3cNz+Cq/zib2sXv44t60
rm6a7B7PcA8jl3l7uZnSWL6Cm6Xcwr0vuhaMl5sJ1o7mmcj0k7z6shm/7KnJ
ZbsqBknStGk5/y9pUZUErdusSdb5gflLW81Gpqnqts4WDf11u9I/WrqBdmRm
1WqVlS19Q0i4StdrAvFfkyTdtJdVjXumUxmz2BSFYOhRWppv6Rn+mgCZlvmP
jCsH5kVOc34w57dNm61owpNyNuHHLGnIA/zVrNqULajhfZm3hAfnLSBnqoU5
JJTKZyk/ldkrTssbWvO3S3ye0JYH2xu7yOvNKi2y5iatzVk2n9/2bPFtdZXL
1LO8pdWfp+WSIFZn/F2dLfmp36d1SUR+lcZbPSnnebyvq6qct3n9yX29zfLC
vKiqq57tEKGV4z/NLmkXWS9Yfk+nnleraNEy47Wqq9+WFZ01o78nm6ueld9U
lykI8Xm1maXzNK/7dlC7tQkjsoxw9ywrS8Ie2c6c5nn4+P79+/H2XtKwWRZt
ayWrTaZ2td9WPLeAJUlK4gq06DXReJIzj7CfjDk5fHs4Js5zwDMaZb1HFU1d
mrc0rSKV2aOHhuY0rek74l6EZMcf2qych7yWgD3X/RuHxvJvbP/ogmGAHQx0
9bReAg6WhG9ubiZ5WqbCNojfLkumGLCN8dptpfNx8gFkeSfT7QXce+a3x0za
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
40fu0f8Dqc911cSgAAA=

-->

</rfc>
