Skip to content

Commit

Permalink
Update Input Evaluation to clarify constraints are required (#476)
Browse files Browse the repository at this point in the history
* Update spec.md
  • Loading branch information
kimdhamilton authored Apr 11, 2024
1 parent bbe3008 commit 9069a3d
Showing 1 changed file with 7 additions and 12 deletions.
19 changes: 7 additions & 12 deletions spec/spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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.

Expand Down Expand Up @@ -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
Expand All @@ -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]].

Expand Down

0 comments on commit 9069a3d

Please sign in to comment.