diff --git a/spec/spec.md b/spec/spec.md index 27ebf223..05c01ed5 100644 --- a/spec/spec.md +++ b/spec/spec.md @@ -416,8 +416,8 @@ be ignored, unless otherwise specified by a [[ref:Feature]]; value signature to the top-level `format` object, but can be used to specifically constrain submission of a single input to a subset of formats or algorithms. - The [[ref:Input Descriptor Object]] ****MUST**** contain a `constraints` -property. Its value ****MUST**** be an object composed as follows, unless otherwise -specified by a [[ref:Feature]]: +property. Its value ****MUST**** be an object composed as follows, and it +****MUST**** contain one of the allowed properties or [[ref:Feature]]s: - The _constraints object_ ****MAY**** contain a `fields` property. Fields ****SHALL**** be processed forward from 0-index, so if a [[ref:Verifier]] desires to reduce processing by checking the most defining characteristics @@ -1290,8 +1290,7 @@ candidate input (JWT, Verifiable Credential, etc.) it holds to determine whether there is a match. For each candidate input: - 1. If the `constraints` property of the [[ref:Input Descriptor]] is present, - and it contains a `fields` property with one or more _fields objects_, + 1. If the `constraints` property of the [[ref:Input Descriptor]] contains a `fields` property with one or more _fields objects_, evaluate each _fields object_ against the candidate input as described in the following subsequence. @@ -1333,8 +1332,7 @@ For each candidate input: relative reference to the `group` values the input is designated for. ::: - 3. If the `constraints` property of the [[ref:Input Descriptor]] is present, - and it contains a `limit_disclosure` property set to the string value + 3. If the `constraints` property of the [[ref:Input Descriptor]] contains a `limit_disclosure` property set to the string value `required`, ensure that any subsequent submission of data in relation to the candidate input is limited to the entries specified in the `fields` property. If the `fields` property ****is not**** present, or contains zero @@ -1346,17 +1344,14 @@ For each candidate input: ::: note **Relational Constraint Feature Only** - 4. If the `constraints` property of the [[ref:Input Descriptor]] is present, - and it contains a `subject_is_issuer` property set to the value `required`, + 4. If the `constraints` property of the [[ref:Input Descriptor]] contains a `subject_is_issuer` property set to the value `required`, ensure that any submission of data in relation to the candidate input is fulfilled using a _self_attested_ [[ref:Claim]]. - 5. If the `constraints` property of the [[ref:Input Descriptor]] is present, - and it contains an `is_holder` property, ensure that for each object in the + 5. If the `constraints` property of the [[ref:Input Descriptor]] contains an `is_holder` property, ensure that for each object in the array, any submission of data in relation to the candidate input is fulfilled by the [[Ref:Subject]] of the attributes so identified by the strings in the `field_id` array. - 6. If the `constraints` property of the [[ref:Input Descriptor]] is present, - and it contains a `same_subject` property, ensure that for each object in + 6. If the `constraints` property of the [[ref:Input Descriptor]] contains a `same_subject` property, ensure that for each object in the array, all of the attributes so identified by the strings in the `field_id` array are about the same [[Ref:Subject]].