<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<xep xmlns="">
  <header>
    <title>XMPP Compliance Suites 2022</title>
    <abstract>
      This document defines XMPP application categories for different use cases
      (Core, Web, IM, and Mobile), and specifies the required XEPs that client and
      server software needs to implement for compliance with the use cases.
    </abstract>
    
<legal>
<copyright>This XMPP Extension Protocol is copyright © 1999 – 2024 by the <link url="https://xmpp.org/">XMPP Standards Foundation</link> (XSF).</copyright>
<permissions>Permission is hereby granted, free of charge, to any person obtaining a copy of this specification (the "Specification"), to make use of the Specification without restriction, including without limitation the rights to implement the Specification in a software program, deploy the Specification in a network service, and copy, modify, merge, publish, translate, distribute, sublicense, or sell copies of the Specification, and to permit persons to whom the Specification is furnished to do so, subject to the condition that the foregoing copyright notice and this permission notice shall be included in all copies or substantial portions of the Specification. Unless separate permission is granted, modified works that are redistributed shall not contain misleading information regarding the authors, title, number, or publisher of the Specification, and shall not claim endorsement of the modified works by the authors, any organization or project to which the authors belong, or the XMPP Standards Foundation.</permissions>
<warranty>## NOTE WELL: This Specification is provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. ##</warranty>
<liability>In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the XMPP Standards Foundation or any author of this Specification be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising from, out of, or in connection with the Specification or the implementation, deployment, or other use of the Specification (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if the XMPP Standards Foundation or such author has been advised of the possibility of such damages.</liability>
<conformance>This XMPP Extension Protocol has been contributed in full conformance with the XSF's Intellectual Property Rights Policy (a copy of which can be found at &lt;<link url="https://xmpp.org/about/xsf/ipr-policy">https://xmpp.org/about/xsf/ipr-policy</link>&gt; or obtained by writing to XMPP Standards Foundation, P.O. Box 787, Parker, CO 80134 USA).</conformance>
</legal>
    <number>0459</number>
    <status>Obsolete</status>
    <lastcall>2021-09-21</lastcall>
    <type>Standards Track</type>
    <sig>Standards</sig>
    <approver>Council</approver>
    <dependencies>
      <spec>RFC 6120</spec>
      <spec>RFC 6121</spec>
      <spec>RFC 7395</spec>
      <spec>RFC 7590</spec>
      <spec>RFC 7622</spec>
      <spec>XEP-0030</spec>
      <spec>XEP-0045</spec>
      <spec>XEP-0048</spec>
      <spec>XEP-0049</spec>
      <spec>XEP-0084</spec>
      <spec>XEP-0085</spec>
      <spec>XEP-0114</spec>
      <spec>XEP-0115</spec>
      <spec>XEP-0124</spec>
      <spec>XEP-0163</spec>
      <spec>XEP-0191</spec>
      <spec>XEP-0198</spec>
      <spec>XEP-0206</spec>
      <spec>XEP-0223</spec>
      <spec>XEP-0249</spec>
      <spec>XEP-0280</spec>
      <spec>XEP-0313</spec>
      <spec>XEP-0352</spec>
      <spec>XEP-0368</spec>
      <spec>XEP-0402</spec>
    </dependencies>
    <supersedes>
      <spec>XEP-0443</spec>
    </supersedes>
    <supersededby>
      <spec>XEP-0479</spec>
    </supersededby>
    <shortname>CS2022</shortname>
    <author>
      <firstname>Sonny</firstname>
      <surname>Piers</surname>
      <email>sonny@fastmail.net</email>
      <jid>sonny@jabberfr.org</jid>
    </author>
  <revision>
    <version>1.1.0</version>
    <date>2021-12-01</date>
    <initials>egp</initials>
    <remark>
      <p>Replace deprecated XEP-0411 with XEP-0402 in Advanced Group Chat.</p>
    </remark>
  </revision>
  <revision>
    <version>1.0.0</version>
    <date>2021-11-09</date>
    <initials>XEP Editor (jsc)</initials>
    <remark>
      <p>Advance to Draft as per Council Vote from 2021-11-03.</p>
    </remark>
  </revision>
  <revision>
    <version>0.2.0</version>
    <date>2021-10-27</date>
    <initials>sp</initials>
    <remark>
      <ul>
        <li>Rename Core Server and Core Client to Server and Client</li>
        <li>Add XEP-0455 to Future Development section</li>
      </ul> 
    </remark>
  </revision>
  <revision>
    <version>0.1.1</version>
    <date>2021-10-06</date>
    <initials>gl</initials>
    <remark>Fix reference to XEP-0445 after its acceptance</remark>
  </revision>
  <revision>
    <version>0.1.0</version>
    <date>2021-06-22</date>
    <initials>XEP Editor (jsc)</initials>
    <remark>Accepted by vote of Council on 2021-05-26.</remark>
  </revision>
    <revision>
      <version>0.0.1</version>
      <date>2021-02-03</date>
      <initials>sp</initials>
      <remark>
        <p>First draft based on XEP-0443.</p>
      </remark>
    </revision>
  </header>
  <section1 topic="Introduction" anchor="intro">
    <p>
      There is a growing number of XMPP Extension Protocols (XEPs) that provide
      different building blocks for XMPP-based applications. XMPP software
      developers are confronted with the challenge of finding the right
      combination of XEPs for a given application profile. Users need a way to
      compare applications without resorting to comparing for individual XEP
      numbers.
    </p>
    <p>
      This document defines XMPP application <strong>Categories</strong> based on
      typical use cases (Core, Web, IM, Mobile) and <strong>Levels</strong>
      (Core, Advanced) based on functionality in the respective category. For
      each combination of those, the required XEPs are referenced. As the
      protocol landscape changes over time, this document is updated roughly
      once a year.
    </p>
    <p>
      For developers, this document provides guidance on which specifications
      they need to consider when implementing an application of a certain kind.
      By completing a compliance test or performing a self-assessment, they can
      advertise their implementation as compliant with a given Category and
      Level.
    </p>
    <p>
      For users, this provides an easy way to compare implementations based on
      their respective advertised compliance levels and year.
    </p>
    <p>
      Unless explicitly noted, support for the listed specifications is REQUIRED
      for compliance purposes.
      A feature is considered supported if all comma separated feature providers
      listed in the "Providers" column are implemented (unless otherwise noted).
    </p>
    <section2 topic="Changes since 2021" anchor="changes-2021">
      <p>The following changes were made to the Compliance Suites since <span class="ref"><link url="https://xmpp.org/extensions/xep-0443.html">XMPP Compliance Suites 2021 (XEP-0443)</link></span> <note>XEP-0443: XMPP Compliance Suites 2021 &lt;<link url="https://xmpp.org/extensions/xep-0443.html">https://xmpp.org/extensions/xep-0443.html</link>&gt;.</note>:</p>
      <ul>
        <li>Renamed "Core Client" and "Core Server" to "Client" and "Server"</li>
        <li>Web category:
          <ul>
            <li>Client: required Connection Mechanism Discovery.</li>
          </ul>
        </li>
        <li>IM category:
          <ul>
	    <li>Advanced Group Chat: replaced <span class="ref"><link url="https://xmpp.org/extensions/xep-0411.html">Bookmarks Conversion (XEP-0411)</link></span> <note>XEP-0411: Bookmarks Conversion &lt;<link url="https://xmpp.org/extensions/xep-0411.html">https://xmpp.org/extensions/xep-0411.html</link>&gt;.</note> with <span class="ref"><link url="https://xmpp.org/extensions/xep-0402.html">PEP Native Bookmarks (XEP-0402)</link></span> <note>XEP-0402: PEP Native Bookmarks &lt;<link url="https://xmpp.org/extensions/xep-0402.html">https://xmpp.org/extensions/xep-0402.html</link>&gt;.</note> conversion</li>
          </ul>
        </li>
      </ul>
    </section2>
    <section2 topic="Changes since 2020" anchor="changes-2020">
      <p>The following changes were made to the Compliance Suites since <span class="ref"><link url="https://xmpp.org/extensions/xep-0423.html">XMPP Compliance Suites 2020 (XEP-0423)</link></span> <note>XEP-0423: XMPP Compliance Suites 2020 &lt;<link url="https://xmpp.org/extensions/xep-0423.html">https://xmpp.org/extensions/xep-0423.html</link>&gt;.</note>:</p>
      <ul>
	<li>Introduced new category for <link url="#av">A/V Calling</link>.</li>
	<li>IM Category:
	  <ul>
	    <li>Specifications of note: added <span class="ref"><link url="https://xmpp.org/extensions/xep-0393.html">Message Styling (XEP-0393)</link></span> <note>XEP-0393: Message Styling &lt;<link url="https://xmpp.org/extensions/xep-0393.html">https://xmpp.org/extensions/xep-0393.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0433.html">Extended Channel Search (XEP-0433)</link></span> <note>XEP-0433: Extended Channel Search &lt;<link url="https://xmpp.org/extensions/xep-0433.html">https://xmpp.org/extensions/xep-0433.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0424.html">Message Retraction (XEP-0424)</link></span> <note>XEP-0424: Message Retraction &lt;<link url="https://xmpp.org/extensions/xep-0424.html">https://xmpp.org/extensions/xep-0424.html</link>&gt;.</note>, and <span class="ref"><link url="https://xmpp.org/extensions/xep-0425.html">Message Moderation (XEP-0425)</link></span> <note>XEP-0425: Message Moderation &lt;<link url="https://xmpp.org/extensions/xep-0425.html">https://xmpp.org/extensions/xep-0425.html</link>&gt;.</note></li>
	  </ul>
	</li>
      </ul>
    </section2>
    <section2 topic="Changes since 2019" anchor="changes">
      <p>The following changes were made to the Compliance Suites since <span class="ref"><link url="https://xmpp.org/extensions/xep-0412.html">XMPP Compliance Suites 2019 (XEP-0412)</link></span> <note>XEP-0412: XMPP Compliance Suites 2019 &lt;<link url="https://xmpp.org/extensions/xep-0412.html">https://xmpp.org/extensions/xep-0412.html</link>&gt;.</note>:</p>
      <ul>
	<li>IM Category:
	  <ul>
	    <li>Client: added <span class="ref"><link url="https://xmpp.org/extensions/xep-0245.html">The /me Command (XEP-0245)</link></span> <note>XEP-0245: The /me Command &lt;<link url="https://xmpp.org/extensions/xep-0245.html">https://xmpp.org/extensions/xep-0245.html</link>&gt;.</note></li>
	    <li>Client and Server: added <span class="ref"><link url="https://xmpp.org/extensions/xep-0363.html">HTTP File Upload (XEP-0363)</link></span> <note>XEP-0363: HTTP File Upload &lt;<link url="https://xmpp.org/extensions/xep-0363.html">https://xmpp.org/extensions/xep-0363.html</link>&gt;.</note></li>
	    <li>Advanced Client: added <span class="ref"><link url="https://xmpp.org/extensions/xep-0234.html">Jingle File Transfer (XEP-0234)</link></span> <note>XEP-0234: Jingle File Transfer &lt;<link url="https://xmpp.org/extensions/xep-0234.html">https://xmpp.org/extensions/xep-0234.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0261.html">Jingle In-Band Bytestreams Transport Method (XEP-0261)</link></span> <note>XEP-0261: Jingle In-Band Bytestreams Transport Method &lt;<link url="https://xmpp.org/extensions/xep-0261.html">https://xmpp.org/extensions/xep-0261.html</link>&gt;.</note></li>
	    <li>Advanced Client and Server: added <span class="ref"><link url="https://xmpp.org/extensions/xep-0411.html">Bookmarks Conversion (XEP-0411)</link></span> <note>XEP-0411: Bookmarks Conversion &lt;<link url="https://xmpp.org/extensions/xep-0411.html">https://xmpp.org/extensions/xep-0411.html</link>&gt;.</note></li>
	    <li>Specifications of note: added <span class="ref"><link url="https://xmpp.org/extensions/xep-0077.html">In-Band Registration (XEP-0077)</link></span> <note>XEP-0077: In-Band Registration &lt;<link url="https://xmpp.org/extensions/xep-0077.html">https://xmpp.org/extensions/xep-0077.html</link>&gt;.</note> and <span class="ref"><link url="https://xmpp.org/extensions/xep-0157.html">Contact Addresses for XMPP Services (XEP-0157)</link></span> <note>XEP-0157: Contact Addresses for XMPP Services &lt;<link url="https://xmpp.org/extensions/xep-0157.html">https://xmpp.org/extensions/xep-0157.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0392.html">Consistent Color Generation (XEP-0392)</link></span> <note>XEP-0392: Consistent Color Generation &lt;<link url="https://xmpp.org/extensions/xep-0392.html">https://xmpp.org/extensions/xep-0392.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0066.html">Out-of-Band Data (XEP-0066)</link></span> <note>XEP-0066: Out of Band Data &lt;<link url="https://xmpp.org/extensions/xep-0066.html">https://xmpp.org/extensions/xep-0066.html</link>&gt;.</note> and <span class="ref"><link url="https://xmpp.org/extensions/xep-0385.html">Stateless Inline Media Sharing (XEP-0385)</link></span> <note>XEP-0385: Stateless Inline Media Sharing (SIMS) &lt;<link url="https://xmpp.org/extensions/xep-0385.html">https://xmpp.org/extensions/xep-0385.html</link>&gt;.</note></li>
	  </ul>
	</li>
	<li>Mobile Category:
	  <ul>
	    <li>Specifications of note: added <span class="ref"><link url="https://xmpp.org/extensions/xep-0286.html">Mobile Considerations on LTE Networks (XEP-0286)</link></span> <note>XEP-0286: Mobile Considerations on LTE Networks &lt;<link url="https://xmpp.org/extensions/xep-0286.html">https://xmpp.org/extensions/xep-0286.html</link>&gt;.</note></li>
	  </ul>
	</li>
	<li>Web Category:
	  <ul>
	    <li>Advanced Web: added <span class="ref"><link url="https://xmpp.org/extensions/xep-0156.html">Discovering Alternative XMPP Connection Methods (XEP-0156)</link></span> <note>XEP-0156: Discovering Alternative XMPP Connection Methods &lt;<link url="https://xmpp.org/extensions/xep-0156.html">https://xmpp.org/extensions/xep-0156.html</link>&gt;.</note></li>
	  </ul>
	</li>
      </ul>
    </section2>
  </section1>
  <section1 topic="Compliance Categories" anchor="categories">
    <section2 topic="Core Compliance Suite" anchor="core">
      <table caption="XMPP Core Compliance Levels">
        <tr>
          <th>Feature</th>
          <th>Server</th>
          <th>Client</th>
          <th>Advanced Server</th>
          <th>Advanced Client</th>
          <th>Providers</th>
        </tr>
        <tr>
          <td><strong>Core features</strong></td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="http://tools.ietf.org/html/rfc6120">RFC 6120</link></span> <note>RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core &lt;<link url="http://tools.ietf.org/html/rfc6120">http://tools.ietf.org/html/rfc6120</link>&gt;.</note> <note><span class="ref"><link url="http://tools.ietf.org/html/rfc7622">RFC 7622</link></span> <note>RFC 7622: Extensible Messaging and Presence Protocol (XMPP): Address Format &lt;<link url="http://tools.ietf.org/html/rfc7622">http://tools.ietf.org/html/rfc7622</link>&gt;.</note> is not listed due to the unclear interoperability impact of using PRECIS and Stringprep in the same ecosystem.</note></td>
        </tr>
        <tr>
          <td><strong>TLS</strong></td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="http://tools.ietf.org/html/rfc7590">RFC 7590</link></span> <note>RFC 7590: Use of Transport Layer Security (TLS) in the Extensible Messaging and Presence Protocol (XMPP) &lt;<link url="http://tools.ietf.org/html/rfc7590">http://tools.ietf.org/html/rfc7590</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Direct TLS</strong></td>
          <td align="center">✕</td>
          <td align="center">✕</td>
          <td align="center">✓<note>Server support of XEP-0368 means having the ability to accept direct TLS connections.</note></td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0368.html">SRV records for XMPP over TLS (XEP-0368)</link></span> <note>XEP-0368: SRV records for XMPP over TLS &lt;<link url="https://xmpp.org/extensions/xep-0368.html">https://xmpp.org/extensions/xep-0368.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Feature discovery</strong></td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0030.html">Service Discovery (XEP-0030)</link></span> <note>XEP-0030: Service Discovery &lt;<link url="https://xmpp.org/extensions/xep-0030.html">https://xmpp.org/extensions/xep-0030.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Feature broadcasts</strong></td>
          <td align="center">✕</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0115.html">Entity Capabilities (XEP-0115)</link></span> <note>XEP-0115: Entity Capabilities &lt;<link url="https://xmpp.org/extensions/xep-0115.html">https://xmpp.org/extensions/xep-0115.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Server Extensibility</strong></td>
          <td align="center">✓</td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td align="center">N/A</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0114.html">Jabber Component Protocol (XEP-0114)</link></span> <note>XEP-0114: Jabber Component Protocol &lt;<link url="https://xmpp.org/extensions/xep-0114.html">https://xmpp.org/extensions/xep-0114.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Event publishing</strong></td>
          <td align="center">✕</td>
          <td align="center">✕</td>
          <td align="center">✓<note>While 'Personal Eventing Protocol' does not require all the features of 'Publish-Subscribe' to be available on the users' JIDs, and nor does this suite, it is desirable for this to be the case and it is expected that this will a requirement of future Compliance Suites.</note></td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0163.html">Personal Eventing Protocol (XEP-0163)</link></span> <note>XEP-0163: Personal Eventing Protocol &lt;<link url="https://xmpp.org/extensions/xep-0163.html">https://xmpp.org/extensions/xep-0163.html</link>&gt;.</note></td>
        </tr>
      </table>
    </section2>
    <section2 topic="Web Compliance Suite" anchor="web">
      <p>
        To be considered XMPP web compliant, all features from the core
        compliance category must be met, as well as all features in this suite.
      </p>
      <table caption="XMPP Web Compliance Levels">
        <tr>
          <th>Feature</th>
          <th>Server</th>
          <th>Client</th>
          <th>Advanced Server</th>
          <th>Advanced Client</th>
          <th>Providers</th>
        </tr>
        <tr>
          <td><strong>Web Connection Mechanisms</strong></td>
          <td align="center">✓<note>Support can be enabled via an external component or an internal server module/plugin. If claiming compliance using such an addition, the necessary components/modules/plugins MUST be detailed.</note></td>
          <td align="center">✓<note>Only one of the recommended providers must be implemented for compliance.</note></td>
          <td align="center">✓<note>Support can be enabled via an external component or an internal server module/plugin. If claiming compliance using such an addition, the necessary components/modules/plugins MUST be detailed.</note></td>
          <td align="center">✓<note>Only one of the recommended providers must be implemented for compliance.</note></td>
          <td><span class="ref"><link url="http://tools.ietf.org/html/rfc7395">RFC 7395</link></span> <note>RFC 7395: An Extensible Messaging and Presence Protocol (XMPP) Subprotocol for WebSocket &lt;<link url="http://tools.ietf.org/html/rfc7395">http://tools.ietf.org/html/rfc7395</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0206.html">XMPP Over BOSH (XEP-0206)</link></span> <note>XEP-0206: XMPP Over BOSH &lt;<link url="https://xmpp.org/extensions/xep-0206.html">https://xmpp.org/extensions/xep-0206.html</link>&gt;.</note> (See also: <span class="ref"><link url="https://xmpp.org/extensions/xep-0124.html">BOSH (XEP-0124)</link></span> <note>XEP-0124: Bidirectional-streams Over Synchronous HTTP &lt;<link url="https://xmpp.org/extensions/xep-0124.html">https://xmpp.org/extensions/xep-0124.html</link>&gt;.</note>)</td>
        </tr>
        <tr>
          <td><strong>Connection Mechanism Discovery</strong></td>
          <td align="center">✕</td>
          <td align="center">✓</td>
	  <td align="center">N/A</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0156.html">Discovering Alternative XMPP Connection Methods (XEP-0156)</link></span> <note>XEP-0156: Discovering Alternative XMPP Connection Methods &lt;<link url="https://xmpp.org/extensions/xep-0156.html">https://xmpp.org/extensions/xep-0156.html</link>&gt;.</note></td>
        </tr>
      </table>
    </section2>
    <section2 topic="IM Compliance Suite" anchor="im">
      <p>
        To be considered XMPP IM compliant, all features from the core
        compliance category must be met, as well as all features in this suite.
      </p>
      <table caption="XMPP IM Compliance Levels">
        <tr>
          <th>Feature</th>
          <th>Server</th>
          <th>Client</th>
          <th>Advanced Server</th>
          <th>Advanced Client</th>
          <th>Providers</th>
        </tr>
        <tr>
          <td><strong>Core features</strong></td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="http://tools.ietf.org/html/rfc6121">RFC 6121</link></span> <note>RFC 6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence &lt;<link url="http://tools.ietf.org/html/rfc6121">http://tools.ietf.org/html/rfc6121</link>&gt;.</note></td>
        </tr>
        <tr>
	  <td><strong>The /me Command</strong></td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0245.html">The /me Command (XEP-0245)</link></span> <note>XEP-0245: The /me Command &lt;<link url="https://xmpp.org/extensions/xep-0245.html">https://xmpp.org/extensions/xep-0245.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>User Avatars</strong></td>
          <td align="center">N/A</td>
          <td align="center">✕</td>
          <td align="center">N/A</td>
          <td align="center">✓<note>Not required for command line or terminal based interfaces.</note></td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0084.html">User Avatar (XEP-0084)</link></span> <note>XEP-0084: User Avatar &lt;<link url="https://xmpp.org/extensions/xep-0084.html">https://xmpp.org/extensions/xep-0084.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>User Avatar Compatibility</strong></td>
          <td align="center">✕</td>
          <td align="center">✕</td>
          <td align="center">✓</td>
          <td align="center">✓<note>Not required for command line or terminal based interfaces.</note></td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0398.html">User Avatar to vCard-Based Avatars Conversion (XEP-0398)</link></span> <note>XEP-0398: User Avatar to vCard-Based Avatars Conversion &lt;<link url="https://xmpp.org/extensions/xep-0398.html">https://xmpp.org/extensions/xep-0398.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0153.html">vCard-Based Avatars (XEP-0153)</link></span> <note>XEP-0153: vCard-Based Avatars &lt;<link url="https://xmpp.org/extensions/xep-0153.html">https://xmpp.org/extensions/xep-0153.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>vcard-temp</strong></td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0054.html">vcard-temp (XEP-0054)</link></span> <note>XEP-0054: vcard-temp &lt;<link url="https://xmpp.org/extensions/xep-0054.html">https://xmpp.org/extensions/xep-0054.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Outbound Message Synchronization</strong></td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0280.html">Message Carbons (XEP-0280)</link></span> <note>XEP-0280: Message Carbons &lt;<link url="https://xmpp.org/extensions/xep-0280.html">https://xmpp.org/extensions/xep-0280.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>User Blocking</strong></td>
          <td align="center">✕</td>
          <td align="center">✕</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0191.html">Blocking Command (XEP-0191)</link></span> <note>XEP-0191: Blocking Command &lt;<link url="https://xmpp.org/extensions/xep-0191.html">https://xmpp.org/extensions/xep-0191.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Group Chat</strong></td>
          <td align="center">✓<note>Support can be enabled via an external component or an internal server module/plugin. If claiming compliance using such an addition, the necessary components/modules/plugins MUST be detailed.</note></td>
          <td align="center">✓<note>Support for the Entity Use Cases and Occupant Use Cases is REQUIRED; support for the remaining use cases is RECOMMENDED.</note></td>
          <td align="center">✓<note>Support can be enabled via an external component or an internal server module/plugin. If claiming compliance using such an addition, the necessary components/modules/plugins MUST be detailed.</note></td>
          <td align="center">✓<note>Support for the Entity Use Cases and Occupant Use Cases is REQUIRED; support for the remaining use cases is RECOMMENDED.</note></td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0045.html">Multi-User Chat (XEP-0045)</link></span> <note>XEP-0045: Multi-User Chat &lt;<link url="https://xmpp.org/extensions/xep-0045.html">https://xmpp.org/extensions/xep-0045.html</link>&gt;.</note><note>Implementations should take note that future versions of these compliance suites may rely on <span class="ref"><link url="https://xmpp.org/extensions/xep-0369.html">Mediated Information eXchange (MIX) (XEP-0369)</link></span> <note>XEP-0369: Mediated Information eXchange (MIX) &lt;<link url="https://xmpp.org/extensions/xep-0369.html">https://xmpp.org/extensions/xep-0369.html</link>&gt;.</note> instead.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0249.html">Direct MUC Invitations (XEP-0249)</link></span> <note>XEP-0249: Direct MUC Invitations &lt;<link url="https://xmpp.org/extensions/xep-0249.html">https://xmpp.org/extensions/xep-0249.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Advanced Group Chat</strong></td>
          <td align="center">✕</td>
          <td align="center">✕</td>
          <td align="center">✓<note>Support can be enabled via an external component or an internal server module/plugin. If claiming compliance using such an addition, the necessary components/modules/plugins MUST be detailed.</note></td>
          <td align="center">✓</td>
	  <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0048.html">Bookmark Storage (XEP-0048)</link></span> <note>XEP-0048: Bookmark Storage &lt;<link url="https://xmpp.org/extensions/xep-0048.html">https://xmpp.org/extensions/xep-0048.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0313.html">Message Archive Management (XEP-0313)</link></span> <note>XEP-0313: Message Archive Management &lt;<link url="https://xmpp.org/extensions/xep-0313.html">https://xmpp.org/extensions/xep-0313.html</link>&gt;.</note><note>Support for requesting history from a MUC archive as opposed to from the user's account.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0402.html">PEP Native Bookmarks (XEP-0402)</link></span> <note>XEP-0402: PEP Native Bookmarks &lt;<link url="https://xmpp.org/extensions/xep-0402.html">https://xmpp.org/extensions/xep-0402.html</link>&gt;.</note><note>Usage of which should only happen when the 'urn:xmpp:bookmarks:1#compat' is exposed by the server, otherwise <span class="ref"><link url="https://xmpp.org/extensions/xep-0049.html">Private XML Storage (XEP-0049)</link></span> <note>XEP-0049: Private XML Storage &lt;<link url="https://xmpp.org/extensions/xep-0049.html">https://xmpp.org/extensions/xep-0049.html</link>&gt;.</note> should be used instead.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0410.html">MUC Self-Ping (Schrödinger's Chat) (XEP-0410)</link></span> <note>XEP-0410: MUC Self-Ping (Schrödinger's Chat) &lt;<link url="https://xmpp.org/extensions/xep-0410.html">https://xmpp.org/extensions/xep-0410.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Persistent Storage of Private Data via PubSub</strong></td>
          <td align="center">✕</td>
          <td align="center">✕</td>
          <td align="center">✓<note>Support can be enabled via an external component or an internal server module/plugin. If claiming compliance using such an addition, the necessary components/modules/plugins MUST be detailed.</note></td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0223.html">Best Practices for Persistent Storage of Private Data via Publish-Subscribe (XEP-0223)</link></span> <note>XEP-0223: Best Practices for Persistent Storage of Private Data via Publish-Subscribe &lt;<link url="https://xmpp.org/extensions/xep-0223.html">https://xmpp.org/extensions/xep-0223.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Private XML Storage</strong></td>
          <td align="center">✕</td>
          <td align="center">✕</td>
          <td align="center">✓<note>Support can be enabled via an external component or an internal server module/plugin. If claiming compliance using such an addition, the necessary components/modules/plugins MUST be detailed.</note></td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0049.html">Private XML Storage (XEP-0049)</link></span> <note>XEP-0049: Private XML Storage &lt;<link url="https://xmpp.org/extensions/xep-0049.html">https://xmpp.org/extensions/xep-0049.html</link>&gt;.</note> (only recommended for legacy bookmarks support)</td>
        </tr>
        <tr>
          <td><strong>Stream Management</strong></td>
          <td align="center">✕</td>
          <td align="center">✕</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0198.html">Stream Management (XEP-0198)</link></span> <note>XEP-0198: Stream Management &lt;<link url="https://xmpp.org/extensions/xep-0198.html">https://xmpp.org/extensions/xep-0198.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Message Acknowledgements</strong></td>
          <td align="center">N/A</td>
          <td align="center">✕</td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0184.html">Message Delivery Receipts  (XEP-0184)</link></span> <note>XEP-0184: Message Delivery Receipts &lt;<link url="https://xmpp.org/extensions/xep-0184.html">https://xmpp.org/extensions/xep-0184.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>History Storage / Retrieval</strong></td>
          <td align="center">✕</td>
          <td align="center">✕</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0313.html">Message Archive Management (XEP-0313)</link></span> <note>XEP-0313: Message Archive Management &lt;<link url="https://xmpp.org/extensions/xep-0313.html">https://xmpp.org/extensions/xep-0313.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Chat States</strong></td>
          <td align="center">N/A</td>
          <td align="center">✕</td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0085.html">Chat State Notifications (XEP-0085)</link></span> <note>XEP-0085: Chat State Notifications &lt;<link url="https://xmpp.org/extensions/xep-0085.html">https://xmpp.org/extensions/xep-0085.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Message Correction</strong></td>
          <td align="center">N/A</td>
          <td align="center">✕</td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0308.html">Last Message Correction (XEP-0308)</link></span> <note>XEP-0308: Last Message Correction &lt;<link url="https://xmpp.org/extensions/xep-0308.html">https://xmpp.org/extensions/xep-0308.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>File Upload</strong></td>
          <td align="center">✓<note>Support can be enabled via an external component or an internal server module/plugin. If claiming compliance using such an addition, the necessary components/modules/plugins MUST be detailed.</note></td>
          <td align="center">✓</td>
          <td align="center">✓<note>Support can be enabled via an external component or an internal server module/plugin. If claiming compliance using such an addition, the necessary components/modules/plugins MUST be detailed.</note></td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0363.html">HTTP File Upload (XEP-0363)</link></span> <note>XEP-0363: HTTP File Upload &lt;<link url="https://xmpp.org/extensions/xep-0363.html">https://xmpp.org/extensions/xep-0363.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Direct File Transfer</strong></td>
	  <td align="center">N/A</td>
          <td align="center">✕</td>
	  <td align="center">N/A</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0234.html">Jingle File Transfer (XEP-0234)</link></span> <note>XEP-0234: Jingle File Transfer &lt;<link url="https://xmpp.org/extensions/xep-0234.html">https://xmpp.org/extensions/xep-0234.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0261.html">Jingle In-Band Bytestreams Transport Method (XEP-0261)</link></span> <note>XEP-0261: Jingle In-Band Bytestreams Transport Method &lt;<link url="https://xmpp.org/extensions/xep-0261.html">https://xmpp.org/extensions/xep-0261.html</link>&gt;.</note></td>
        </tr>
      </table>
      <p>
	Further specifications of note, which are not required for compliance:
      </p>
      <ul>
	<li>For public IM networks: <span class="ref"><link url="https://xmpp.org/extensions/xep-0077.html">In-Band Registration (XEP-0077)</link></span> <note>XEP-0077: In-Band Registration &lt;<link url="https://xmpp.org/extensions/xep-0077.html">https://xmpp.org/extensions/xep-0077.html</link>&gt;.</note> (should be supported, but not enabled in default server configurations) and <span class="ref"><link url="https://xmpp.org/extensions/xep-0157.html">Contact Addresses for XMPP Services (XEP-0157)</link></span> <note>XEP-0157: Contact Addresses for XMPP Services &lt;<link url="https://xmpp.org/extensions/xep-0157.html">https://xmpp.org/extensions/xep-0157.html</link>&gt;.</note></li>
	<li>File uploads should be indicated using <span class="ref"><link url="https://xmpp.org/extensions/xep-0066.html">Out-of-Band Data (XEP-0066)</link></span> <note>XEP-0066: Out of Band Data &lt;<link url="https://xmpp.org/extensions/xep-0066.html">https://xmpp.org/extensions/xep-0066.html</link>&gt;.</note>, optionally also using <span class="ref"><link url="https://xmpp.org/extensions/xep-0385.html">Stateless Inline Media Sharing (XEP-0385)</link></span> <note>XEP-0385: Stateless Inline Media Sharing (SIMS) &lt;<link url="https://xmpp.org/extensions/xep-0385.html">https://xmpp.org/extensions/xep-0385.html</link>&gt;.</note></li>
	<li><span class="ref"><link url="https://xmpp.org/extensions/xep-0392.html">Consistent Color Generation (XEP-0392)</link></span> <note>XEP-0392: Consistent Color Generation &lt;<link url="https://xmpp.org/extensions/xep-0392.html">https://xmpp.org/extensions/xep-0392.html</link>&gt;.</note> for cross-client consistency of user names</li>
	<li><span class="ref"><link url="https://xmpp.org/extensions/xep-0393.html">Message Styling (XEP-0393)</link></span> <note>XEP-0393: Message Styling &lt;<link url="https://xmpp.org/extensions/xep-0393.html">https://xmpp.org/extensions/xep-0393.html</link>&gt;.</note> for simple styling of plaintext messages that is loosely compatible with legacy IM networks</li>
	<li><span class="ref"><link url="https://xmpp.org/extensions/xep-0433.html">Extended Channel Search (XEP-0433)</link></span> <note>XEP-0433: Extended Channel Search &lt;<link url="https://xmpp.org/extensions/xep-0433.html">https://xmpp.org/extensions/xep-0433.html</link>&gt;.</note> to improve the discovery of public rooms hosted on a domain</li>
	<li><span class="ref"><link url="https://xmpp.org/extensions/xep-0424.html">Message Retraction (XEP-0424)</link></span> <note>XEP-0424: Message Retraction &lt;<link url="https://xmpp.org/extensions/xep-0424.html">https://xmpp.org/extensions/xep-0424.html</link>&gt;.</note> and <span class="ref"><link url="https://xmpp.org/extensions/xep-0425.html">Message Moderation (XEP-0425)</link></span> <note>XEP-0425: Message Moderation &lt;<link url="https://xmpp.org/extensions/xep-0425.html">https://xmpp.org/extensions/xep-0425.html</link>&gt;.</note> for managing misbehavior in public rooms</li>
      </ul>
    </section2>
    <section2 topic="Mobile Compliance Suite" anchor="mobile">
      <p>
        To be considered XMPP mobile compliant, all features from the core
        compliance category must be met, as well as all features in this suite.
      </p>
      <table caption="XMPP Mobile Compliance Levels">
        <tr>
          <th>Feature</th>
          <th>Server</th>
          <th>Client</th>
          <th>Advanced Server</th>
          <th>Advanced Client</th>
          <th>Providers</th>
        </tr>
        <tr>
          <td><strong>Stream Management</strong></td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0198.html">Stream Management (XEP-0198)</link></span> <note>XEP-0198: Stream Management &lt;<link url="https://xmpp.org/extensions/xep-0198.html">https://xmpp.org/extensions/xep-0198.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Client State Indication</strong></td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0352.html">Client State Indication (XEP-0352)</link></span> <note>XEP-0352: Client State Indication &lt;<link url="https://xmpp.org/extensions/xep-0352.html">https://xmpp.org/extensions/xep-0352.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Third Party Push Notifications</strong></td>
          <td align="center">✕</td>
          <td align="center">✕</td>
          <td align="center">✓<note>Support can be enabled via an external component or an internal server module/plugin. If claiming compliance using such an addition, the necessary components/modules/plugins MUST be detailed.</note></td>
          <td align="center">✓<note>Only on platforms that disallow long-lasting background connections.</note></td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0357.html">Push Notifications (XEP-0357)</link></span> <note>XEP-0357: Push Notifications &lt;<link url="https://xmpp.org/extensions/xep-0357.html">https://xmpp.org/extensions/xep-0357.html</link>&gt;.</note></td>
        </tr>
      </table>
      <p>
	Further specifications of note, which are not required for compliance:
      </p>
      <ul>
	<li><span class="ref"><link url="https://xmpp.org/extensions/xep-0286.html">Mobile Considerations on LTE Networks (XEP-0286)</link></span> <note>XEP-0286: Mobile Considerations on LTE Networks &lt;<link url="https://xmpp.org/extensions/xep-0286.html">https://xmpp.org/extensions/xep-0286.html</link>&gt;.</note></li>
      </ul>
    </section2>
    <section2 topic="A/V Calling Compliance Suite" anchor="av">
      <p>
        To be considered XMPP A/V calling compliant, all features from the core
        compliance category must be met, as well as all features in this suite.
      </p>
      <table caption="A/V Calling Compliance Levels">
        <tr>
          <th>Feature</th>
          <th>Server</th>
          <th>Client</th>
          <th>Advanced Server</th>
          <th>Advanced Client</th>
          <th>Providers</th>
        </tr>
        <tr>
          <td><strong>Call Setup</strong></td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0167.html">Jingle RTP Sessions (XEP-0167)</link></span> <note>XEP-0167: Jingle RTP Sessions &lt;<link url="https://xmpp.org/extensions/xep-0167.html">https://xmpp.org/extensions/xep-0167.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0353.html">Jingle Message Initiation (XEP-0353)</link></span> <note>XEP-0353: Jingle Message Initiation &lt;<link url="https://xmpp.org/extensions/xep-0353.html">https://xmpp.org/extensions/xep-0353.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Transport</strong></td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0176.html">Jingle ICE-UDP Transport Method (XEP-0176)</link></span> <note>XEP-0176: Jingle ICE-UDP Transport Method &lt;<link url="https://xmpp.org/extensions/xep-0176.html">https://xmpp.org/extensions/xep-0176.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Encryption</strong></td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0320.html">Use of DTLS-SRTP in Jingle Sessions (XEP-0320)</link></span> <note>XEP-0320: Use of DTLS-SRTP in Jingle Sessions &lt;<link url="https://xmpp.org/extensions/xep-0320.html">https://xmpp.org/extensions/xep-0320.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>STUN/TURN server discovery</strong></td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0215.html">External Service Discovery (XEP-0215)</link></span> <note>XEP-0215: External Service Discovery &lt;<link url="https://xmpp.org/extensions/xep-0215.html">https://xmpp.org/extensions/xep-0215.html</link>&gt;.</note></td>
        </tr>
        <tr>
          <td><strong>Quality and Performance improvements</strong></td>
          <td align="center">N/A</td>
          <td align="center">✕</td>
          <td align="center">N/A</td>
          <td align="center">✓</td>
          <td><span class="ref"><link url="https://xmpp.org/extensions/xep-0293.html">Jingle RTP Feedback Negotiation (XEP-0293)</link></span> <note>XEP-0293: Jingle RTP Feedback Negotiation&lt;<link url="https://xmpp.org/extensions/xep-0293.html">https://xmpp.org/extensions/xep-0293.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0294.html">Jingle RTP Header Extensions Negotiation (XEP-0294)</link></span> <note>XEP-0294: Jingle RTP Header Extensions Negotiation &lt;<link url="https://xmpp.org/extensions/xep-0294.html">https://xmpp.org/extensions/xep-0294.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0338.html">Jingle Grouping Framework (XEP-0338)</link></span> <note>XEP-0338: Jingle Grouping Framework &lt;<link url="https://xmpp.org/extensions/xep-0338.html">https://xmpp.org/extensions/xep-0338.html</link>&gt;.</note>, <span class="ref"><link url="https://xmpp.org/extensions/xep-0339.html">Source-Specific Media Attributes in Jingle (XEP-0339)</link></span> <note>XEP-0339: Source-Specific Media Attributes in Jingle &lt;<link url="https://xmpp.org/extensions/xep-0339.html">https://xmpp.org/extensions/xep-0339.html</link>&gt;.</note></td>
        </tr>
      </table>
    </section2>
  </section1>
  <section1 topic="Future Development" anchor="future">
    <p>This section outlines the protocol specifications that are relevant for
      developers, but are not ready yet to be required for Compliance.
      Developers are encouraged to implement those and
      to share their experience and feedback.</p>
    <ul>
      <li>Client connection optimizations: <span class="ref"><link url="https://xmpp.org/extensions/xep-0386.html">Bind 2.0 (XEP-0386)</link></span> <note>XEP-0386: Bind 2.0 &lt;<link url="https://xmpp.org/extensions/xep-0386.html">https://xmpp.org/extensions/xep-0386.html</link>&gt;.</note> and <span class="ref"><link url="https://xmpp.org/extensions/xep-0409.html">IM Routing-NG (XEP-0409)</link></span> <note>XEP-0409: IM Routing-NG &lt;<link url="https://xmpp.org/extensions/xep-0409.html">https://xmpp.org/extensions/xep-0409.html</link>&gt;.</note>, maybe also <span class="ref"><link url="https://xmpp.org/extensions/xep-0397.html">Instant Stream Resumption (XEP-0397)</link></span> <note>XEP-0397: Instant Stream Resumption &lt;<link url="https://xmpp.org/extensions/xep-0397.html">https://xmpp.org/extensions/xep-0397.html</link>&gt;.</note></li>
      <li>Improved on-boarding of new users:
	      <ul>
	        <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0401.html">Easy User Onboarding (XEP-0401)</link></span> <note>XEP-0401: Easy User Onboarding &lt;<link url="https://xmpp.org/extensions/xep-0401.html">https://xmpp.org/extensions/xep-0401.html</link>&gt;.</note> to create account invitations</li>
	        <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0379.html">Pre-Authenticated Roster Subscription (XEP-0379)</link></span> <note>XEP-0379: Pre-Authenticated Roster Subscription &lt;<link url="https://xmpp.org/extensions/xep-0379.html">https://xmpp.org/extensions/xep-0379.html</link>&gt;.</note> for contact invitations</li>
	        <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0445.html">Pre-Authenticated In-Band Registration (XEP-0445)</link></span> <note>XEP-0445: Pre-Authenticated In-Band Registration &lt;<link url="https://xmpp.org/extensions/xep-0445.html">https://xmpp.org/extensions/xep-0445.html</link>&gt;.</note> to register accounts based on an invitation</li>
	      </ul>
      </li>
      <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0333.html">Displayed Markers (XEP-0333)</link></span> <note>XEP-0333: Displayed Markers &lt;<link url="https://xmpp.org/extensions/xep-0333.html">https://xmpp.org/extensions/xep-0333.html</link>&gt;.</note></li>
      <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0369.html">Mediated Information eXchange (MIX) (XEP-0369)</link></span> <note>XEP-0369: Mediated Information eXchange (MIX) &lt;<link url="https://xmpp.org/extensions/xep-0369.html">https://xmpp.org/extensions/xep-0369.html</link>&gt;.</note></li>
      <li>End-to-End Encryption (E2EE): <span class="ref"><link url="https://xmpp.org/extensions/xep-0380.html">Explicit Message Encryption (XEP-0380)</link></span> <note>XEP-0380: Explicit Message Encryption &lt;<link url="https://xmpp.org/extensions/xep-0380.html">https://xmpp.org/extensions/xep-0380.html</link>&gt;.</note> for tagging encrypted messages, <span class="ref"><link url="https://xmpp.org/extensions/xep-0420.html">Stanza Content Encryption (XEP-0420)</link></span> <note>XEP-0420: Stanza Content Encryption &lt;<link url="https://xmpp.org/extensions/xep-0420.html">https://xmpp.org/extensions/xep-0420.html</link>&gt;.</note> to protect all payloads; and also one or multiple of the following for actual encryption:
        <ul>
          <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0384.html">OMEMO Encryption (XEP-0384)</link></span> <note>XEP-0384: OMEMO Encryption &lt;<link url="https://xmpp.org/extensions/xep-0384.html">https://xmpp.org/extensions/xep-0384.html</link>&gt;.</note> and <span class="ref"><link url="https://xmpp.org/extensions/xep-0396.html">Jingle Encrypted Transports - OMEMO (XEP-0396)</link></span> <note>XEP-0396: Jingle Encrypted Transports - OMEMO &lt;<link url="https://xmpp.org/extensions/xep-0396.html">https://xmpp.org/extensions/xep-0396.html</link>&gt;.</note></li>
          <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0374.html">OpenPGP for XMPP Instant Messaging (XEP-0374)</link></span> <note>XEP-0374: OpenPGP for XMPP Instant Messaging &lt;<link url="https://xmpp.org/extensions/xep-0374.html">https://xmpp.org/extensions/xep-0374.html</link>&gt;.</note></li>
        </ul>
      </li>
      <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0402.html">PEP Native Bookmarks (XEP-0402)</link></span> <note>XEP-0402: PEP Native Bookmarks &lt;<link url="https://xmpp.org/extensions/xep-0402.html">https://xmpp.org/extensions/xep-0402.html</link>&gt;.</note> to phase out <span class="ref"><link url="https://xmpp.org/extensions/xep-0048.html">Bookmark Storage (XEP-0048)</link></span> <note>XEP-0048: Bookmark Storage &lt;<link url="https://xmpp.org/extensions/xep-0048.html">https://xmpp.org/extensions/xep-0048.html</link>&gt;.</note> and <span class="ref"><link url="https://xmpp.org/extensions/xep-0049.html">Private XML Storage (XEP-0049)</link></span> <note>XEP-0049: Private XML Storage &lt;<link url="https://xmpp.org/extensions/xep-0049.html">https://xmpp.org/extensions/xep-0049.html</link>&gt;.</note></li>
      <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0225.html">Component Connections (XEP-0225)</link></span> <note>XEP-0225: Component Connections &lt;<link url="https://xmpp.org/extensions/xep-0225.html">https://xmpp.org/extensions/xep-0225.html</link>&gt;.</note> to phase out <span class="ref"><link url="https://xmpp.org/extensions/xep-0114.html">Jabber Component Protocol (XEP-0114)</link></span> <note>XEP-0114: Jabber Component Protocol &lt;<link url="https://xmpp.org/extensions/xep-0114.html">https://xmpp.org/extensions/xep-0114.html</link>&gt;.</note></li>
      <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0390.html">Entity Capabilities 2.0 (XEP-0390)</link></span> <note>XEP-0390: Entity Capabilities 2.0 &lt;<link url="https://xmpp.org/extensions/xep-0390.html">https://xmpp.org/extensions/xep-0390.html</link>&gt;.</note> to phase out <span class="ref"><link url="https://xmpp.org/extensions/xep-0115.html">Entity Capabilities (XEP-0115)</link></span> <note>XEP-0115: Entity Capabilities &lt;<link url="https://xmpp.org/extensions/xep-0115.html">https://xmpp.org/extensions/xep-0115.html</link>&gt;.</note></li>
      <li><span class="ref"><link url="https://xmpp.org/extensions/xep-0455.html">Service Outage Status (XEP-0455)</link></span> <note>XEP-0455: Service Outage Status &lt;<link url="https://xmpp.org/extensions/xep-0455.html">https://xmpp.org/extensions/xep-0455.html</link>&gt;.</note></li>
    </ul>
  </section1>
  <section1 topic="Implementation Notes" anchor="impl">
    <p>
      Some of the protocol specifications referenced herein have their own
      dependencies; developers need to consult the relevant specifications for
      further information.
    </p>
  </section1>
  <section1 topic="Security Considerations" anchor="security">
    <p>
      This document introduces no additional security considerations above and
      beyond those defined in the documents on which it depends.
    </p>
  </section1>
  <section1 topic="IANA Considerations" anchor="iana">
    <p>This document requires no interaction with the <span class="ref"><link url="http://www.iana.org/">Internet Assigned Numbers Authority (IANA)</link></span> <note>The Internet Assigned Numbers Authority (IANA) is the central coordinator for the assignment of unique parameter values for Internet protocols, such as port numbers and URI schemes. For further information, see &lt;<link url="http://www.iana.org/">http://www.iana.org/</link>&gt;.</note>.</p>
  </section1>
  <section1 topic="XMPP Registrar Considerations" anchor="registrar">
    <p>This document requires no interaction with the <span class="ref"><link url="https://xmpp.org/registrar/">XMPP Registrar</link></span> <note>The XMPP Registrar maintains a list of reserved protocol namespaces as well as registries of parameters used in the context of XMPP extension protocols approved by the XMPP Standards Foundation. For further information, see &lt;<link url="https://xmpp.org/registrar/">https://xmpp.org/registrar/</link>&gt;.</note>.</p>
  </section1>
<section1 topic="Acknowledgements" anchor="ack">
  <p>
    The author would like to thank Guus der Kinderen, Dele Olajide, Marc
    Laporte, Dave Cridland, Daniel Gultsch, Florian Schmaus, Tobias Markmann,
    and Jonas Schäfer for their suggestions.
  </p>
</section1>
</xep>
