draft-ietf-regext-rdap-redacted-06.txt   draft-ietf-regext-rdap-redacted-07.txt 
Network Working Group J.G. Gould Network Working Group J.G. Gould
Internet-Draft D.S. Smith Internet-Draft D.S. Smith
Intended status: Standards Track VeriSign, Inc. Intended status: Standards Track VeriSign, Inc.
Expires: 14 November 2022 J.K. Kolker Expires: 27 November 2022 J.K. Kolker
R.C. Carney R.C. Carney
GoDaddy Inc. GoDaddy Inc.
13 May 2022 26 May 2022
Redacted Fields in the Registration Data Access Protocol (RDAP) Response Redacted Fields in the Registration Data Access Protocol (RDAP) Response
draft-ietf-regext-rdap-redacted-06 draft-ietf-regext-rdap-redacted-07
Abstract Abstract
This document describes an RDAP extension for explicitly identifying This document describes an RDAP extension for explicitly identifying
redacted RDAP response fields, using JSONPath as the default redacted RDAP response fields, using JSONPath as the default
expression language. expression language.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 35 skipping to change at page 1, line 35
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 14 November 2022. This Internet-Draft will expire on 27 November 2022.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 34 skipping to change at page 2, line 34
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 32
10.1. Informative References . . . . . . . . . . . . . . . . . 32 10.1. Informative References . . . . . . . . . . . . . . . . . 32
10.2. Normative References . . . . . . . . . . . . . . . . . . 33 10.2. Normative References . . . . . . . . . . . . . . . . . . 33
Appendix A. Change History . . . . . . . . . . . . . . . . . . . 34 Appendix A. Change History . . . . . . . . . . . . . . . . . . . 34
A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 34 A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 34
A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 35 A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 35
A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 35 A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 35
A.4. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 35 A.4. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 35
A.5. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 36 A.5. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 36
A.6. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 36 A.6. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 36
A.7. Change from 06 to 07 . . . . . . . . . . . . . . . . . . 36
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36
1. Introduction 1. Introduction
This document describes an RDAP extension for explicitly identifying This document describes an RDAP extension for explicitly identifying
redacted RDAP response fields, using JSONPath as the default redacted RDAP response fields, using JSONPath as the default
expression language. A redacted RDAP field is one that has data expression language. A redacted RDAP field is one that has data
removed from the RDAP response due to the lack of client privilege to removed from the RDAP response due to the lack of client privilege to
receive the field. This extension can be used to identify redacted receive the field. This extension can be used to identify redacted
RDAP fields in any RDAP object class, as defined in [RFC9083], or RDAP fields in any RDAP object class, as defined in [RFC9083], or
skipping to change at page 7, line 45 skipping to change at page 7, line 45
An example of the "redacted" member for the redacted registrant An example of the "redacted" member for the redacted registrant
"email" jCard property value with a [RFC8605] "contact-uri" jCard "email" jCard property value with a [RFC8605] "contact-uri" jCard
property to a web form: property to a web form:
"redacted": [ "redacted": [
{ {
"name": { "name": {
"type": "Registrant Email" "type": "Registrant Email"
}, },
"path": "$.entities[?(@.roles[0]=='registrant')]. "path": "$.entities[?(@.roles[0]=='registrant')].
vcardArray[1][?(@[0]=='email')][3]",
"replacementPath": "$.entities[?(@.roles[0]=='registrant')].
vcardArray[1][?(@[0]=='contact-uri')][3]", vcardArray[1][?(@[0]=='contact-uri')][3]",
"pathLang": "jsonpath", "pathLang": "jsonpath",
"method": "replacementValue", "method": "replacementValue",
} }
] ]
Figure 7: Redacted Email using Replacement Value with a "contact- Figure 7: Redacted Email using Replacement Value with a "contact-
uri" jCard property to a web form uri" jCard property to a web form
4. Redacted RDAP Response 4. Redacted RDAP Response
4.1. RDAP Conformance 4.1. RDAP Conformance
RDAP responses that contain values described in this document MUST RDAP responses that contain values described in this document MUST
indicate conformance with this specification by including an indicate conformance with this specification by including an
"rdapConformance" ([RFC9083]) value of "redacted_level_0_3". The "rdapConformance" ([RFC9083]) value of "redacted_level_0_3". The
skipping to change at page 8, line 42 skipping to change at page 8, line 44
following child members: following child members:
"name": A logical name for the redacted field. The logical name "name": A logical name for the redacted field. The logical name
used for the redacted field is up to server policy. The logical used for the redacted field is up to server policy. The logical
name is defined using an object with a "type" field denoting a name is defined using an object with a "type" field denoting a
registered redacted name (see Section 6.2) or a "description" registered redacted name (see Section 6.2) or a "description"
field denoting an unregistered redacted name. The registered field denoting an unregistered redacted name. The registered
redacted names and the chosen unregistered names can meet the redacted names and the chosen unregistered names can meet the
needs of different RDAP services or industries. needs of different RDAP services or industries.
"path": The JSON expression of the redacted field, using the "path": The JSON expression references a removed JSON field in the
expression language defined by the "pathLang" member. The JSON case of Redaction By Removal Method (Section 3.1), an empty field
expression references a removed JSON field or an empty field in the case of Redaction by Empty Value Method (Section 3.2), or
value based on Section 3. the field that is replaced in the case of Redaction by
Replacement Value Method (Section 3.3). The replaced field can
be either removed or empty when using a replacement field
referenced by the "replacementPath" member.
"replacementPath": OPTIONAL JSON expression of the replacement field
of the redacted field with the Redaction by Replacement Value
Method (Section 3.3), using the expression language defined by
the "pathLang" member.
"pathLang": OPTIONAL JSON path expression language used, with the "pathLang": OPTIONAL JSON path expression language used, with the
default value of "jsonpath" for JSONPath default value of "jsonpath" for JSONPath
([I-D.ietf-jsonpath-base]). Other JSON path expression languages ([I-D.ietf-jsonpath-base]). Other JSON path expression languages
MAY be used based on server policy. MAY be used based on server policy.
"method": OPTIONAL redaction method used with "removal" indicating "method": OPTIONAL redaction method used with "removal" indicating
the Redaction By Removed Method (Section 3.1), "emptyValue" the Redaction By Removal Method (Section 3.1), "emptyValue"
indicating the Redaction by Empty Value Method (Section 3.2), and indicating the Redaction by Empty Value Method (Section 3.2), and
"replacementValue" indicating the Redaction by Replacement Value "replacementValue" indicating the Redaction by Replacement Value
Method (Section 3.3). The default value is "removal" when not Method (Section 3.3). The default value is "removal" when not
provided. provided.
"reason": OPTIONAL human readable reason(s) for the redacted field "reason": OPTIONAL human readable reason(s) for the redacted field
in the language defined by the [RFC9083] "lang" member. The in the language defined by the [RFC9083] "lang" member. The
default language is "en" if the [RFC9083] "lang" member is not default language is "en" if the [RFC9083] "lang" member is not
specified. The reason is defined using an object with an specified. The reason is defined using an object with an
OPTIONAL "type" field denoting a registered redacted reason (see OPTIONAL "type" field denoting a registered redacted reason (see
skipping to change at page 36, line 29 skipping to change at page 36, line 29
2. Changed the RDAP Conformance to be "redacted_level_0_3", which is 2. Changed the RDAP Conformance to be "redacted_level_0_3", which is
registered in the RDAP Extensions Registry. The RDAP Conformance registered in the RDAP Extensions Registry. The RDAP Conformance
value will become "redacted_level_1" once the draft passes WGLC. value will become "redacted_level_1" once the draft passes WGLC.
A.6. Change from 05 to 06 A.6. Change from 05 to 06
1. Fixed a couple nits. 1. Fixed a couple nits.
2. Updated the Redaction by Replacement Value Method email web form 2. Updated the Redaction by Replacement Value Method email web form
examples to use the "contact-uri" jCard property of RFC 8605. examples to use the "contact-uri" jCard property of RFC 8605.
A.7. Change from 06 to 07
1. Added the optional replacementPath child member for use with the
Redaction by Replacement Value Method.
Authors' Addresses Authors' Addresses
James Gould James Gould
VeriSign, Inc. VeriSign, Inc.
12061 Bluemont Way 12061 Bluemont Way
Reston, VA 20190 Reston, VA 20190
United States of America United States of America
Email: jgould@verisign.com Email: jgould@verisign.com
URI: http://www.verisigninc.com URI: http://www.verisigninc.com
 End of changes. 10 change blocks. 
10 lines changed or deleted 25 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/