Skip to content

Clarify credentialStatus #991

@David-Chadwick

Description

@David-Chadwick

There is some confusion about the semantics of the credentialStatus field, whether it refers to the status of the credential or the verifiable credential. The current text says it is a property of the VC and not the embedded credential. If this is so, it should be removed from the data model as it is not a property of the credential, or of the credential metadata. It is a property of the proof (either JWT or LD-proof) and should be defined along with the proof description.

However, both the underlying credential (e.g. degree certificate) and the digitally signed VC can have their own separate statuses. A person's degree can be revoked years after it has been issued, whilst a VC could be revoked if the issuer's private key is compromised. Therefore the proof specification should describe how the VC's proof can be revoked, whilst the VCDM should specify how the credential can be revoked. The following table shows the effects of combining these two revocation schemes.

Credential Status            Revoked Credential.          Not Revoked Credential
Revoked VC.                        unknown                         unknown
Not Revoked VC.             Credential Revoked                  Credential OK

If the VC has been revoked (e.g. because the issuer's private key was hacked) then we cannot tell what the status of the credential is, because the VC cannot be verified. In fact we cannot verify any of the credential's properties in this case.
Only if the VC has not been revoked, can we tell the status of the embedded credential. Thus it is logical that the credentialStatus field should apply to the credential and not to the verifiable credential as the current text states.
A PR is needed to change the definition of credentialStatus

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions