Registration Data Access Protocol (RDAP) Extension for Status Set
draft-gould-regext-rdap-status-set-03
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | James Gould , Poonam Garg , Mohammad Suhale Malang Khader | ||
| Last updated | 2026-09-02 | ||
| RFC stream | (None) | ||
| Intended RFC status | (None) | ||
| Formats | |||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-gould-regext-rdap-status-set-03
Network Working Group J. Gould
Internet-Draft P. Garg
Intended status: Standards Track M.S. Malang Khader
Expires: 6 March 2027 VeriSign, Inc.
2 September 2026
Registration Data Access Protocol (RDAP) Extension for Status Set
draft-gould-regext-rdap-status-set-03
Abstract
This document describes an Registration Data Access Protocol (RDAP)
extension for including status sets assigned to RDAP object classes,
such as the Domain Object Class and the Nameserver Object Class in
[RFC9083]. There can be many overlapping reasons for each of the
"status" member values, 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 "status"
value, so clients and servers can effectively manage the overlapping
reasons of individual "status" values using the status sets. This
RDAP extension supports returning the assigned client and server
status sets with additional data members, such as the mapped "status"
values and when the status set was assigned.
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 6 March 2027.
Copyright Notice
Copyright (c) 2026 IETF Trust and the persons identified as the
document authors. All rights reserved.
Gould, et al. Expires 6 March 2027 [Page 1]
Internet-Draft RDAP Status Set Extension September 2026
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 . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions Used in This Document . . . . . . . . . . . . . . 3
3. RDAP Conformance . . . . . . . . . . . . . . . . . . . . . . 3
4. "statusSet_data" Member . . . . . . . . . . . . . . . . . . . 3
5. Extension Version Identifier . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
6.1. RDAP Extensions Registry . . . . . . . . . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . 8
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.1. Normative References . . . . . . . . . . . . . . . . . . 8
8.2. Informative References . . . . . . . . . . . . . . . . . 8
Appendix A. Change History . . . . . . . . . . . . . . . . . . . 9
A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 9
A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 9
A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
This document describes an Registration Data Access Protocol (RDAP)
extension for including status sets assigned to RDAP object classes,
such as the Domain Object Class and the Nameserver Object Class in
[RFC9083]. There can be many overlapping reasons for each of the
"status" member values, 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 "status"
value, can effectively manage the overlapping reasons of individual
"status" values using the status sets. This RDAP extension supports
returning the assigned client and server status sets with additional
data members, such as the "type", the mapped "status" values, whether
the status set is inherited either from the parent object (domain) or
to child objects (nameservers), and whether the status set is
directly assigned.
Gould, et al. Expires 6 March 2027 [Page 2]
Internet-Draft RDAP Status Set Extension September 2026
This document is complementary to the Extensible Provisioning
Protocol (EPP) Status Set Extension
[I-D.gould-regext-epp-status-set], but registry operators do not need
to implement that extension in their EPP server in order to implement
this RDAP extension.
2. 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 BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
The example RDAP responses don't include all of the RDAP response
members, but are only representative of the members that are relavant
to this extension.
3. RDAP Conformance
Servers implementing this extension MUST include the string
"statusSet" in the "rdapConformance" ([RFC9083]) array of all
relevant RDAP responses. The registration of the "statusSet"
extension identifier is described in Section 6.
4. "statusSet_data" Member
The status set information is conveyed via a new top-level object
member named "statusSet_data" within the object class that the status
sets are assigned to. A status set is an object that defines the
reason for the "status" member values for an RDAP object class, such
as the Domain Object Class and the Nameserver Object Class in
[RFC9083]. The status set can also be used as a marker status set
when there are no mapped "status" member values that can drive
additional business logic and publishing use cases. An object can
have many assigned status sets, and the status sets can include an
overlapping set of "status" member values. The "status" member value
will be assigned to the object if there is at least one set set
assigned to the object with the mapped "status" member value. The
"status" member value will be unassigned from the object when all
status sets are unassigned with the mapped "status" member value.
For example, both the "Registrar Lock" status set and the "Auth Token
Lock" status set are mapped to the "client update prohibited"
"status" member value, where if either of the status sets are
assigned to the object, the "client update prohibited" "status"
member value will be assigned. The "client update prohibited"
"status" member value will be unassigned if both "Registrar Lock"
status set and "Auth Token Lock" status sets are unassigned. The
Gould, et al. Expires 6 March 2027 [Page 3]
Internet-Draft RDAP Status Set Extension September 2026
"statusSet_data" member includes a list of status set objects
containing the following members:
* name -- 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.
* type -- 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". Only servers can set and unset a server
status set.
* inherited -- OPTIONAL boolean with a default value of false that
indicates inheritable downward to child objects (Nameservers) when
applied to Domain Objects, and inherited upward from parent object
(Domain) when applied to NameServer object.
* assigned -- OPTIONAL boolean with a default value of true that
indicates whether the status set is directly assigned to the
object. The value can be false for an inherited status set.
* created -- OPTIONAL date and time that the status set was assigned
to the object.
* status -- An OPTIONAL array of "status" values in [RFC9083] that
are mapped to the status set.
* attributes - An OPTIONAL array of status set attribute objects,
each with a "name" and "value" member.
Gould, et al. Expires 6 March 2027 [Page 4]
Internet-Draft RDAP Status Set Extension September 2026
{
"objectClassName": "domain",
"handle": "XXX",
"ldhName": "example.com",
"status": [
"client update prohibited",
"client delete prohibited",
"client transfer prohibited"
],
"rdapConformance": ["rdap_level_0", "statusSet"],
"statusSet_data": [
{
"name": "Auth Token Lock",
"type": "client",
"inherited": true,
"assigned": true,
"created": "2026-05-03T09:00:00.0Z",
"status": [
"client update prohibited",
"client delete prohibited",
"client transfer prohibited"
]
}
]
}
Figure 1: Domain object including the "statusSet_data" member
{
"objectClassName": "domain",
"handle": "XXX",
"ldhName" : "example.com",
"status" : [
"client update prohibited",
"client delete prohibited",
"client transfer prohibited",
"server update prohibited",
"server delete prohibited",
"server transfer prohibited"
],
"rdapConformance": ["rdap_level_0", "statusSet"],
"statusSet_data": [
{
"name": "Auth Token Lock",
"type": "client",
"inherited": true,
"assigned": true,
"created": "2026-05-03T09:00:00.0Z",
Gould, et al. Expires 6 March 2027 [Page 5]
Internet-Draft RDAP Status Set Extension September 2026
"status": [
"client update prohibited",
"client delete prohibited",
"client transfer prohibited"
]
},
{
"name": "Registrar Lock",
"type": "client",
"inherited": false,
"assigned": true,
"created": "2026-05-03T09:00:00.0Z",
"status": [
"client update prohibited",
"client delete prohibited",
"client transfer prohibited"
]
},
{
"name": "Registry Lock",
"type": "server",
"inherited": false,
"assigned": true,
"created": "2026-05-03T09:10:00.0Z",
"status": [
"server update prohibited",
"server delete prohibited",
"server transfer prohibited"
]
},
{
"name": "For Sale",
"type": "client",
"inherited": false,
"assigned": true,
"created": "2026-05-01T10:10:00.0Z",
"attributes": [
{"name": "Currency", "value": "USD"},
{"name": "Price", "value": "100.00"}
]
}
]
}
Figure 2: Domain object including the "statusSet_data" member
that includes the assigned Client Status Sets ("Auth Token Lock"
and "Registrar Lock") and the assigned Server Status Set
("Registry Lock")
Gould, et al. Expires 6 March 2027 [Page 6]
Internet-Draft RDAP Status Set Extension September 2026
{
"objectClassName": "nameserver",
"handle": "XXXX",
"ldhName" : "ns1.xn--fo-5ja.example",
"status" : [ "active" ],
"rdapConformance": ["rdap_level_0", "statusSet"],
"statusSet_data": [
{
"name": "Auth Token Lock",
"type": "client",
"inherited": true,
"assigned": false,
"created": "2026-05-03T09:00:00.0Z",
"status": [
"client update prohibited",
"client delete prohibited",
"client transfer prohibited"
]
}
]
}
Figure 3: Nameserver object includes an the inherited Client
Status Set ("Auth Token Lock") from the parent domain name
5. Extension Version Identifier
Note to RFC Editor: Please replace "statusSet-0.2" with "statusSet-
1.0" before publication.
This extension uses the Point Versioning defined in
[I-D.ietf-regext-rdap-versioning] with a Point Extension Version
Identifier of "statusSet-0.2". Clients and servers implementing this
extension MUST also support and implement
[I-D.ietf-regext-rdap-versioning]. When there are interface changes
to the extension, the Point Extension Version Identifier will be
incremented, which may not match the draft version number. The
initial Standards Track version of this extension will use the Point
Extension Version Identifier "statusSet-1.0".
6. IANA Considerations
6.1. RDAP Extensions Registry
IANA is requested to register the following value in the RDAP
Extensions Registry:
Extension identifier: statusSet
Gould, et al. Expires 6 March 2027 [Page 7]
Internet-Draft RDAP Status Set Extension September 2026
Registry operator: Any
Published specification: This document.
Contact: IETF <iesg@ietf.org>
Intended usage: This extension identifies RDAP extension for status
set information.
7. Security Considerations
Status set data may include legal and policy implications. Servers
MUST ensure that disclosure of this information complies with
applicable data protection laws and policies.
8. References
8.1. Normative References
[I-D.ietf-regext-rdap-versioning]
Gould, J., Keathley, D., and M. Loffredo, "Versioning in
the Registration Data Access Protocol (RDAP)", Work in
Progress, Internet-Draft, draft-ietf-regext-rdap-
versioning-07, 31 July 2026,
<https://datatracker.ietf.org/doc/html/draft-ietf-regext-
rdap-versioning-07>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC9083] Hollenbeck, S. and A. Newton, "JSON Responses for the
Registration Data Access Protocol (RDAP)", STD 95,
RFC 9083, DOI 10.17487/RFC9083, June 2021,
<https://www.rfc-editor.org/info/rfc9083>.
8.2. Informative References
[I-D.gould-regext-epp-status-set]
Gould, J., Garg, 8. 7. 7. 7. 6. 7. 3. 7. 6. 8., and M. S.
M. Khader, "Status Set Extension Mapping for the
Extensible Provisioning Protocol", Work in Progress,
Internet-Draft, draft-gould-regext-epp-status-set-03, 17
August 2026, <https://datatracker.ietf.org/doc/html/draft-
gould-regext-epp-status-set-03>.
Gould, et al. Expires 6 March 2027 [Page 8]
Internet-Draft RDAP Status Set Extension September 2026
Appendix A. Change History
A.1. Change from 00 to 01
1. Added informative reference to draft-gould-regext-epp-status-set.
A.2. Change from 01 to 02
1. Revised the language of the Extension Version Identifier section
to match other Point Versioning RDAP extensions.
A.3. Change from 02 to 03
1. Changed the "status" member to OPTIONAL to support marker status
sets.
2. Added support for the OPTIONAL "attributes" member that contains
a list of "name", "value" pair objects.
3. Bumped the Extension Version Identifier to "statusSet-0.2" based
on the interface change.
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
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 6 March 2027 [Page 9]