Network Working Group J. Gould Internet-Draft P. Garg Intended status: Standards Track M.S. Malang Khader Expires: 21 January 2027 VeriSign, Inc. 20 July 2026 Status Set Extension Mapping for the Extensible Provisioning Protocol draft-gould-regext-epp-status-set-00 Abstract This document describes an Extensible Provisioning Protocol (EPP) extension for the provisioning and management of status sets applied to EPP objects, such as the domain name object in RFC 5731. The EPP status values defined in the EPP object mappings, such as Section 2.3 of RFC 5731, support human-readable text that describes the rationale or reason for the status applied to the object. There can be many overlapping reasons for a status value being applied to the object, such as implementing a lock service, complying with a court order, or addressing domain abuse. A status set defines an object representing the reason for setting a list of status values, so clients and servers can manage the status sets in place of individual status values to effectively manage the overlapping reasons. The EPP extension supports the provisioning of client status sets, disclosure of the server status sets, and an enhanced authorization model for client status sets with the EPP Authentication Token in draft-gould- regext-epp-auth-token. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 21 January 2027. Gould, et al. Expires 21 January 2027 [Page 1] Internet-Draft EPP Status Set Extension July 2026 Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 1.2. Registrar User . . . . . . . . . . . . . . . . . . . . . 4 2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Status Value . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Status Set . . . . . . . . . . . . . . . . . . . . . . . 5 2.3. Authentication Token . . . . . . . . . . . . . . . . . . 6 2.4. M-of-N . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 7 3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 7 3.1.1. EPP Command . . . . . . . . . . . . . . . . . 7 3.1.2. EPP Command . . . . . . . . . . . . . . . . . 8 3.1.3. EPP Command . . . . . . . . . . . . . . . 17 3.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 17 3.2.1. EPP Command . . . . . . . . . . . . . . . . 18 3.2.2. EPP Command . . . . . . . . . . . . . . . . 20 3.2.3. EPP Command . . . . . . . . . . . . . . . . . 21 3.2.4. EPP Command . . . . . . . . . . . . . . . 22 3.2.5. EPP Command . . . . . . . . . . . . . . . . 24 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 28 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 5.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 31 5.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 31 6. Security Considerations . . . . . . . . . . . . . . . . . . . 32 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 7.1. Normative References . . . . . . . . . . . . . . . . . . 32 7.2. Informative References . . . . . . . . . . . . . . . . . 34 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 Gould, et al. Expires 21 January 2027 [Page 2] Internet-Draft EPP Status Set Extension July 2026 1. Introduction This document describes an Extensible Provisioning Protocol (EPP) extension for the provisioning and management of status sets applied to EPP objects, such as the domain name object in [RFC5731] and the host object in [RFC5732]. The EPP status values defined in the EPP object mappings, such as Section 2.3 of [RFC5731], support human- readable text that describes the rationale or reason for the status applied to the object. There can be many overlapping reasons for a status value being applied to the object, such as implementing a lock service, complying with a court order, or addressing domain abuse. A status set defines an object representing the reason for setting a list of status values, so clients and servers can manage the status sets in place of individual status values to effectively manage the overlapping reasons. The EPP extension supports the provisioning of client status sets, disclosure of the server status sets, and an enhanced authorization model for client status sets with the Authentication Token in draft-gould-regext-epp-auth-token. This document defines new EPP commands in the form of the Status Set Info, Status Set Create, Status Set Delete, Status Set Renew, and Status Set Update. This document describes a Status Set Extension Mapping for version 1.0 of the Extensible Provisioning Protocol (EPP) [RFC5730]. This extension is specified using the XML 1.0 as described in [W3C.REC-xml-20040204] and XML Schema notation as described in [W3C.REC-xmlschema-1-20041028] and [W3C.REC-xmlschema-2-20041028]. 1.1. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [BCP14] when, and only when, they appear in all capitals, as shown here. In examples, "C:" represents lines sent by a protocol client and "S:" represents lines returned by a protocol server. Indentation and white space in examples is provided only to illustrate element relationships and is not a REQUIRED feature of this specification. XML is case sensitive. Unless stated otherwise, XML specifications and examples provided in this document MUST be interpreted in the character case presented to develop a conforming implementation. Gould, et al. Expires 21 January 2027 [Page 3] Internet-Draft EPP Status Set Extension July 2026 The XML namespace prefix "statusSet" is used for the namespace "urn:ietf:params:xml:ns:epp:statusSet-0.1", but implementations MUST NOT depend on it; instead, they should employ a proper namespace- aware XML parser and serializer to interpret and output the XML documents. 1.2. Registrar User [RFC8499] defines the registrar as "a service provider that acts as a go-between for registrants and registries." and defines the registrant and registry. A registrar can have many users that interface with the registry across many channels, such as EPP and Web User Interface (UI), which is referred to as a Registrar User in this document. The EPP client in [RFC5730], referred to as the EPP Registrar User is this document, is a registrar system that uses the EPP Registrar User credentials to authenticate with the command to establish an EPP session. The Registrar User authenticates to create the Authentication Token, defined in draft- gould-regext-epp-auth-token, that MUST NOT be the EPP Registrar User since the EPP Registrar User is used only to create the EPP session. The ability to provision Status Sets using an Authentication Token is based on enabling a Registrar User to generate an Authentication Token and having the required set of authorization groups to authorize a Status Set action. 2. Object Attributes This extension adds additional elements to EPP objects, such as the domain name mapping described in [RFC5731] and the host mapping described in [RFC5732]. Common attributes are described here. 2.1. Status Value A Status Value is defined for EPP objects in the EPP extensions, such as Status Values in Section 2.3 of [RFC5731] and Section 3.1 of [RFC3915]. There is a single Status Value assigned to an object by type, such as the "clientUpdateProhibited" Status Value in [RFC5731] and the "redemptionPeriod" Status Value in [RFC3915]. The Status Value can include a text message indicating the reason(s) that the Status Value is set, such as: Auth Token Lock,Registrar Lock Gould, et al. Expires 21 January 2027 [Page 4] Internet-Draft EPP Status Set Extension July 2026 Inclusion and format of the Status Value reason(s) is specific to each server implemenation, and the client needs to implement the server-specific format. The Status Set, described in Section 2.2, makes the reason string into a named object with a set of attributes, including the associated Status Values. 2.2. Status Set A Status Set is an object that defines the reason for the Status Values (Section 2.1) for an EPP object, such as the domain name object in [RFC5731] and the host object in [RFC5732]. The Status Set can also be used as a Marker Status Set when there are no mapped Status Values that can drive additional business logic and publishing use cases. An EPP object can have many assigned Status Sets, and the Status Sets can include an overlapping set of Status Values. The Status Value will be assigned to the object if there is at least one Status Set assigned to the object with the mapped Status Value. The Status Value will be unassigned from the object when all Status Sets are unassigned with the mapped Status Value. For example, both the "Registrar Lock" Status Set and the "Auth Token Lock" Status Set are mapped to the "clientUpdateProhibited" Status Value, where if either of the Status Sets are assigned to the EPP object, the "clientUpdateProhibited" Status Value will be assigned. "clientUpdateProhibited" Status Value will be unassigned if both "Registrar Lock" Status Set and "Auth Token Lock" Status Sets are unassigned. A Status Set has the following attributes: * "name": The unique name for the Status Set that is up to server policy. The reserved name "REDACTED" can be used for a Server Status Set where the server cannot disclose the reason, such as the case for a sealed court order. Example names include "Registrar Lock", "Auth Token Lock", and "Registry Lock". * "type": The type of Status Set, which is either "client" for a Client Status Set or "server" for a Server Status Set. A Client Status Set MAY be set, unset, and overridden with authorization defined in the Authentication Token (Section 2.3) by the client. A Server Status Set MUST only be set and unset by the server and MUST NOT be overridden by the client. * "authTokenUsed": A boolean value indicating whether or not an Authentication Token (Section 2.3) is used with the Client Status Set. If "true", an Authentication Token (Section 2.3) is needed to authorize setting, unsetting, and overriding the Client Status Set; otherwise the Authentication Token (Section 2.3) does not need to be passed. This value MUST be set only when the "type" attribute is set to "client". Gould, et al. Expires 21 January 2027 [Page 5] Internet-Draft EPP Status Set Extension July 2026 * "inherited": A boolean value indicating whether or not the Status Set is inherited from the parent object (domain name) and is inherited by the child objects (hosts). The Status Values of the object only include Status Sets directly assigned and not inherited by the object. Inherited Status Values are enforced by the server but NOT persisted to the child object. * "assigned": A boolean value indicating whether or not the Status Set is directly assigned to the object. The command supports returning "all" Status Sets for the client to see what Client Status Sets are available and directly assigned to the object. Only "assigned" Server Status Sets will be returned in the response extension. * "crDate": Date and time that the Status Set was assigned to the EPP object. * "status": List of 0 or more Status Values (Section 2.1) mapped to the Status Set. A Status Set with zero Status Values is considered a Marker Status Set. Example Status Values include the lock statuses from [RFC5731] and [RFC5732] with "clientUpdateProhibited", "clientDeleteProhibited", "clientTransferProhibited", "serverUpdateProhibited", "serverDeleteProhibited", and "serverTransferProhibited". * "reason": Reason that the Status Set was assigned to the object. This is only needed when the "name" attribute alone doesn't clearly indicate the reason. An example is providing the more detailed reason "Botnet domain name" for the "Domain Abuse" Status Set. A client can manage Client Status Values using Client Status Sets instead of setting individual Client Status Values, since the Status Set represents a container of Status Values that can overlap. The Status Set provides an explicit signal of the Status Value reasons that improves the status management when there are overlapping reasons. The support for the Authentication Token (Section 2.3) provides an additional layer of authorization with the ability to override Client Status Sets in Status Set transform commands. 2.3. Authentication Token The Authentication Token, defined in section 2.1 of draft-gould- regext-epp-auth-token, uses JSON Web Signature (JWS), defined in [RFC7515], with JWS Compact Serialization, defined in Section 3.1 of [RFC7515], to digitally sign the JWS Protected Header properties and JWS Payload claims in a single string that is embedded in the XML element. An Authentication Token is used Gould, et al. Expires 21 January 2027 [Page 6] Internet-Draft EPP Status Set Extension July 2026 to authorize provisioning and overriding a Client Status Set that has the element set to "1" or "true" in the Status Set Info Response (Section 3.1.2). The overriding capability MUST only apply to Client Status Sets. Example Authentication Token XML element: eyJhbGciOiJFUzUxMiIsInR5cCI6ImVhdCtqd3MiLCJraWQiOiJFQVRfS0VZMV9TWVN URU0tUkVQIn0.eyJqdGkiOiJFQVRfMTIzNDVfU1lTVEVNLVJFUCIsInN1YiI6IkNsaW VudFkiLCJleHAiOiIxNzc1NjgyMDAwIiwiZW50aXRsZW1lbnRzIjpbIlNFUlZJQ0UxL VJPIiwiU0VSVklDRTItUlciLCJUTEQxLVJXIiwiVExEMi1SVyJdfQ.ADJWkWMnZUFLl l2Jzxbw00919aC_qm_9UgeBKCY6MSAnVZtOmqVlE-Gfyut5dk7iU69VXKRi89RU3L4Y MyVvykFvAJm-aqNpHkYaYUZ_a0aZeN2KcVTVUXzPEtnq7kldvJTpYhB1-JmbFuQ2B6Z 5PFZeR5k-ScmDEDdFl9nIFCLd5-mF 2.4. M-of-N M-of-N applies to the use of Authentication Tokens (Section 2.3), where M defines the number of registrar users (Section 1.2) with a valid Authentication Token (Section 2.3) needed to authorize a Status Set action out of N registrar users (Section 1.2) that can generate an Authentication Token. The Status Set transform commands support providing a list of Authentication Tokens (Section 2.3), using the elements. The value of M is up to server policy and can be at the server-level that applies to all registrars or can apply at the registrar-level and configured on a per-registrar basis. The value of N is dynamic and is based on the number of registrar users (Section 1.2) that support the generation of Authentication Tokens (Section 2.3) in the server. 3. EPP Command Mapping A detailed description of the EPP syntax and semantics can be found in the EPP core protocol specification [RFC5730]. 3.1. EPP Query Commands This document defines one EPP Query Command with to retrieve the Status Set information for the object. This document does not define a mapping for the EPP command or the command. 3.1.1. EPP Command This extension does not add any elements to the EPP command or response. Gould, et al. Expires 21 January 2027 [Page 7] Internet-Draft EPP Status Set Extension July 2026 3.1.2. EPP Command A new Status Set Info Command by extending the EPP command to get information for an EPP object with the inclusion of the Status Set information, defined in Section 2.2, that is optionally authorized by applying the Authentication Tokens and their authorization groups, defined in Section 2.3. In addition to the EPP command elements described in the EPP command, the command MAY contain an element. The element MUST contain a child element with an OPTIONAL "sets" attribute that can be either "assigned" or "all", with "assigned" being the default value. The value "assigned" can be used to return the Status Sets directly assigned to or inherited by the EPP object, and "all" to return the Status Sets that are assigned to and available for the EPP object. The element contains the following child elements: * An OPTIONAL list of elements, defined in Section 2.3, that supports authorizing the data returned in the Status Set Info Response in support of M-of-N authorization, defined in Section 2.4. The authorization groups in the list of Authentication Tokens (Section 2.3) are intersected to determine the data that will be returned. If no elements are provided, the server will return the default data based on the EPP Registrar User (Section 1.2) authorization of the EPP session. Example Domain Name Status Set Info Command that uses the default "assigned" form: C: C: C: C: C: C: domain.example C: C: C: C: C: C: ABC-12345 C: C: Gould, et al. Expires 21 January 2027 [Page 8] Internet-Draft EPP Status Set Extension July 2026 Example Domain Name Status Set Info Command that uses the "assigned" form with two authentication tokens to determine the data returned: C: C: C: C: C: C: domain.example C: C: C: C: C: C:eyJhbGciOiJFUzUxMiIsInR5cCI6ImVhdCtqd3MiLCJraWQiOiJFQVRfS0VZMV9TWVN C:URU0tUkVQIn0.eyJqdGkiOiJFQVRfMTIzNDVfU1lTVEVNLVJFUCIsInN1YiI6IkNsaW C:VudFkiLCJleHAiOiIxNzc1NjgyMDAwIiwiZW50aXRsZW1lbnRzIjpbIlNFUlZJQ0UxL C:VJPIiwiU0VSVklDRTItUlciLCJUTEQxLVJXIiwiVExEMi1SVyJdfQ.ADJWkWMnZUFLl C:l2Jzxbw00919aC_qm_9UgeBKCY6MSAnVZtOmqVlE-Gfyut5dk7iU69VXKRi89RU3L4Y C:MyVvykFvAJm-aqNpHkYaYUZ_a0aZeN2KcVTVUXzPEtnq7kldvJTpYhB1-JmbFuQ2B6Z C:5PFZeR5k-ScmDEDdFl9nIFCLd5-mF C: C: C:eyJ0eXAiOiJKV1QiLA0KICabcJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJ C:leHAiOjEzMDAabc4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp C:0cnVlfQ.dBjftJeZ4CVP-mB92K27abcuhbUJU1p1r_wW1gFWFOEjXk C: C: C: C: ABC-12345 C: C: Example Domain Name Status Set Info Command that uses the "all" form: Gould, et al. Expires 21 January 2027 [Page 9] Internet-Draft EPP Status Set Extension July 2026 C: C: C: C: C: C: domain.example C: C: C: C: C: C: ABC-12345 C: C: If the query was successful, the server replies with a element along with the regular EPP . The contains the following child elements: * A element that includes the unique name for the Status Set that is up to server policy. Example names include "Registrar Lock", "Auth Token Lock", and "Registry Lock". There is a reserved value of "REDACTED" that is used for a Server Status Set, where the name must be redacted based on server policy. * A element that indicates whether the Status Set is a Client Status Set with a value of "client" or the Status Set is a Server Status Set with a value of "server". * An OPTIONAL element that is a boolean with a default value of "false" that indicates whether the Status Set uses the Authentication Token, defined in Section 2.3. If "1" or "true", an Authentication Token is needed to authorize the setting, unsetting, and overriding the Client Status Set; otherwise with a value of "0" or "false" the Authentication Token does not need to be passed. An OPTIONAL "num" attribute, with a default value of "1", indicates the M value in M-of-N, defined in Section 2.4. Gould, et al. Expires 21 January 2027 [Page 10] Internet-Draft EPP Status Set Extension July 2026 * An OPTIONAL element that is a boolean with a default value of "false" that indicates whether the Status Set is inherited from the parent object (domain name), in the case of the EPP Host object in [RFC5732], and is inherited by the child objects (hosts), in the case of the EPP Domain Name object in [RFC5731]. * An OPTIONAL element that is a boolean with a default value of "true" that indicates whether the Status Set is assigned to the EPP object. A value of "false" indicates that the Status Set is available to be set, which only applies to Client Status Sets. * An OPTIONAL element that is the date and time that the Status Set was assigned to the object. * An OPTIONAL list of zero or more elements that includes the Status Values, defined in Section 2.1 mapped to the Status Set. * An OPTIONAL element that indicates the freefrom text reason that Status Set was assigned to the object. Example Domain Name Status Set Info Response that includes the assigned Client Status Sets ("Auth Token Lock" and "Registrar Lock") and the assigned Server Status Set ("Registry Lock"): S: S: S: S: S: Command completed successfully S: S: S: S: example.com S: EXAMPLE1-REP S: S: Auth Token Lock,Registrar Lock S: S: S: Auth Token Lock,Registrar Lock S: S: S: Auth Token Lock,Registrar Lock S: S: Gould, et al. Expires 21 January 2027 [Page 11] Internet-Draft EPP Status Set Extension July 2026 S: Registry Lock S: S: S: Registry Lock S: S: S: Registry Lock S: S: S: ns1.example.com S: ns1.example.net S: S: ns1.example.com S: ns2.example.com S: ClientX S: ClientY S: 2000-04-03T22:00:00.0Z S: ClientX S: 2026-05-03T09:10:00.0Z S: 2027-04-03T22:00:00.0Z S: 2022-04-08T09:00:00.0Z S: S: 2fooBAR S: S: S: S: S: S: S: Auth Token Lock S: client S: true S: true S: true S: 2026-05-03T09:00:00.0Z S: S: clientUpdateProhibited S: S: clientDeleteProhibited S: S: clientTransferProhibited S: S: S: S: Registrar Lock S: client S: false Gould, et al. Expires 21 January 2027 [Page 12] Internet-Draft EPP Status Set Extension July 2026 S: false S: true S: 2026-05-03T09:00:00.0Z S: S: clientUpdateProhibited S: S: clientDeleteProhibited S: S: clientTransferProhibited S: S: S: S: Registry Lock S: server S: false S: false S: true S: 2026-05-03T09:10:00.0Z S: S: serverUpdateProhibited S: S: serverDeleteProhibited S: S: serverTransferProhibited S: S: S: S: S: S: ABC-12345 S: 54322-XYZ S: S: S: Example Domain Name Status Set Info Response with the "all" form that includes the two assigned Client Status Sets ("Registrar Lock", "Auth Token Lock"), the two assigned Server Status Sets ("Registry Lock" and the reserved "REDACTED"), and the available Client Status Set ("Registrar Court Order Lock"): S: S: S: S: S: Command completed successfully S: S: Gould, et al. Expires 21 January 2027 [Page 13] Internet-Draft EPP Status Set Extension July 2026 S: S: example.com S: EXAMPLE1-REP S: S: Auth Token Lock,Registrar Lock S: S: S: Auth Token Lock,Registrar Lock S: S: S: Auth Token Lock,Registrar Lock S: S: S: Registry Lock S: S: S: Registry Lock S: S: S: Registry Lock S: S: S: REDACTED S: S: S: ns1.example.com S: ns1.example.net S: S: ns1.example.com S: ns2.example.com S: ClientX S: ClientY S: 2000-04-03T22:00:00.0Z S: ClientX S: 2026-05-03T09:10:00.0Z S: 2027-04-03T22:00:00.0Z S: 2022-04-08T09:00:00.0Z S: S: 2fooBAR S: S: S: S: S: S: S: Auth Token Lock Gould, et al. Expires 21 January 2027 [Page 14] Internet-Draft EPP Status Set Extension July 2026 S: client S: true S: true S: true S: 2026-05-03T09:00:00.0Z< S: /statusSet:crDate> S: clientUpdateProhibited S: S: clientDeleteProhibited S: S: clientTransferProhibited S: S: S: S: Registrar Lock S: client S: false S: false S: true S: 2026-05-03T09:00:00.0Z S: S: clientUpdateProhibited S: S: clientDeleteProhibited S: S: clientTransferProhibited S: S: S: S: Registry Lock S: server S: false S: false S: true S: 2026-05-03T09:10:00.0Z S: S: serverUpdateProhibited S: S: serverDeleteProhibited S: S: serverTransferProhibited S: S: S: S: REDACTED S: server S: false S: false Gould, et al. Expires 21 January 2027 [Page 15] Internet-Draft EPP Status Set Extension July 2026 S: true S: 2026-05-01T10:11:00.0Z S: S: serverHold S: S: S: Registrar Court Order Lock S: S: client S: false S: false S: false S: clientUpdateProhibited S: S: clientDeleteProhibited S: S: clientTransferProhibited S: S: S: S: S: S: ABC-12345 S: 54322-XYZ S: S: S: Example Host Status Set Info Response that includes an the inherited Client Status Set ("Auth Token Lock") from the parent domain name: S: S: S: S: S: Command completed successfully S: S: S: S: ns1.example.com S: NS1_EXAMPLE1-REP S: S: 192.0.2.2 S: 192.0.2.29 S: 1080:0:0:0:8:800:200C:417A S: ClientY S: ClientX Gould, et al. Expires 21 January 2027 [Page 16] Internet-Draft EPP Status Set Extension July 2026 S: 2000-04-03T22:00:00.0Z S: ClientX S: 2026-05-03T09:00:00.0Z S: 2022-04-08T09:00:00.0Z S: S: S: S: S: S: Auth Token Lock S: client S: true S: true S: false S: 2026-05-03T09:00:00.0Z S: S: clientUpdateProhibited S: S: clientDeleteProhibited S: S: clientTransferProhibited S: S: S: S: S: S: ABC-12345 S: 54322-XYZ S: S: S: 3.1.3. EPP Command This extension does not add any elements to the EPP query command or query response. 3.2. EPP Transform Commands This document defines a new EPP Status Set Command for each of the EPP Transform Commands, defined in [RFC5730], to enable the provisioning of the Client Status Sets in the and commands and the overriding of the Client Status Sets with the passing of one or more Authentication Tokens in each of the EPP Status Set Transform Commands. An example is the definition of the EPP Domain Status Set Update Command in Section 3.2.5 extending the domain name command in [RFC5731]. Gould, et al. Expires 21 January 2027 [Page 17] Internet-Draft EPP Status Set Extension July 2026 3.2.1. EPP Command A new Status Set Create Command by extending the EPP command to create an EPP object, such as the domain name in [RFC5731] or a host in [RFC5732], with a list of Status Sets (Section 2.2) that will be assigned initially. In addition to the EPP command elements described in the EPP command, the command MAY contain an element. The element MUST contain a child element that contains the following child elements: * An OPTIONAL list of elements, defined in Section 2.3, that supports authorizing the assigning of the Status Sets in support of M-of-N authorization, defined in Section 2.4. * One or more elements that include the unique name of the Status Set, defined in Section 2.2. Example Domain Name Status Set Create Command that sets the "Registrar Lock" Status Set: C: C: C: C: C: C: example.com C: 2 C: C: ns1.example.net C: ns2.example.net C: C: C: 2fooBAR C: C: C: C: C: C: Registrar Lock C: C: C: ABC-12345 C: C: Gould, et al. Expires 21 January 2027 [Page 18] Internet-Draft EPP Status Set Extension July 2026 Example Domain Name Status Set Create Command that sets the "Registrar Lock" Status Set and the "Auth Token Lock", which includes 2 Authentication Tokens to meet an M value of 2, in M-of-N: C: C: C: C: C: C: example.com C: 2 C: C: ns1.example.net C: ns2.example.net C: C: C: 2fooBAR C: C: C: C: C: C: C:eyJhbGciOiJFUzUxMiIsInR5cCI6ImVhdCtqd3MiLCJraWQiOiJFQVRfS0VZMV9TWVN C:URU0tUkVQIn0.eyJqdGkiOiJFQVRfMTIzNDVfU1lTVEVNLVJFUCIsInN1YiI6IkNsaW C:VudFkiLCJleHAiOiIxNzc1NjgyMDAwIiwiZW50aXRsZW1lbnRzIjpbIlNFUlZJQ0UxL C:VJPIiwiU0VSVklDRTItUlciLCJUTEQxLVJXIiwiVExEMi1SVyJdfQ.ADJWkWMnZUFLl C:l2Jzxbw00919aC_qm_9UgeBKCY6MSAnVZtOmqVlE-Gfyut5dk7iU69VXKRi89RU3L4Y C:MyVvykFvAJm-aqNpHkYaYUZ_a0aZeN2KcVTVUXzPEtnq7kldvJTpYhB1-JmbFuQ2B6Z C:5PFZeR5k-ScmDEDdFl9nIFCLd5-mF C: C: C:eyJ0eXAiOiJKV1QiLA0KICabcJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJ C:leHAiOjEzMDAabc4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp C:0cnVlfQ.dBjftJeZ4CVP-mB92K27abcuhbUJU1p1r_wW1gFWFOEjXk C: C: Registrar Lock C: Auth Token Lock C: C: C: ABC-12345 C: C: Gould, et al. Expires 21 January 2027 [Page 19] Internet-Draft EPP Status Set Extension July 2026 This extension does not define any extension to the response of a command. After processing the command, the server replies with a standard EPP response as defined in the EPP object mapping, such as defined in Section 3.2.1 of [RFC5731]. 3.2.2. EPP Command A new Status Set Delete Command by extending the EPP command to delete an EPP object that is authorized by applying the Authentication Tokens and their authorization groups, defined in Section 2.3, to override the assigned Client Status Sets that uses Authentication Tokens. In addition to the EPP command elements described in the EPP command, the command MAY contain an element. The element MUST contain a child element that contains the following child elements: * One or more elements, defined in Section 2.3, that authorizes the overriding of the Client Status Sets in support of M-of-N authorization, defined in Section 2.4. Example Domain Name Status Set Delete Command that includes a single Authentication Token (M = 1 with M-of-N authorization) to authorize the delete: Gould, et al. Expires 21 January 2027 [Page 20] Internet-Draft EPP Status Set Extension July 2026 C: C: C: C: C: C: example.com C: C: C: C: C: C:eyJhbGciOiJFUzUxMiIsInR5cCI6ImVhdCtqd3MiLCJraWQiOiJFQVRfS0VZMV9TWVN C:URU0tUkVQIn0.eyJqdGkiOiJFQVRfMTIzNDVfU1lTVEVNLVJFUCIsInN1YiI6IkNsaW C:VudFkiLCJleHAiOiIxNzc1NjgyMDAwIiwiZW50aXRsZW1lbnRzIjpbIlNFUlZJQ0UxL C:VJPIiwiU0VSVklDRTItUlciLCJUTEQxLVJXIiwiVExEMi1SVyJdfQ.ADJWkWMnZUFLl C:l2Jzxbw00919aC_qm_9UgeBKCY6MSAnVZtOmqVlE-Gfyut5dk7iU69VXKRi89RU3L4Y C:MyVvykFvAJm-aqNpHkYaYUZ_a0aZeN2KcVTVUXzPEtnq7kldvJTpYhB1-JmbFuQ2B6Z C:5PFZeR5k-ScmDEDdFl9nIFCLd5-mF C: C: C: C: ABC-12345 C: C: This extension does not define any extension to the response of an command. After processing the command, the server replies with a standard EPP response as defined in the EPP object mapping, such as defined in Section 3.2.2 of [RFC5731]. 3.2.3. EPP Command A new Status Set Renew Command by extending the EPP command to renew an EPP object that is authorized by applying the Authentication Tokens and their authorization groups, defined in Section 2.3, to override the assigned Client Status Sets that uses Authentication Tokens. In addition to the EPP command elements described in the EPP command, the command MAY contain an element. The element MUST contain a child element that contains the following child elements: * One or more elements, defined in Section 2.3, that authorizes the overriding of the Client Status Sets in support of M-of-N authorization, defined in Section 2.4. Gould, et al. Expires 21 January 2027 [Page 21] Internet-Draft EPP Status Set Extension July 2026 Example Domain Name Status Set Renew Command that includes a single Authentication Token (M = 1 with M-of-N authorization) to authorize the renew: C: C: C: C: C: C: example.com C: 2026-04-03 C: 5 C: C: C: C: C: C:eyJhbGciOiJFUzUxMiIsInR5cCI6ImVhdCtqd3MiLCJraWQiOiJFQVRfS0VZMV9TWVN C:URU0tUkVQIn0.eyJqdGkiOiJFQVRfMTIzNDVfU1lTVEVNLVJFUCIsInN1YiI6IkNsaW C:VudFkiLCJleHAiOiIxNzc1NjgyMDAwIiwiZW50aXRsZW1lbnRzIjpbIlNFUlZJQ0UxL C:VJPIiwiU0VSVklDRTItUlciLCJUTEQxLVJXIiwiVExEMi1SVyJdfQ.ADJWkWMnZUFLl C:l2Jzxbw00919aC_qm_9UgeBKCY6MSAnVZtOmqVlE-Gfyut5dk7iU69VXKRi89RU3L4Y C:MyVvykFvAJm-aqNpHkYaYUZ_a0aZeN2KcVTVUXzPEtnq7kldvJTpYhB1-JmbFuQ2B6Z C:5PFZeR5k-ScmDEDdFl9nIFCLd5-mF C: C: C: C: ABC-12345 C: C: This extension does not define any extension to the response of an command. After processing the command, the server replies with a standard EPP response as defined in the EPP object mapping, such as defined in Section 3.2.3 of [RFC5731]. 3.2.4. EPP Command A new Status Set Transfer Command by extending the EPP command to transfer an EPP object that is authorized by applying the Authentication Tokens and their authorization groups, defined in Section 2.3, to override the assigned Client Status Sets that uses Authentication Tokens. In addition to the EPP command elements described in the EPP command, the command MAY contain an element. The element MUST contain a child element that contains the following child Gould, et al. Expires 21 January 2027 [Page 22] Internet-Draft EPP Status Set Extension July 2026 elements: * One or more elements, defined in Section 2.3, that authorizes the overriding of the Client Status Sets in support of M-of-N authorization, defined in Section 2.4. Example Domain Name Status Set Transfer Command that includes a single Authentication Token (M = 1 with M-of-N authorization) to authorize the transfer: C: C: C: C: C: C: example.com C: 1 C: C: 2fooBAR C: C: C: C: C: C: C:eyJhbGciOiJFUzUxMiIsInR5cCI6ImVhdCtqd3MiLCJraWQiOiJFQVRfS0VZMV9TWVN C:URU0tUkVQIn0.eyJqdGkiOiJFQVRfMTIzNDVfU1lTVEVNLVJFUCIsInN1YiI6IkNsaW C:VudFkiLCJleHAiOiIxNzc1NjgyMDAwIiwiZW50aXRsZW1lbnRzIjpbIlNFUlZJQ0UxL C:VJPIiwiU0VSVklDRTItUlciLCJUTEQxLVJXIiwiVExEMi1SVyJdfQ.ADJWkWMnZUFLl C:l2Jzxbw00919aC_qm_9UgeBKCY6MSAnVZtOmqVlE-Gfyut5dk7iU69VXKRi89RU3L4Y C:MyVvykFvAJm-aqNpHkYaYUZ_a0aZeN2KcVTVUXzPEtnq7kldvJTpYhB1-JmbFuQ2B6Z C:5PFZeR5k-ScmDEDdFl9nIFCLd5-mF C: C: C: C: ABC-12345 C: C: This extension does not define any extension to the response of an command. After processing the command, the server replies with a standard EPP response as defined in the EPP object mapping, such as defined in Section 3.2.4 of [RFC5731]. Gould, et al. Expires 21 January 2027 [Page 23] Internet-Draft EPP Status Set Extension July 2026 3.2.5. EPP Command A new Status Set Update Command by extending the EPP command to transfer an EPP object that is authorized by applying the Authentication Tokens and their authorization groups, defined in Section 2.3, to override the assigned Client Status Sets that uses Authentication Tokens. In addition to the EPP command elements described in the EPP command, the command MAY contain an element. The element MUST contain a child element that contains the following child elements: * An OPTIONAL list of elements, defined in Section 2.3, that authorizes the overriding of the Client Status Sets in support of M-of-N authorization, defined in Section 2.4. * An OPTIONAL element that includes zero or more elements that includes the unique name of the Status Set, defined in Section 2.2, to add to the EPP object. * An OPTIONAL element that includes zero or more elements that includes the unique name of the Status Set, defined in Section 2.2, to remove from the EPP object. The Status Set removes MUST be processed prior to the adds. Example Domain Name Status Set Update Command that includes a single Authentication Token (M = 1 with M-of-N authorization) to authorize the update: Gould, et al. Expires 21 January 2027 [Page 24] Internet-Draft EPP Status Set Extension July 2026 C: C: C: C: C: C: example.com C: C: C: ns2.example.com C: C: C: C: C: ns1.example.com C: C: C: C: C: C: C: C:eyJhbGciOiJFUzUxMiIsInR5cCI6ImVhdCtqd3MiLCJraWQiOiJFQVRfS0VZMV9TWVN C:URU0tUkVQIn0.eyJqdGkiOiJFQVRfMTIzNDVfU1lTVEVNLVJFUCIsInN1YiI6IkNsaW C:VudFkiLCJleHAiOiIxNzc1NjgyMDAwIiwiZW50aXRsZW1lbnRzIjpbIlNFUlZJQ0UxL C:VJPIiwiU0VSVklDRTItUlciLCJUTEQxLVJXIiwiVExEMi1SVyJdfQ.ADJWkWMnZUFLl C:l2Jzxbw00919aC_qm_9UgeBKCY6MSAnVZtOmqVlE-Gfyut5dk7iU69VXKRi89RU3L4Y C:MyVvykFvAJm-aqNpHkYaYUZ_a0aZeN2KcVTVUXzPEtnq7kldvJTpYhB1-JmbFuQ2B6Z C:5PFZeR5k-ScmDEDdFl9nIFCLd5-mF C: C: C: C: ABC-12345 C: C: Example Domain Name Status Set Update Command that includes a two Authentication Tokens (M = 2 with M-of-N authorization) to authorize the update: Gould, et al. Expires 21 January 2027 [Page 25] Internet-Draft EPP Status Set Extension July 2026 C: C: C: C: C: C: example.com C: C: C: ns2.example.com C: C: C: C: C: ns1.example.com C: C: C: C: C: C: C: C:eyJhbGciOiJFUzUxMiIsInR5cCI6ImVhdCtqd3MiLCJraWQiOiJFQVRfS0VZMV9TWVN C:URU0tUkVQIn0.eyJqdGkiOiJFQVRfMTIzNDVfU1lTVEVNLVJFUCIsInN1YiI6IkNsaW C:VudFkiLCJleHAiOiIxNzc1NjgyMDAwIiwiZW50aXRsZW1lbnRzIjpbIlNFUlZJQ0UxL C:VJPIiwiU0VSVklDRTItUlciLCJUTEQxLVJXIiwiVExEMi1SVyJdfQ.ADJWkWMnZUFLl C:l2Jzxbw00919aC_qm_9UgeBKCY6MSAnVZtOmqVlE-Gfyut5dk7iU69VXKRi89RU3L4Y C:MyVvykFvAJm-aqNpHkYaYUZ_a0aZeN2KcVTVUXzPEtnq7kldvJTpYhB1-JmbFuQ2B6Z C:5PFZeR5k-ScmDEDdFl9nIFCLd5-mF C: C: C:eyJ0eXAiOiJKV1QiLA0KICabcJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJ C:leHAiOjEzMDAabc4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp C:0cnVlfQ.dBjftJeZ4CVP-mB92K27abcuhbUJU1p1r_wW1gFWFOEjXk C: C: C: C: ABC-12345 C: C: Gould, et al. Expires 21 January 2027 [Page 26] Internet-Draft EPP Status Set Extension July 2026 Example Domain Name Status Set Update Command that includes a single Authentication Token (M = 1 with M-of-N authorization) to authorize removing the "Auth Token Lock" Status Set and adding the "Auth Token Lock - Transfer Allowed" Status Set, which removes the "clientTransferProhibited" Status Value from the domain name and keeps the "clientUpdateProhibited" and "clientDeleteProhibited" Status Values: C: C: C: C: C: C: example.com C: C: C: C: C: C: C:eyJhbGciOiJFUzUxMiIsInR5cCI6ImVhdCtqd3MiLCJraWQiOiJFQVRfS0VZMV9TWVN C:URU0tUkVQIn0.eyJqdGkiOiJFQVRfMTIzNDVfU1lTVEVNLVJFUCIsInN1YiI6IkNsaW C:VudFkiLCJleHAiOiIxNzc1NjgyMDAwIiwiZW50aXRsZW1lbnRzIjpbIlNFUlZJQ0UxL C:VJPIiwiU0VSVklDRTItUlciLCJUTEQxLVJXIiwiVExEMi1SVyJdfQ.ADJWkWMnZUFLl C:l2Jzxbw00919aC_qm_9UgeBKCY6MSAnVZtOmqVlE-Gfyut5dk7iU69VXKRi89RU3L4Y C:MyVvykFvAJm-aqNpHkYaYUZ_a0aZeN2KcVTVUXzPEtnq7kldvJTpYhB1-JmbFuQ2B6Z C:5PFZeR5k-ScmDEDdFl9nIFCLd5-mF C: C: C: Auth Token Lock - Transfer Allowed C: C: C: C: Auth Token Lock C: C: C: C: C: ABC-12345 C: C: Gould, et al. Expires 21 January 2027 [Page 27] Internet-Draft EPP Status Set Extension July 2026 This extension does not define any extension to the response of an command. After processing the command, the server replies with a standard EPP response as defined in the EPP object mapping, such as defined in Section 3.2.4 of [RFC5731]. 4. Formal Syntax An EPP object mapping is specified in XML Schema notation. The formal syntax presented here is a complete schema representation of the object mapping suitable for automated validation of EPP XML instances. The BEGIN and END tags are not part of the schema; they are used to note the beginning and ending of the schema for URI registration purposes. BEGIN Extensible Provisioning Protocol v1.0 Status Set Extension. Gould, et al. Expires 21 January 2027 [Page 28] Internet-Draft EPP Status Set Extension July 2026 Gould, et al. Expires 21 January 2027 [Page 29] Internet-Draft EPP Status Set Extension July 2026 END 5. IANA Considerations 5.1. XML Namespace This document uses URNs to describe XML namespaces and XML schemas conforming to a registry mechanism described in [RFC3688]. The following URI assignment has been made by IANA: Registration request for the Status Set Extension Mapping namespace: URI: urn:ietf:params:xml:ns:epp:statusSet-0.1 Registrant Contact: Registrant Contact: IESG XML: None. Namespace URIs do not represent an XML specification. Registration request for the Status Set Extension Mapping XML Schema: URI: urn:ietf:params:xml:schema:epp:statusSet-0.1 Registrant Contact: Registrant Contact: IESG XML: See the "Formal Syntax" section of this document. 5.2. EPP Extension Registry The EPP extension described in this document has been registered by IANA in the "Extensions for the Extensible Provisioning Protocol (EPP)" registry described in [RFC7451]. The details of the registration are as follows: Name of Extension: "Status Set Extension Mapping for the Extensible Provisioning Protocol" Document Status: Standards Track Reference: (insert reference to RFC version of this document) Registrant Name and Email Address: IESG, TLDs: Any IPR Disclosure: None Gould, et al. Expires 21 January 2027 [Page 31] Internet-Draft EPP Status Set Extension July 2026 Status: Active Notes: None 6. Security Considerations The mapping extensions described in this document extends the security services described by EPP [RFC5730] and protocol layers used by EPP by using an Authentication Token, in draft-gould-regext-epp- auth-token, that is passed on top of EPP for registrar users to perform more fine grained authorization in the form of overriding a Client Status Set. The security considerations for the server include: 1. The Server Status Sets and the associated Server Status Values can only be managed by the server. The server MUST NOT allow the client to set, unset, or override a Server Status Set. 2. The authorization model for a server operation is driven by the mapping of the Status Values to the asasigned Status Sets. The server applies the Authentication Token, in draft-gould-regext- epp-auth-token, by matching the operation, the entitlements in the Authentication Token, and the assigned Client Status Sets to determine which Client Status Sets are overriden to authorize the execution of the operation. 3. Applying the inherited Client Staus Sets to the child objects (child host for parent domain name) MAY be enforced by the server business logic without having to directly change the child objects. There can be an unlimited number of child objects, so there is a resource consumption issue associated with cascading inherited Status Sets directly to the child objects. 4. Implementing the M-of-N authorization performs a intersection of the "entitlements" in the Authentication Tokens, in draft-gould- regext-epp-auth-token, when authorizing a Status Set Command. The security considerations for the client include: 1. There are no additional client security considerations other than what's defined for the Authentication Token in draft-gould- regext-epp-auth-token. 7. References 7.1. Normative References Gould, et al. Expires 21 January 2027 [Page 32] Internet-Draft EPP Status Set Extension July 2026 [BCP14] Best Current Practice 14, . At the time of writing, this BCP comprises the following: Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, . [RFC3915] Hollenbeck, S., "Domain Registry Grace Period Mapping for the Extensible Provisioning Protocol (EPP)", RFC 3915, DOI 10.17487/RFC3915, October 2004, . [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, . [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Domain Name Mapping", STD 69, RFC 5731, DOI 10.17487/RFC5731, August 2009, . [RFC5732] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Host Mapping", STD 69, RFC 5732, DOI 10.17487/RFC5732, August 2009, . [RFC7515] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Signature (JWS)", RFC 7515, DOI 10.17487/RFC7515, May 2015, . [RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS Terminology", RFC 8499, DOI 10.17487/RFC8499, January 2019, . Gould, et al. Expires 21 January 2027 [Page 33] Internet-Draft EPP Status Set Extension July 2026 [W3C.REC-xml-20040204] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and F. Yergeau, ""Extensible Markup Language (XML) 1.0 (Third Edition)", World Wide Web Consortium FirstEdition REC-xml- 20040204", February 2004, . [W3C.REC-xmlschema-1-20041028] Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, ""XML Schema Part 1: Structures Second Edition", World Wide Web Consortium Recommendation REC-xmlschema- 1-20041028", October 2004, . [W3C.REC-xmlschema-2-20041028] Biron, P. and A. Malhotra, ""XML Schema Part 2: Datatypes Second Edition", World Wide Web Consortium Recommendation REC-xmlschema-2-20041028", October 2004, . 7.2. Informative References [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, February 2015, . Authors' Addresses James Gould VeriSign, Inc. 12061 Bluemont Way Reston, VA 20190 United States of America Email: jgould@verisign.com URI: http://www.verisign.com Poonam Garg VeriSign, Inc. 12061 Bluemont Way Reston, VA 20190 United States of America Email: pogarg@verisign.com URI: http://www.verisign.com Gould, et al. Expires 21 January 2027 [Page 34] Internet-Draft EPP Status Set Extension July 2026 Mohammad Suhale Malang Khader VeriSign, Inc. 12061 Bluemont Way Reston, VA 20190 United States of America Email: mmalangkhader@verisign.com URI: http://www.verisign.com Gould, et al. Expires 21 January 2027 [Page 35]