ssi
ssi copied to clipboard
VC JWT "instead of" or "in addition to"
VC Data Model JWT Encoding (https://www.w3.org/TR/vc-data-model/#jwt-encoding): certain credential/presentation fields are convertable into JWT claims ("the following JWT-registered claim names MUST be used instead of, or in addition to, their respective standard verifiable credential counterparts"...).
For verifying, we can support verifying VCs that use either the "instead of" mode (e.g. omitting issuanceDate and using nbf
instead) or the "in addition to" mode (VCs that use both versions of the property). We might want to add more consistency checks for the "in addition to" mode.
For issuance, currently we are in between: some fields are omitted (using the "instead of" path), while others are duplicated (the "in addition to" path. The "in addition to" way is preferable to preserve information (e.g. for timestamps where one representation cannot represent the full range of the other), and for interoperability (for implementations that only support "in addition to").
Do we want an option to issue JWT VCs/VPs in the instead-of mode? This could be useful for compactness or if needed for some particular application.
https://w3c.github.io/vc-data-model/#jwt-encoding - preserving data for cross-representation roundtrip as opposed to lossful translation (for example, LD-VC --> VC-JWT, simplifying complex issuer object/struct to a string, lossful ISO --> UNIX timestamp translations, etc). notes here, in case none of us remember this conversation when we sit down to implement