Mario,

Thank you for clarification around the vCard specific example of the partial 
redaction of the formatted text properties “LABEL” and “FN”.  I don’t believe 
any of the existing redaction methods cover this case of a partial redaction of 
a formatted text property value.  I realize this is a corner case, but to fully 
address it in RDAP, we may need to add a new redaction method to 
draft-ietf-regext-rdap-redacted.  The redaction method could be “Redaction by 
Partial Value Method” with the “method” member value of “partialValue”.  This 
would signal to the client that the formatted text property value has been 
partially redacted.  The concrete case are the “LABEL” and “FN” vCard 
properties, but other formatted text properties could be defined in the future.

Thoughts on adding a new redaction method for covering this corner case?

--

JG

[cid:image001.png@01D90E02.1DB1B810]

James Gould
Fellow Engineer
jgo...@verisign.com<applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgo...@verisign.com>

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com<http://verisigninc.com/>

From: Mario Loffredo <mario.loffr...@iit.cnr.it>
Date: Saturday, December 10, 2022 at 3:31 AM
To: James Gould <jgo...@verisign.com>, "regext@ietf.org" <regext@ietf.org>
Subject: [EXTERNAL] Re: [regext] Request WGLC for 
draft-ietf-regext-rdap-redacted


Hi James,

please find my comments below.
Il 09/12/2022 19:15, Gould, James ha scritto:
Mario,

Sorry for the delay in responding to your feedback.  Thanks for the feedback 
and below are the responses to it.

--

JG

[cid:image002.png@01D90E02.1DB1B810]

James Gould
Fellow Engineer
jgo...@verisign.com<applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgo...@verisign.com>

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com<http://secure-web.cisco.com/10wmXnAxec1RRrOtGTl4db_iLXMUtPfYFQrLzw-IA2PHbfNc9ze5KbXK3eWCAxJSio1lPtr_6pKioWeYvtLLrnVmZPkJWjQzok4esvmclUfrfkyRBCyDoJt_ryHsKxqZnXSbirKJywEyxB25w9OZqILiskden6igDu3eWZ8GZbgLoDDPJFLJVheJMYKuASxkT76O1U0JGRZ0wh5gYU7PxQ9YOsffUD0yMTCKG3C_S6kW9V15m-UfLxS6qupeP2j7qkhOOudeo--y4d2AzM-KUXiu-EqrQCbjBAN1DGuZ41tA/http%3A%2F%2Fverisigninc.com%2F>

From: Mario Loffredo 
<mario.loffr...@iit.cnr.it><mailto:mario.loffr...@iit.cnr.it>
Date: Tuesday, November 15, 2022 at 9:05 AM
To: James Gould <jgo...@verisign.com><mailto:jgo...@verisign.com>, 
"regext@ietf.org"<mailto:regext@ietf.org> 
<regext@ietf.org><mailto:regext@ietf.org>
Subject: [EXTERNAL] Re: [regext] Request WGLC for 
draft-ietf-regext-rdap-redacted


Hi James,

some comments from my side:

1) With reference to the following sentence in section 3.2:

such as "" for a jCard [RFC7095] Text ("text") property or null for non-Text 
("text") properties.

it seems to me that RFC7095 doesn't include a clear statement in that sense.

Some VCard types (i.e. text, uri, language-tag, utc-offset, and all date type 
variants) are mapped to JSON strings, other VCard types are mapped to other 
JSON primitive types (i.e number, boolean).

Given that, apart from "fn"  that is a required "text" property, a JSON string 
can be either null or empty.

For sure, the use of the empty string makes more sense for "text" values, but 
null value is not clearly prohibited for the other VCard properties mapped to 
JSON strings.

JG – Yes, the other jCard properties may be mapped to a JSON string, but they 
include additional string format requirements that would not be met with the 
use of an empty string.  The reference to the Text (“text”) property does not 
apply to the other jCard properties that map to a JSON string, so the redaction 
is handled with the use of a null value.

2) WIth regard to redaction by replacement method, should the example in Fig.7 
be updated as in the following:

OLD

   "redacted": [

     {

       "name": {

         "type": "Registrant Email"

       },

       "path": 
"$.entities[?(@.roles[0]=='registrant')].<mailto:$.entities[?(@.roles[0]=='registrant')].vcardArray[1][?(@[0]=='email')][3]>

                  
vcardArray[1][?(@[0]=='email')][3]"<mailto:$.entities[?(@.roles[0]=='registrant')].vcardArray[1][?(@[0]=='email')][3]>,

       "replacementPath": 
"$.entities[?(@.roles[0]=='registrant')].<mailto:$.entities[?(@.roles[0]=='registrant')].vcardArray[1][?(@[0]=='contact-uri')][3]>

                  
vcardArray[1][?(@[0]=='contact-uri')][3]"<mailto:$.entities[?(@.roles[0]=='registrant')].vcardArray[1][?(@[0]=='contact-uri')][3]>,

       "pathLang": "jsonpath",

       "method": "replacementValue",

     }

   ]

