Skip to content

Commit

Permalink
add clarification for omitted fields in offer
Browse files Browse the repository at this point in the history
Signed-off-by: Timo Glastra <[email protected]>
  • Loading branch information
TimoGlastra committed Jan 12, 2024
1 parent abeeabf commit 2dfe5a1
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion features/0809-w3c-data-integrity-credential-attachment/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,20 @@ Format identifier: `didcomm/[email protected]`
- `data_model_versions_supported` - Required. List of strings indicating the supported VC Data Model versions. The list MUST contain at least one value. The values MUST be a valid data model version. Current supported values include `1.1` and `2.0`.
- `binding_required` - Optional. Boolean indicating whether the credential MUST be bound to the holder. If omitted, the credential is not required to be bound to the holder. If set to `true`, the credential MUST be bound to the holder using at least one of the binding methods defined in `binding_method`.
- `binding_method` - Required if `binding_required` is true. Object containing key-value pairs of binding methods supported by the issuer to bind the credential to a holder. If the value is omitted, this indicates the issuer does not support any binding methods for issuance of the credential. See [Binding Methods](#binding-methods) for a registry of default binding methods supported as part of this RFC.
- `credential` - Required. The credential to be issued. The credential should be compliant with the VC Data Model. The credential MUST NOT contain any proofs. Some properties MAY be omitted if they will only be available at time of issuance, such as `issuanceDate`, `issuer`, `credentialSubject.id`, `credentialStatus`, `credentialStatus.id`. The credential MUST be conformant with one of the data model versions indicated in `data_model_versions_supported`.
- `credential` - Required. The credential to be issued. The credential MUST be compliant with the **first** `data_model_versions_supported` entry version of VC Data Model, except for the omission of a set required keys that may only be known at the time of issuance. See [Credential Offer Exceptions](#credential-offer-exceptions) for a list of exceptions. The credential MUST NOT contain any proofs. Some properties MAY be omitted if they will only be available at time of issuance, such as `issuanceDate`, `issuer`, `credentialSubject.id`, `credentialStatus`, `credentialStatus.id`.

#### Credential Offer Exceptions

To allow for validation of the `credential` according to the corresponding VC Data Model version, the `credential` in the offer MUST be conformant to the corresponding VC Data Model version, except for the exceptions listed below. This still allows the credential to be validated, knowing which deviations are possible.

The list of exception is as follows:

- `issuanceDate` (v1.1) or `validFrom` (v2.0) can be omitted, or set to a placeholder value.
- `issuer` (or `issuer.id` if issuer is an object) can be omitted
- `credentialSubject.id` can be omitted
- `credentialStatus`
- Either the whole `credentialStatus` can be omitted
- OR the `credentialStatus.type` can be present, but other required fields that are dynamic can be omitted (such as the `statusListIndex` and `statusListCredential` in case of [Bitstring Status List](https://www.w3.org/TR/vc-bitstring-status-list/))

### Credential Request Attachment Format

Expand Down

0 comments on commit 2dfe5a1

Please sign in to comment.