<?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 3.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-galvin-regext-epp-variants-03" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="Domain Group">Domain Related Group Support for EPP</title>
    <seriesInfo name="Internet-Draft" value="draft-galvin-regext-epp-variants-03"/>
    <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="03"/>
    <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
stops as soon as at most 1 allocated domain remains within a related
group or all allocated domain names belong to the same entity.</t>
      <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 753?>

<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:
H4sIAAAAAAAAA+092XLkxpHv9RW1VIQ14+ju4RxeW/QhU8ORRHsuD0fWajc2
FGigyIYHDbQANClaoYjdf9gP2Ef/wD7sq/0n/pLNs1BVQDc5Ohx2rBy2h42j
Kisr78xKzOdz0/VZXXyeVU3tjmzfbp0pNy391fUPDg/fO3xg8qw/sl1fmG67
XJddVzZ1f72Bx0+fvP7QZK3LjuzB8WZTlfAk3OwsDGlfuayavy7X7sBcXRzZ
1l24L3tjiiavszW8XLTZeT+/yKrLsp7z3bnbbOaXWVtmdd/NDx8a05d9Bc+e
NOusrGHIKutdYT9qm+3Gnm03m6bt7XnT2icvX5psuWzdpX+YHjJVVsPkrjZv
ro6MtXN+ctuvmvbIzC2D8hv4/85+RKDAQ00Lr5wWrobZr+1JeVH2WQXXc/h5
ZD9wVeUut25mP826VVlf9A2+lDfbum/h/idn8MsBCNWR/QMv79elDLYoZDCd
+VmZrzJX2Q+yLUBa6OS/rcvNxj5zRelquwVk/rZZr7d1+Ybwaz9aLz/28JwA
DuBeEcLwkWvXWX09ALLmeRZLnufXb3CCReGMqRt4tC8vHaLn1YePf/LTh4dH
xpT1eXLjp+89OsQ/n7w8eYn/Wiub83KVdc4+sKd12ZdZBbtE29Kc237l6HEL
MJ/WvWtrgj+ryj/CLso+PUfk83hZe+GA1FZ9v+mO7t27urpaAEnV9QKQcs/V
9zbbJdDYPAdkAD7vbdomd4Cj+uLeBmGYP5iXDAPQE8Iwb87nAAOQVbGZNzXc
TWCYFwTDHDejm9+/Pz98NH9w+OARgVMArR1Z/1OJxtJ/ePtOHx8/f27MfD63
2bLr2ywHCn+9KjsLZL5FIG3hzsvaIUsg6VmgclcjB9msqporgN3mFexy39m+
sZXLWrizbLa9QR6CTSw3WyR64B+m/Qsk6w6xy7B3M1u6xfiyvVo1nTO0Mgs8
at0X2/IyqxAmwHqGDFkCyNdzhrCwV9k1MS4+3JdwAQDKTAcgVk6fBsZc8HrX
ZVFUQD/v4M62TbHNEa3G4CJx/TIoTPXVV0JWX3+9IBzg/sFEAKKDqQp36apm
w/PBvy2uFkbKrEzdLP/g8t5m8F+Aaw2LfUsMm2kM2xsxzDPDeyuYfJVdOgAK
+Ai32bWAjjLnW+vsjcOn3DrAMuDprFyXVdbivADZjPhh05Z1Xm6AT9YNcBcz
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

-->

</rfc>