NEW

   "redacted": [

     {

       "name": {

         "type": "Registrant Email"

       },

       "path": 
"$.entities[?(@.roles[0]=='registrant')].<mailto:$.entities[?(@.roles[0]=='registrant')].vcardArray[1][?(@[0]=='email')]>

                  
vcardArray[1][?(@[0]=='email')]"<mailto:$.entities[?(@.roles[0]=='registrant')].vcardArray[1][?(@[0]=='email')]>,

       "replacementPath": 
"$.entities[?(@.roles[0]=='registrant')].<mailto:$.entities[?(@.roles[0]=='registrant')].vcardArray[1][?(@[0]=='contact-uri')]>

                  
vcardArray[1][?(@[0]=='contact-uri')]"<mailto:$.entities[?(@.roles[0]=='registrant')].vcardArray[1][?(@[0]=='contact-uri')]>,

       "pathLang": "jsonpath",

       "method": "replacementValue",

     }

   ]

Based on the example in Fig.6, the "email" property instead of the "email" 
value is replaced.

JG – Yes, I agree that the “email” property instead of the “email” value is 
replaced.  This will be addressed in draft-ietf-regext-rdap-redacted-10.



3) Would rephrase the following sentence in section 4.2

OLD

The "redacted" member contains an array of redacted

   objects with the following child members

NEW

The "redacted" member contains an array of

   objects with the following child members

The objects in the "redacted" array are not redacted but rather the response 
fields represented by those objects.

JG – This will be updated in draft-ietf-regext-rdap-redacted-10.

4) Wonder if section 6.2 should include an entry for pathLang.

JG – Yes, based on the feedback from Pawel Kowalik, the “redacted expression 
language” type will be added with an initial registration of the “jsonpath” 
value for the JSON Values Registry.

5) A last feedback about JSONPath Considerations:

5.a) Is it allowed to use wildcard in JSONPath? Think it could be useful 
especially when the same redaction rule is applied to each result of a search 
response.

For example, if a registry policy consists in redacting all the domain handles, 
the "redacted" content could simply be:

           "redacted": [

             {

               "name": {

                 "type": "Registry Domain ID"

               },

               "path": "$.domainSearchResults[*].handle",

               "pathLang": "jsonpath",

               "method": "removal",

               "reason": {

                 "type": "Server policy"

               }

             }

           ]

JG – Actually for searches the “redacted” member can be included on a 
per-object basis, since the redaction may be different per object.  Attempting 
to define crosscutting redaction definitions for all objects included in the 
search seems like something the server could do, but I don’t believe it should 
be encouraged.

5.b) I consider this a corner case so feel free to ignore it  ;-)

The VCard label property (as well as the JSContact fullAddress property) is 
usually derived from the postal address information.

When the postal address is partially redacted, what should be the label value 
and the related redaction method?

If you think it's worth managing this case, I would suggest a conservative 
solution:  the label property should be omitted and the redaction method should 
be "removal".

JG – The rule is if the property can be and is removed due to redaction, then 
it is omitted, and the redaction method should be “removal”.  I’m not sure if 
this fully answers your feedback, so please let me know with an example if it 
doesn’t.

[ML]  As I wrote in my previous mail, maybe it's not worth addressing this 
case. In general, it is connected with the redaction of vCard elements, namely 
the FN property and the LABEL parameter of the ADR property, that are generated 
by formatting their structured counterparts. If the structured components get 
partially redacted by the emptyValue redaction method, what redaction method 
should I use to redact the formatted versions?

Here in the following an example clarifying my question.

Before redaction:

         [

                   "adr",

                   {"label": "Suite 1236\n4321 Rue Somewhere\nQuebec\QC\G1V 
2M2\Canada"},

                   "text",

                   [

                     "",

                     "Suite 1236",

                     "4321 Rue Somewhere",

                     "Quebec",

                     "QC",

                     "G1V 2M2",

                     "Canada"

                   ]

                 ]

After redaction:

1)

         [

                   "adr",

                   {"label": "QC\nCanada"},

                   "text",

                   [

                     "",

                     "",

                     "",

                     "",

                     "QC",

                     "",

                     "Canada"

                   ]

                 ]

2)



         [

                   "adr",

                   {},

                   "text",

                   [

                     "",

                     "",

                     "",

                     "",

                     "QC",

                     "",

                     "Canada"

                   ]

                 ]



Since the specification doesn't allow the server to signal that a value has 
been partially redacted, and I don't see the need to  add another redaction 
method only for this corner case, my proposal was simply the following: "those 
properties that are generated from other properties that can be partially 
redacted must be redacted by using the removal method" (Solution 2)

Best,

Mario



Hope it could be helpful.

Best,

Mario




Il 10/11/2022 19:38, Gould, James ha scritto:
This is a formal request to start the WGLC for draft-ietf-regext-rdap-redacted. 
 There is a normative reference to draft-ietf-jsonpath-base, which has a 
JSONPath working group November milestone.  draft-ietf-jsonpath-base looks 
stable and can progress in parallel with draft-ietf-regext-rdap-redacted.

Thanks,

--

JG

[cid:image003.png@01D90E02.1DB1B810]

