<?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.29 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-galvin-regext-epp-variants-04" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Domain Group">Domain Related Group Support for EPP</title>
    <seriesInfo name="Internet-Draft" value="draft-galvin-regext-epp-variants-04"/>
    <author initials="J." surname="Galvin" fullname="James Galvin">
      <organization>Identity Digital</organization>
      <address>
        <postal>
          <city>Bellevue, Washington</city>
          <country>US</country>
        </postal>
        <email>jgalvin@identity.digital</email>
      </address>
    </author>
    <author initials="M." surname="Bauland" fullname="Michael Bauland">
      <organization>Knipp Medien und Kommunikation GmbH</organization>
      <address>
        <postal>
          <city>Dortmund</city>
          <country>Germany</country>
        </postal>
        <email>michael.bauland@knipp.de</email>
      </address>
    </author>
    <date year="2025" month="November" day="04"/>
    <area>Applications and Real-Time</area>
    <workgroup>regext</workgroup>
    <keyword>EPP</keyword>
    <abstract>
      <?line 40?>

<t>This document defines an EPP extension allowing clients to learn about
and manipulate related groups of domains, ie. groups of domains whose
names are equivalent in a registry-defined way and are tied to a
single registrant.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Registration Protocols Extensions Working Group mailing list (regext@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/regext/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/arnt/regext-epp-variants"/>.</t>
    </note>
  </front>
  <middle>
    <?line 47?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>EPP is defined in <xref target="RFC5730"/>. EPP commands were developed to operate on
a single object at a time. This document defines an EPP extension allowing
clients to learn about and manipulate related groups of objects that have
a characteristic that makes them equivalent.</t>
      <t>Similar to EPP, the principal motivation for this extension was to provide a
standard Internet domain name registration extension for use between domain
name registrars and domain name registries.  This protocol provides a
means of interaction between a registrar's applications and registry
applications.  It is expected that this protocol will have additional
uses beyond domain name registration.</t>
      <t>As an example, the problem being considered is that spelling is not
necessarily uniform. For example, an è and an e may be regarded as
equivalent in some languages, and as different in others.</t>
      <t>Some registries plan to support this explicitly, with groups of
domains that can only be registered by the same registrant. Having the
same registrant is most commonly considered essential for equivalence,
since if the domains are intended to be equivalent then the
responsibility of maintaining that equivalence must be present. This
is a specific example of the more general "Same Entity Principle",
which in this specification is defined to mean that a related group
<bcp14>MUST</bcp14> be created, managed, and deleted by the same entity. From a
registry perspective the same entity would be a registrar; from the
registrar's perspective the same entity would be the registrant.</t>
      <t>This document does define what makes the domains in a related group
equivalent.  A registry policy <bcp14>MUST</bcp14> exist that specifies both that a
registry supports related groups and that defines what domains are
eligible to be a member of a related group. This policy <bcp14>MUST</bcp14> be agreed
between a registry and a registrar. The policy and the establishment
of the agreement is outside the scope of this specification.</t>
      <t>A common policy expression among domain registries and registrars is
to define a related group in terms of the script or language in use
for an Internalized Domain Name (IDN). IDN variants can arise when
different characters or sequences of characters in an IDN are
considered equivalent in a particular language or script.  Standard
Label Generation Rules (LGRs) are used to specify the IDN table that
establishes the variant relationships. This common policy expression
is presumed and used as an example in this specification.</t>
      <t>With this extension, registering a domain creates a related group and
the first domain registered in the group becomes the group's Primary
Domain. The creation of the Primary Domain <bcp14>MAY</bcp14> establish rules or
guidelines regarding the domains that are eligible to be a member of
the group, e.g., an LGR, an IDN table, and a Primary Domain taken
together will define a variant group.</t>
      <t>Subsequent domains in the same group can only be registered by the
same registrar, which asserts that it is acting on behalf of the same
registrant. Each domain in a related group may be the target of any
EPP command, with the following restrictions.</t>
      <ul spacing="normal">
        <li>
          <t>A &lt;transfer&gt; of any domain in any related group always acts on
the entire group.  This is required to ensure that the related group
is always registered by the same registrant and managed via the same
registrar. Registry policy <bcp14>MAY</bcp14> impose additional restrictions.</t>
        </li>
        <li>
          <t>The &lt;delete&gt; of a Primary Domain in any variant group always
acts on the entire group. This is required to support the option where
the Primary Domain establishes the rules or guidelines for the
creation of other domains in the group.</t>
        </li>
      </ul>
      <t>This extension is backwards compatible with registrars that do not
support related groups. Specifically, this extension supports
registries that do support related groups interacting with registrars
that do not support related groups. Registrars that do not support
related group that attempt to act on a member of a related group
inappropriately will receive a compatible error response with which
they can continue to function.  The compatible error response may not
provide sufficient detail to fully understand the rejection but will
be sufficient to ensure continuation of normal operations.</t>
      <t>The remainder of this document describes the specific details.</t>
      <t><strong>TODO</strong>: login exchange of variant-aware</t>
      <t><strong>TODO</strong>: discussion of reference to EPP Extensibility and Extension Analysis
https://docs.google.com/document/d/1WR00oB43XZCDqD0zvRvRajuWAq_9wQ3c0RrFKlGC3So/edit?tab=t.0</t>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</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?>

</section>
    <section anchor="terms">
      <name>Terms</name>
      <t>Allocated Member: A domain that has been created in the registry, and
which is related to an existing Primary Domain.</t>
      <t>Allocatable Member: A domain that has not been allocated but is
allocatable (e.g., according to a LGR in the case of an IDN variant),
and which is conceptually related to an existing Primary Domain.</t>
      <t>Activated Member: An Allocated Member domain that is in the DNS.</t>
      <t>Blocked domain: A domain that cannot be allocated due to its status
value in relation to the Primary Domain name.</t>
      <t>Exempted domain: A preexisting domain that exists as a stand-alone
domain prior to the introduction of support for related groups and
would be part of a related group if it were allocated now. Exempted
domains may exist with any registrant at any registrar. The exemption
ends in one of two ways.</t>
      <ul spacing="normal">
        <li>
          <t>When there is at most 1 allocated domain remaining at which time the
registry <bcp14>MUST</bcp14> block all other labels of the related group until the
registrar asserts knowledge of the related group.</t>
        </li>
        <li>
          <t>When the registrar asserts knowledge of the related group and, if
present brings all labels in the related group together.</t>
        </li>
      </ul>
      <t>IDN Table: The combined information about what characters (code
points) are available for domain registration as well as the variant
relationships between those code points. IDN tables can be defined via
RFC3743 or RFC4290 or LGRs (RFC7940). The latter one <bcp14>SHOULD</bcp14> be used as
it also allows the formal definition of context rules, which is
lacking in the former ones.</t>
      <t>Label Generation Rules (LGR): The preferred way of defining IDN
tables.  Among others, they define the variant relationships as well
as their disposition values (blocked or allocatable). The formal
definition of LGRs can be fond in RFC7940. Status Value is the generic
term in this specification to which the IDN disposition value would be
assigned.</t>
      <t>Primary Domain: The chronologically first domain in a related group.
While the related group relationship is symmetric, the status
value of its members is not.  It can either be blocked or
allocatable. The Primary Domain name therefore partitions the related
group into allocatable members and blocked members.  In the case of a
related group of TLDs, there can be a primary domain per TLD.</t>
      <t>Related Domain: A domain in a related group which is not a Primary Domain.</t>
      <t>Related Group: An implicit set of domains defined by a policy set by a
registry. The related domain relationship is symmetric and
transitive. Hence, an arbitrary element of a related group defines the
whole group. The group is not expressed explicitly in EPP, because it
can be impractically large. At the time of writing, an IDN domain is
registered whose variant set would contain 10¹⁵ variants.</t>
      <t>Same Entity Principle: A requirement that all domains within a related
group either belong to the same entity (i.e., the same registrant via
the same registrar) or are withheld for that entity. No other entity
is allowed to activate any domain within the same related group.</t>
      <t>Status Value: While a related group relationship is symmetric, a
group member has exactly one of two status values which are not
necessarily symmetric. A member can be "allocatable" (i.e., available
for the same entity) or "blocked" (i.e., not available for anybody).</t>
    </section>
    <section anchor="architectural-principles">
      <name>Architectural Principles</name>
      <t>There are three principles <bcp14>REQUIRED</bcp14> to be true at all times when this
extension is in use.  There <bcp14>MUST NOT</bcp14> be any exceptions at any time.</t>
      <section anchor="backwards-compatibility">
        <name>Backwards Compatibility</name>
        <t>Support for Related Groups is optional and therefore it is <bcp14>REQUIRED</bcp14>
that a registry supporting Related Groups <bcp14>MUST</bcp14> be backwards compatible
with a registrar that does not support Related Groups.  Backwards
compatibility is defined to mean that a registrar will receive a
response that is fail-safe but the registrar may not be able to fully
understand the reason for the rejection.</t>
        <t>A registry that does not support related groups will behave normally
when interacting with a registrar that supports related groups.</t>
      </section>
      <section anchor="same-entity-management">
        <name>Same-Entity Management</name>
        <t>Domains defined to be eligible to be in a related group <bcp14>MUST</bcp14> be
managed by the same entity.  This has three requirements.</t>
        <ol spacing="normal" type="1"><li>
            <t>Registrars <bcp14>MUST</bcp14> ensure that domains in a related group are managed
by the same registrant.</t>
          </li>
          <li>
            <t>Registries <bcp14>MUST</bcp14> ensure that domains in a related group are managed
by the same registrar.</t>
          </li>
          <li>
            <t>A registry that is a member of a related group <bcp14>MUST</bcp14> manage all
registries in the group.</t>
          </li>
        </ol>
      </section>
      <section anchor="related-groups-as-a-set">
        <name>Related Groups as a Set</name>
        <t>Most EPP commands may be executed independently on any member of the
related group.  However, commands that change the membership or status
of members in a related group, or change the Same-Entity Management
requirement, <bcp14>MUST</bcp14> operate on the related group as a set.</t>
        <t>As explained in detail in later sections, there are currently two
commands with explicit requirements as of the time of publication of
this document.</t>
      </section>
    </section>
    <section anchor="technical-principles">
      <name>Technical Principles</name>
      <t>The following technical principles have guided the developed of this
extension and established operational requirements.</t>
      <ul spacing="normal">
        <li>
          <t>The members of a related group are defined by registry policy and
that policy must be agreed by both the registry and the
registrar. The establishment of this policy and the method by which
the parties agree is outside the scope of this specification.  </t>
          <t>
The first iteration of this work focused on IDN variants, which
  have the advantage that there is a relatively formal process for
  defining the eligible elements of a group. However, Latin
  characters with diacritic marks are not always considered variants
  of Latin characters without diacritic marks and there are
  circumstances when it is desirable for them to be considerated
  equivalent. As a result this extension presumes the existence of a
  group and sets outside its scope the actual definition of the
  group.</t>
        </li>
        <li>
          <t>The registry policy <bcp14>MUST</bcp14> define the properties of a Related Group,
which <bcp14>MUST</bcp14> include at least the following properties.  </t>
          <ul spacing="normal">
            <li>
              <t>If the related group exists in a registry that itself is a member
of a related group, then all related groups in any registry in the
registry's related group <bcp14>MUST</bcp14> have the same members in all
registries in the registry related group.      </t>
              <t>
This principle derives directly from the Same-Entity requirement.      </t>
              <t>
In the case of IDNs, the LGR tables may be different in each
registry but the tables <bcp14>MUST</bcp14> be harmonized.</t>
            </li>
            <li>
              <t>The first domain created in a related group is designated the
Primary Domain.      </t>
              <t>
If the registry of the related group is itself a member of a
related group, the Primary Domain in a related group <bcp14>MAY</bcp14> be
different in each registry.</t>
            </li>
            <li>
              <t>The Primary Domain has at least two <bcp14>REQUIRED</bcp14> functions.  First, it
defines the members of the Related Group.  Second, it defines the
status values of the members of the Related Group.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>EPP today implicitly defines two status values for any domain:
registered and available. This related group extensions adds the
following status values.  </t>
          <t>
The Allocated status means that the member of the group is active in
the registry. It may or may not be delegated in the DNS.  </t>
          <t>
The Allocatable status means that the member of the group is
available to be allocated by the same-entity.  </t>
          <t>
The Blocked status means that the member of the group is not
available to be allocated by anyone.</t>
        </li>
        <li>
          <t>The creation of a Primary Domain establishes the implicit existence
of all members of the Related Group. If the registry of the related
group is itself a member of a related group, the related group is
implicitly created in all registries in the related group of the
registry.</t>
        </li>
      </ul>
    </section>
    <section anchor="epp-commands">
      <name>EPP Commands</name>
      <t>In this section, the behavior of each EPP command when Related Groups
are supported is specified.</t>
      <section anchor="epp-ltcheckgt-command">
        <name>EPP &lt;check&gt; command</name>
        <t>The &lt;check&gt; command always acts on the target domain in the
command.  There is no change on the client side when using the
&lt;check&gt; command.</t>
        <t>When the server receives a &lt;check&gt; command from a group-agnostic
client and the target domain is or could be a member of a related
group, if that related group has at least one Allocated or Exempted
member, the server's response:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MUST NOT</bcp14> include the &lt;extension&gt; element.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> indicate 'availabe = "false"'.</t>
          </li>
          <li>
            <t><bcp14>MAY</bcp14> indicate a reason of "Unavailable (except as member of group)".</t>
          </li>
        </ul>
        <t>What the server receive a &lt;check&gt; command from a group-aware
client and the target domain is or could be a member of a related
group, if that related group has at least one Allocated or Exempted
member, the server's response <bcp14>MUST</bcp14> contain an &lt;extension&gt;
element with the following child elements:</t>
        <ul spacing="normal">
          <li>
            <t>A &lt;var:primary&gt; element matching the Primary Domain for the
related group.</t>
          </li>
          <li>
            <t>A &lt;var:status&gt; element, which explains in more detail the availability
status of the queried domain.</t>
          </li>
        </ul>
        <t>The EPP &lt;check&gt; command may return six new results:</t>
        <ul spacing="normal">
          <li>
            <t>AllocatableVariant: A variant of the domain is already active. Provisioning of this
domain must be to the same registrant via the same registrar.</t>
          </li>
          <li>
            <t>NotSameEntity: The domain cannot be provisioned because it is a variant of a
Primary Domain, and the Primary Domain belongs to a different client</t>
          </li>
          <li>
            <t>Blocked: The domain cannot be provisioned because its disposition value is blocked.</t>
          </li>
          <li>
            <t>Exempted: The domain cannot be provisioned because it is a variant of at
least one exempted domain.</t>
          </li>
          <li>
            <t>PendingTransfer: The domain cannot be provisioned because it is a variant in a group
that is currently being transferred to a different registrar.</t>
          </li>
          <li>
            <t>Custom: Additional custom value that may be used for server peculiarities.</t>
          </li>
        </ul>
      </section>
      <section anchor="epp-ltinfogt-command">
        <name>EPP &lt;info&gt; command</name>
        <t>The &lt;info&gt; command always acts on the target domain in the
command.  There is no change on the client side when using the
&lt;info&gt; command.</t>
        <t>The main part of the response <bcp14>MUST</bcp14> contain the actual data of the target
domain name (contacts, hosts, status values, etc.).</t>
        <t>When the server receives an &lt;info&gt; command from a group-agnostic
client the response <bcp14>MUST</bcp14> contain the actual data of the domain,
independent of whether it is a member of a related group. In addition,
if the group-agnostic registrar is inquiring about a domain with a
status of Allocatable, the response <bcp14>SHOULD</bcp14> be the same as if the
client were inquiring about a reserved name.</t>
        <t>When the server receives an &lt;info&gt; command from a group-aware
client and the target domain is or could be a member of a related
group, if that related group has at least one Allocated or Exempted
member, the server's response <bcp14>MUST</bcp14> contain an &lt;extension&gt;
element with the following child elements:</t>
        <ul spacing="normal">
          <li>
            <t>A &lt;var:primary&gt; element matching the Primary Domain for the
related group of the target domain, which <bcp14>MAY</bcp14> match the target domain.</t>
          </li>
          <li>
            <t>A list of all the Allocated and Exempted members of the related group.</t>
          </li>
        </ul>
        <t>If the registry of the target domain is itself a member of a related
group and the target domain is or could be a member of a related group
in any registry in that registry's related group, if any one of those
target domain related groups has at least one Allocated or Exempted
member, the server's response <bcp14>MUST</bcp14> contain an &lt;extension&gt;
element with the following child elements:</t>
        <ul spacing="normal">
          <li>
            <t>A &lt;var:primary&gt; element matching the Primary Domain for the
related group of the target domain, which <bcp14>MAY</bcp14> match the target domain.</t>
          </li>
          <li>
            <t>A list of all the related groups of the target domain with Allocated
or Exempted members such that each related group list has its
Primary Domain listed first.</t>
          </li>
        </ul>
      </section>
      <section anchor="epp-lttransfergt-command">
        <name>EPP &lt;transfer&gt; command</name>
        <t>The &lt;transfer&gt; command always acts on the target domain in the
command.  The use of the &lt;transfer&gt; command is extended if both
the server and the client support related groups.</t>
        <t>When the server receives a &lt;transfer&gt; command from a
group-agnostic client and the target domain is or could be a member of
a related group, if that related group has at least one Allocated or
Exempted member the transfer request <bcp14>MUST</bcp14> be denied using 2305 "Object
status prohibits operation".</t>
        <t>When the server receives a &lt;transfer&gt; command from a group-aware
client and the target domain is or could be a member of a related
group, the request must include an &lt;extension&gt; element with a
&lt;var:primary&gt; element matching the Primary Domain, including if
the Primary Domain is the target domain.  If the extension is not
present the transfer request <bcp14>MUST</bcp14> be denied using '2003 "Required
parameter missing"'. Note that the &lt;check&gt; or &lt;info&gt;
command <bcp14>MAY</bcp14> be used to identify the Primary Domain.</t>
        <t>A valid transfer request <bcp14>MUST</bcp14> apply to all members of a related group.
If the registry of the target domain is itself a member of a related
group, then the transfer request <bcp14>MUST</bcp14> apply to all related groups in
all registries of the registry's related group.</t>
        <t>The server's response to the transfer request <bcp14>MUST</bcp14> contain an
&lt;extension&gt; element with the following child elements;</t>
        <ul spacing="normal">
          <li>
            <t>A &lt;var:primary&gt; element matching the Primary Domain for the
related group of the target domain, which <bcp14>MAY</bcp14> match the target domain.</t>
          </li>
          <li>
            <t>A list of all the Allocated and Exempted members of the related group.</t>
          </li>
        </ul>
        <t>If the registry of the target domain is itself a member of a related
group and the target domain is or could be a member of a related group
in any registry in that registry's related group, if any one of those
target domain related groups has at least one Allocated or Exempted
member, the server's response <bcp14>MUST</bcp14> contain an &lt;extension&gt;
element with the following child elements:</t>
        <ul spacing="normal">
          <li>
            <t>A &lt;var:primary&gt; element matching the Primary Domain for the
related group of the target domain, which <bcp14>MAY</bcp14> match the target domain.</t>
          </li>
          <li>
            <t>A list of all the related groups of the target domain with Allocated
or Exempted members such that each related group list has its
Primary Domain listed first.</t>
          </li>
        </ul>
        <t><strong>TODO</strong>: It must be ensured that the poll message to the losing registrar
also contains the full list of domains that will be transferred together with
the primary domain.</t>
      </section>
      <section anchor="epp-ltcreategt-command">
        <name>EPP &lt;create&gt; command</name>
        <t>The EPP &lt;create&gt; command's standard task is to provision a new
domain. When related groups are supported, the &lt;create&gt; command
<bcp14>MUST</bcp14> be used to create the Primary Domain and <bcp14>MUST NOT</bcp14> be used to
provision any other member of the Primary Domain's related group. The
task of converting an allocatable domain into an allocated domain <bcp14>MUST</bcp14>
be performed using the &lt;update&gt; command.</t>
        <t>When the server receives a &lt;create&gt; command from a
group-agnostic client and the target domain is or could be a member of
a related group, one of the following actions <bcp14>MUST</bcp14> be completed as
appropriate.</t>
        <ul spacing="normal">
          <li>
            <t>If any member of the related group is currently Allocated or
Exempted, the command <bcp14>MUST</bcp14> be rejected and the response should be the
same as if the domain to be created is reserved.</t>
          </li>
          <li>
            <t>If there are no members of the related group either Allocated or
Exempted, the &lt;create&gt; <bcp14>MUST</bcp14> proceed according to the standard
with the server implicitly reserving all other members of the related
group such that they <bcp14>MUST NOT</bcp14> be allocated until such time as the
client is group-aware and the client <bcp14>MUST</bcp14> indicate that the target
domain is to be extended to be a Primary Domain as described in the
&lt;update&gt; command.</t>
          </li>
        </ul>
        <t>When the server receives a &lt;create&gt; command from a group-aware
client and the target domain is or could be a member of a related
group, the command <bcp14>MUST</bcp14> include an &lt;extension&gt; element with the
&lt;var:primary&gt; child element that must match the target
domain. If not, the command <bcp14>MUST</bcp14> be rejected using '2003 "Required
parameter missing"'.</t>
        <t>Upon receiving a &lt;create&gt; command from a group-aware client with
a valid &lt;extension&gt; element, one of the following actions <bcp14>MUST</bcp14>
be completed as appropriate.</t>
        <ul spacing="normal">
          <li>
            <t>If the target domain does not exist and any other member of the
related group is Allocated or Exempted, the command <bcp14>MUST</bcp14> be rejected
and indicate that it is an inappropriate use of the command.</t>
          </li>
          <li>
            <t>If the target domain does not exist and no other member of the
related group is Allocated or Exempted, the &lt;create&gt; command
<bcp14>MUST</bcp14> proceed according to the standard with the server implicitly
noting to itself the existence of all other members of the related
group and setting their status value as prescribed by registry
policy. The response <bcp14>MUST</bcp14> include the &lt;extension&gt; element with
the &lt;var:primary&gt; child element indicating the Primary Domain,
which must match the target domain.</t>
          </li>
          <li>
            <t>If the target domain does exist, the &lt;create&gt; command <bcp14>MUST</bcp14> be
rejected according to the standard. The response <bcp14>MUST</bcp14> include the
&lt;extension&gt; element with the &lt;var:primary&gt; child element
indicating the Primary Domain, which must match the target domain.</t>
          </li>
        </ul>
        <t>The EPP &lt;create&gt; command may have five new errors, as described
in the &lt;check&gt; section above.</t>
        <t><strong>TODO</strong>: check alignment of the new error codes</t>
      </section>
      <section anchor="epp-ltupdategt-command">
        <name>EPP &lt;update&gt; command</name>
        <t>The EPP &lt;update&gt;gt; command provides a transform operation that allows a
client to change the state of a related domain object. It is extended
to cover three new tasks:</t>
        <ul spacing="normal">
          <li>
            <t>Activating an allocatable related domain in an existing related group.</t>
          </li>
          <li>
            <t>Deactivating an activated related domain name in an existing related group.</t>
          </li>
          <li>
            <t>Converting an Allocated or Exempted Domain into a Primary Domain and
optionally converting other Exempted Domains that are eligible to be
in the related group of the stated Primary Domain to be activated
domains of the related group.</t>
          </li>
        </ul>
        <t>This extended &lt;update&gt; command is not valid for use by a
group-agnostic client. Any use by a group-agnostic client <bcp14>MUST</bcp14> be
rejected and indicate it is an inappropriate use of the command.</t>
        <t>A group-agnostic client <bcp14>MUST</bcp14> only use the standard-defined
&lt;update&gt; command and the server <bcp14>MUST</bcp14> only respond as defined by
the standard.</t>
        <t>The rest of this section specifies behavior when group-aware servers
and group-aware clients are interacting and describes the three new
tasks.</t>
        <t>When the target domain of the update command is any member of the
related group, including the Primary Domain of the related group, the
client <bcp14>MUST</bcp14> include an &lt;extension&gt; element that <bcp14>MUST</bcp14> include at
least the &lt;var:primary&gt; child element indicating the Primary
Domain of the corresponding related group. The extension <bcp14>MAY</bcp14> include
additional elements as indicated below to provision a new task. If the
extension is not present the command <bcp14>MUST</bcp14> be rejected and indicate
that a required parameter is missing.</t>
        <t>If the Primary Domain and the target domain match, all other elements
in the extension <bcp14>MUST</bcp14> be ignored and the update command <bcp14>MUST</bcp14> be
processed as a standard defined update command acting on the Primary
Domain.</t>
        <t>The rest of this section specifies behavior when the target domain and
the Primary Domain indicated in the extension do not match.</t>
        <t>If the &lt;var:status&gt; child element is present in the extension,
one of the following actions <bcp14>MUST</bcp14> be completed as appropriate.</t>
        <ul spacing="normal">
          <li>
            <t>In order to Activate an Allocatable domain, the target domain <bcp14>MUST</bcp14>
have a status of Allocatable and the extension <bcp14>MUST</bcp14> include the
&lt;var:status&gt; child element with a value of "allocated". The
server <bcp14>MUST</bcp14> update the status of the target domain and the response
<bcp14>MUST</bcp14> include the extension element with both the Primary Domain
indicated and the revised status indicated.</t>
          </li>
          <li>
            <t>In order to deactivate an Allocated domain, the target domain <bcp14>MUST</bcp14>
have a status of Allocated and the extension <bcp14>MUST</bcp14> include the
&lt;var:status&gt; child element with a value of "allocatable". The
server <bcp14>MUST</bcp14> update the status of the target domain and the response
<bcp14>MUST</bcp14> include the extension element with both the Primary Domain
indicated and the revised status indicated.</t>
          </li>
          <li>
            <t>In all other cases, if the status element is present the command
<bcp14>MUST</bcp14> be rejected and indicate an invalid parameter is present.</t>
          </li>
        </ul>
        <t>If the &lt;var:status&gt; child element is not present in the
extension, then all elements other than the Primary Domain indication
<bcp14>MUST</bcp14> be ignored and the update command <bcp14>MUST</bcp14> be processed as a standard
defined update command acting on the target domain.</t>
        <t>Note that depending on registry policy, the related domain may share
attributes with the Primary Domain, e.g., nameservers.  A registry
policy <bcp14>MAY</bcp14> specify rules or guidelines for the set of elements
required or permitted for a related domain according to the Primary
Domain.</t>
        <t>The EPP domain mapping from RFC3915 describes the elements that
have to be specified within an &lt;update&gt;gt; command.  The requirement to
provide at least one &lt;domain:add&gt;gt;, &lt;domain:rem&gt;gt;, or &lt;domain:chg&gt;gt;
element is updated by this extension such that at least one empty
&lt;domain:add&gt;gt;, &lt;domain:rem&gt;gt;, or &lt;domain:chg&gt;gt; element <bcp14>MUST</bcp14> be present
if this extension is specified within an &lt;update&gt;gt; command.  This
requirement is updated to disallow the possibility of modifying a
domain object as part of the deactivation.</t>
        <t>If a client wishes to convert an Exempted domain into the Primary
Domain of a related group, the update command from the client <bcp14>MUST</bcp14> be
provided as follows.</t>
        <ul spacing="normal">
          <li>
            <t>The target domain of the update command and the Primary Domain in
the extension <bcp14>MUST</bcp14> match.</t>
          </li>
          <li>
            <t>The target domain <bcp14>MUST</bcp14> have the status of Exempted.</t>
          </li>
          <li>
            <t>If there exists multiple Exempted domains that would ordinarily be
members of the related group, they <bcp14>MUST</bcp14> all have the same Registrar of
Record and it <bcp14>MUST</bcp14> match the update requesting registrar, and the extension
<bcp14>MUST</bcp14> include a list of all Exempted domains, including the
Primary Domain, that <bcp14>MUST</bcp14> match the list maintained by the registry.</t>
          </li>
        </ul>
        <t>If the update command is valid as indicated above, the server <bcp14>MUST</bcp14>
change the status of the indicated domains from Exempted to Allocated,
and <bcp14>MUST</bcp14> indicate the Primary Domain. The response <bcp14>MUST</bcp14> include an
extension indicating the Primary Domain and the list of domains whose
status changed from Exempte to Allocated.</t>
        <t>If a previously group-agnostic client becomes group-aware and wishes
to convert a registered domain to be a Primary Domain of related
group, the update command from the client <bcp14>MUST</bcp14> be provided as follows.</t>
        <ul spacing="normal">
          <li>
            <t>The target domain of the update command and the Primary Domain in
the extension <bcp14>MUST</bcp14> match.</t>
          </li>
          <li>
            <t>The target domain <bcp14>MUST</bcp14> have the status of registered and <bcp14>MUST</bcp14> have
the same Registrar of Record as the update requesting registrar.</t>
          </li>
        </ul>
        <t>If the update command is valid as indicated above, the server <bcp14>MUST</bcp14>
change the status of the indicated domains to Allocated, and <bcp14>MUST</bcp14>
indicate it as the Primary Domain. The response <bcp14>MUST</bcp14> include an
extension indicating the Primary Domain.</t>
      </section>
      <section anchor="epp-ltdeletegt-command">
        <name>EPP &lt;delete&gt; command</name>
        <t>The &lt;delete&gt; command is extended to REQUIRE the deletion of all
members of a related group if the Primary Domain is deleted.</t>
        <t>This extended &lt;delete&gt; command is not valid for use by a
group-agnostic client. Any use by a group-agnostic client <bcp14>MUST</bcp14> be
rejected and indicate it is an inappropriate use of the command.</t>
        <t>A group-agnostic client <bcp14>MUST</bcp14> only use the standard-defined
&lt;update&gt; command and the server <bcp14>MUST</bcp14> only respond as defined by
the standard.</t>
        <t>The rest of this section specifies behavior when group-aware servers
and group-aware clients are interacting.</t>
        <t>A group-aware client <bcp14>MUST NOT</bcp14> use the &lt;delete&gt; command to delete
any member of a related group except the Primary Domain. Any other use
<bcp14>MUST</bcp14> be rejected and indicate it is an inappropriate use of the
command. Note that &lt;update&gt; command is used for this purpose.</t>
        <t>When the server receives a &lt;delete&gt; command from a group-aware
client, the command <bcp14>MUST</bcp14> include the &lt;extension&gt; element which
<bcp14>MUST</bcp14> include the &lt;var:primary&gt; child element which <bcp14>MUST</bcp14> match
the target domain name.</t>
        <t>The delete command is extended such that all Allocated members of the
related group defined by the Primary Domain <bcp14>MUST</bcp14> all be deleted at
once. If it is not possible for any member of the related group to be
deleted for any reason, the delete command <bcp14>MUST</bcp14> fail leaving all
members of the related group intact.</t>
        <t>If the delete command is successful, the response <bcp14>MUST</bcp14> include the
extension element which <bcp14>MUST</bcp14> include both an indication of the Primary
Domain and the list of all members of the related group that were
deleted, including the Primary Domain.</t>
      </section>
      <section anchor="epp-renew-command">
        <name>EPP renew command</name>
        <t>The EPP renew command is not extended.</t>
        <t>The server <bcp14>MAY</bcp14> reject renewals while a related group is being
transferred.</t>
      </section>
      <section anchor="epp-lttransfergt-query-command">
        <name>EPP &lt;transfer&gt; query command</name>
        <t>The EPP &lt;transfer&gt; query command is not extended.</t>
        <t>Note that because related groups are transferred as a group, the
result of the a &lt;transfer&gt; query command is necessarily the same
for all domains in a group. Therefore, the result of a
&lt;transfer&gt; query command for any domain in a related group
applies to all domains in the group.</t>
      </section>
    </section>
    <section anchor="result-codes">
      <name>Result codes</name>
      <t>The following additional result codes are defined:</t>
      <t>23x1: Change impossible because of a transfer in progress.</t>
      <t>23x2: Change impossible because something is not a variant.</t>
      <t>This error code is used when a change presupposes that two domains
belong to the same variant group, but the EPP server's implementation
disagrees.</t>
      <t>23x3: Change impossible due to invalid primary domain</t>
      <t>This error code is used when the primary domain specified in the
command is not registered, or is not registered via this registrar.</t>
      <t>23x4: Change impossible due to unspecified primary domain</t>
      <t>This error code is used when a command needs to specify a primary
domain, and does not.</t>
      <t>23x5: Specified domain is exempted</t>
      <t>This error code is used when a domain specifies a primary domain, and
the change is impossible because the specified domain is exempted
instead.</t>
      <t>23x6: Specified domain is allocatable, but not by you.</t>
      <t>This result code is used when a domain is a member of a variant set,
and the command did not refer to the primary domain.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The design of this extension is almost completely based on work done
by and decisions made by the <xref target="EPDP"/> committee, which was reviewed by
a small technical design team chaired by James Galvin. Members of this
team included Dennis Tan, Rick Wilhelm, Edmon Chung, and Jennifer Chung.
This text (in RFC format) was initially written by Arnt
Gulbrandsen based on a conference presentation by James Galvin.</t>
      <t>YOU YES YOU (&lt;- insert name) have reviewed it and provided helpful
comments or contributed in other ways.</t>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>If two domains are different according to the DNS rules and identical
in the eyes of the intended audience, then the audience may be
confused. Confusion can always have security-related effects.</t>
      <t>This extension expresses the relationships between variants clearly,
making it a little more difficult for a would-be impersonator to
register a variant of another registrant's existing domain.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5730">
          <front>
            <title>Extensible Provisioning Protocol (EPP)</title>
            <author fullname="S. Hollenbeck" initials="S." surname="Hollenbeck"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document describes an application-layer client-server protocol for the provisioning and management of objects stored in a shared central repository. Specified in XML, the protocol defines generic object management operations and an extensible framework that maps protocol operations to objects. This document includes a protocol specification, an object mapping template, and an XML media type registration. This document obsoletes RFC 4930. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="69"/>
          <seriesInfo name="RFC" value="5730"/>
          <seriesInfo name="DOI" value="10.17487/RFC5730"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7940">
          <front>
            <title>Representing Label Generation Rulesets Using XML</title>
            <author fullname="K. Davies" initials="K." surname="Davies"/>
            <author fullname="A. Freytag" initials="A." surname="Freytag"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document describes a method of representing rules for validating identifier labels and alternate representations of those labels using Extensible Markup Language (XML). These policies, known as "Label Generation Rulesets" (LGRs), are used for the implementation of Internationalized Domain Names (IDNs), for example. The rulesets are used to implement and share that aspect of policy defining which labels and Unicode code points are permitted for registrations, which alternative code points are considered variants, and what actions may be performed on labels containing those variants.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7940"/>
          <seriesInfo name="DOI" value="10.17487/RFC7940"/>
        </reference>
        <reference anchor="EPDP" target="https://www.icann.org/en/public-comment/proceeding/phase-2-initial-report-of-the-epdp-on-internationalized-domain-names-11-04-2024">
          <front>
            <title>Phase 2 Initial Report of the EPDP on Internationalized Domain Names</title>
            <author initials="" surname="ICANN" fullname="ICANN">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 777?>

<section anchor="open-issues">
      <name>Open issues</name>
      <t>Open issue: Assign numbers to the error codes, properly.</t>
      <t>Open issue: Not clear that there are any security considerations here
— the relationships between the domains may have some, but those exist
outside EPP, EPP merely describes them. In Italian, caffe and caffè
are variants of the same thing, it's not clear that linking them in a
protocol affects security in any way.</t>
      <t>Open issue: Check how to insert a DS record in a variant domain.</t>
      <t>Open issue: Can a unicode upgrade cause domains to become
exempted?  Yes, I think, and the terminology covers it, but as of
now, it's difficult for the EPP client to understand the situation.
Extending the &lt;info&gt; command would help here, perhaps.</t>
      <t>Open issue: &lt;Delete&gt; now cascades and deletes many domains.
Should it instead turn any variant domains into exempted domains?</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIACZZCmkAA+1d63Icx3X+30/RgapM0rW7BC+KLMiWDBEUBZs3E5AVJZVS
zc40sGPOzqzmAhBWsSp5hzxAfvoF8iN/7Tfxk+Tc+jqzC1AXl11RKomI2Zme
06fP9Tune+bzuer6rC6+zqqmNge6bwejyk1L/+r6+/v7H+7fV3nWH+iuL1Q3
LNdl15VN3V9t4Pbjx6efqaw12YHeO9xsqhLuhB87DUPqVyar5qfl2uypy/MD
3Zpz86ZXqmjyOlvDw0WbnfXz86y6KOs5/zo3m838ImvLrO67+f5Dpfqyr+De
o2adlTUMWWW9KfSTthk2+mTYbJq212dNqx+/fKmy5bI1F+5muklVWQ0vN7V6
fXmgtJ7znUO/atoDNddMym/g/3f6CZECNzUtPHJcmBrefqWPyvOyzyq4nsOf
B/pTU1XmYjAz/WXWrcr6vG/wobwZ6r6F3784gb8MkFAd6D/w9H5dymCLQgaz
b35W5qvMVPrTbABKC/vy39blZqOfmaI0tR6Amb9t1uuhLl8Tf/WT9fJzR88R
8AB+K0Ianph2ndVXnpA1v2ex5Pf8+jW+YFEYpeoGbu3LC4PsefXZo/c/eLB/
oFRZnyU/fPDhw3385+OXRy/xv1rL4rxcZZ3R9/VxXfZlVsEq0bI0Z7pfGbpd
A83HdW/amujPqvKPsIqyTs+R+Txe1p4bELVV32+6g7t3Ly8vFyBSdb0Aptw1
9d3NsAQZm+fADODn3U3b5AZ4VJ/f3SAN8/vzkmkAeUIa5s3ZHGgAsSo286aG
XxMa5gXRMMfF6Ob37oHMze/v339I5BQgawfa/WmFRtP/8PIdPzp8/lyp+Xyu
s2XXt1kOEn66KjsNYj4gkbowZ2VtUCVQ9DRIualRg3RWVc0l0K7zCla573Tf
6MpkLfyybIZeoQ7BIpabAYUe9Idl/xzFukPuMu3dTJdmMb6sL1dNZxTNTIOO
avPNUF5kFdIEXM9QIUsg+WrOFBb6MrsixcWb+xIuAEGZ6oDEyti7QTEXPN91
WRQVyM97uLJtUww5slUpnCTOXwaFV337rYjV27cL4gGuH7wISDTwqsJcmKrZ
8Pvgvy3OFkbKtLy6Wf7B5L3O4H+BrjVM9h05rKY5rK/lML8ZnlvBy1fZhQGi
QI9wmU0L7Chz/mmdvTZ4l1kHXAY+nZTrsspafC9QNiN92LRlnZcb0JN1A9rF
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
+zx0br/n9AjRf1tDaMItJeRXK5DM4kr86wL40VyUyHZqkJUEXW63KXJYCIgR
/0lYaa6fNz3GuRzmcuXPRpeuPWNjX4y+zZVUOBsIqM+SOuLMSXaykly06LiX
JWiPJ3UAmsQpvxM13USpE/s0eSicqRX47znJXnmFMnGzCb7lpamxT+dU2oW/
x8soaOamSQv3eTiJ937ZpmTpkw2ZGS3yI5COZg3C5rt6c7okjJItgVeunn9G
+xPIroHbHKoywxSdQsXQd2K7w7TrTH/5W3rO9N2itlxrzfw+32kbF6bwoKsO
jSNirbpRTfk2PZIjaLMCxwr/icLqmTZ9vriz023X08za6bbfmXSmeaYCoJbK
nCvu/S+vQ5IXmOvahnAYJoiGHXFBbYDqSpgtU78Qb1sNy4G8MVSMbGASZ/HM
fIeJM1zgz/jllhXUPzV+Gbb1AKML2xP2Pfn/k6/+YXx1rEpWLMVBY0xGI45v
YR9fYQecZEF9lKxyl7JY4iRBSgGgLRnSaDl35UfKw4DfTRRcK/wEIpY50z2C
w0h28Alb2qbt8vHrE9DtJ7HaJVaTcjXeUz9eZJqnY6UKWOnkrxty2dopiFZI
Mb0T1wbELAma6Df0wIhccX7s/W20CWnkc6d+/W5+lzbgy8y3jmyRcywegWBi
SUYFRtaqh3XW0/tNrs1pJ1/N9lklLug7mmg1Aj6+g4lWiQAwBUI7occGnrLQ
LrhgzCo4bLn/YP99vfeCDm6wnhHiw1W5xKjWldn2vhevfhxfxvrCc6MMxJUh
JqyEjqxEpr6jEZjJS6hX9GxqC5i0S8bK7nDuqAGG9wFxF/DNV+zW/f39B3pP
NqkUCoJKCDSwBkxnDdXne7ewV6oPNvLF+SIwOIw7rPIJKO524/IZPLIdd9ye
j3FmWWyhGQ+puNLczbijFLv4AT2i1H628zGiaVQeUgmE2MSEpd5Qovqxu5IU
eJoE78bUNQK6y4199Hflxn6Kjn6Kjv6fRkd+X+Nx7zAw7roqvPHdNGQDu45a
KNg8VE3Hu70lbVW0eUHWUbYvDLghRBgQbcyXrrkEf3F76SUQitu801iOayfj
SG7777c67U5U6rPuNTm6xmNJoEK1uVTW4VGwkO5NCqsiM++ZxrRYx2d9Ed8y
JXbkuILOUXlCBXShVhJv4oJaPNDIwGMkqmiivG3kwnALaFZHLfoujuX9bKPN
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
D6rSz1w3hAAA

-->

</rfc>