James Gould
Fellow Engineer
jgo...@verisign.com<applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgo...@verisign.com>

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com<http://secure-web.cisco.com/1jBgmRGLp97BwyI56ZY6E2KnhXLBn_CyaRjxVZ7GqU5nP4VoGbDmOFaSadTLrZ8OaIMWwNr4CLXsVIYNhnH4Z3c6przEWV0581stOfOtCDYyVb1U8iX-OaeglUaY6UIjRbRsoaAcqnx12w7uDgnjrwnhLrtSCH3NQK20VhpKXQbAofvo4jOJsx4cHjD5sxmv-xKgfyjXZgr7oOpxU9z41XgH02hJZZTYbogCf05948JANuWS0T4DojwwmNtmQHoN9UjVqPRqZKAn7gbjnO0xXK3ZDaxx9N9iz65hy3ZqIgQYHxdSLk5KUHbNvQydrwCxd/http%3A%2F%2Fverisigninc.com%2F>




_______________________________________________

regext mailing list

regext@ietf.org<mailto:regext@ietf.org>

https://www.ietf.org/mailman/listinfo/regext<https://secure-web.cisco.com/1QZXPKZg0yOi5FGPtQR9fKFNSa-mIVnC7WC4ALwt1eRfK3-ypZSt6_2xY-hSaVmgzAytTYYHcnL4rCXxWO2UpEtkMlh-OegPiK5nrIShRzg2hBlREYZPS41o1IwIWcM7UZPGQ-FxQBxkkf8fRsG27ZJPh6SN4Npz5Nx0eTyp0BNyD27_AEHQOQGphegY8qsrmx-Wjd9q7Csh129rmKkvKVxpZzed_u_8Pwyn4g4DN11Ns2RGRyh6-ymPx7BK5CxqUGI6OovchjtlylImbPICIi7KiCZMvnjcPCyn_ZDbQbxVQpIu6ikjianxcAM8RpdtD/https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fregext>

--

Dott. Mario Loffredo

Technological Unit “Digital Innovation”

Institute of Informatics and Telematics (IIT)

National Research Council (CNR)

via G. Moruzzi 1, I-56124 PISA, Italy

Phone: +39.0503153497

Web: 
http://www.iit.cnr.it/mario.loffredo<http://secure-web.cisco.com/139AqdF7WT3CdxSSc0UPSoDgA0gl9_QwVKklekryCslll0JvKfIWV4X16QAKacmsRBjPmY6-F04c28s5zpz2HwT6ki7ON7XQHsnRXipvn3m1NoGxfR9XMNRGTtoSlaoXahD0z-bP-mSUPsraAy5ewotwaYuTsKuafF8T5HN8JqEL4pqYsq1WAdl8WS_bHigbb8mVKIhqTDuRazKzVCpoByy52N_M-Hf8megqz4jAbIU_D7CgzVTQH7GQXldLgfms9L0ugpZtQ0bewrH_9DBeNO0aiY2BRkZ8adIM_8V-TsGl3qCbgdfLzBl6RNTz79GpF/http%3A%2F%2Fwww.iit.cnr.it%2Fmario.loffredo>



_______________________________________________

regext mailing list

regext@ietf.org<mailto:regext@ietf.org>

https://www.ietf.org/mailman/listinfo/regext<https://secure-web.cisco.com/1rA9AMtjPXivn2GGQB-ID4QUpd0YAumPZdCk9bomUeA-FW0jgWKt4BP-iZUjN9ZK5RHa3mQ0cgZR2CXGzCn7h5draw6tDsnn1tSB77lEpcrBTek47xmL8JcWRW7nrXcYWxlUJzXRAQbEPjV-zA4CToN9bL-qxyTxiM86Qdl2yf0VHGU9I7jvK8JrtFVS-STzmXEIFF8EaHSM31W6KF8L2VL4rQ4ZGnDL1tI2DNqDdq8GKQjafxSL34HzNHpWSllgqbY7K6JSCJ6773fZIRMhrDaF5f-HmjwipuKwciva27i0/https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fregext>

--

Dott. Mario Loffredo

Technological Unit “Digital Innovation”

Institute of Informatics and Telematics (IIT)

National Research Council (CNR)

via G. Moruzzi 1, I-56124 PISA, Italy

Phone: +39.0503153497

Web: 
http://www.iit.cnr.it/mario.loffredo<http://secure-web.cisco.com/1Bl4tTWy6j96jLMQhvvpHAXNQ41oOlRskA5D53vZW-T6wL5phoY08mwHjoDtV7zFoXdlnARj7naYERSK3D1qW0xpd-s6AvJpc0cJ_SoIHX3iNlY-fO3_aB3ZnKwQ65nXXA7jCf0fUrGBdv98Qds0-Y14vwcKUTItJm97dg7egfABvUs7UEhDs1G_C1kNZM-5r7UzETiZxK5ob6tjf5_rSghdo7CrPwb334_rKFyPKsj7HGu2tNYK7iKhzdbMAJXxYdGfnJMRecJSzF646MoK8g1sAcpiQmU0lbVf_fwxvhLo/http%3A%2F%2Fwww.iit.cnr.it%2Fmario.loffredo>
_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext

Reply via email to