LVVC
One method of handling credential revocation in a privacy-preserving manner is to give the credential a short lifespan, requiring the holder's agent to update the credential on a regular basis. This means the verifier is able to determine validity without coming into contact with the issuer via an issuer- hosted list.
LVVC is based on this method of updating credentials with one key difference: when a credential with LVVC revocation is first issued, an extra credential is issued, the "LVVC".
The LVVC is linked to the original credential and is small, containing only basic information about the issuer and the issuance time. This LVVC has a short lifespan, and the holder's agent (that is, wallet) must request a new LVVC when it needs one. When the issuer revokes the credential, the LVVC is updated to revoked status and no further LVVCs are created for that credential. This process eliminates the need for the verifier to connect to the issuer in any way to check revocation status, preserving privacy for the holder.
For more information on the LVVC revocation method, see the initial draft.
Verify LVVC credentials
The verifier can specify the age of the LVVC which they still consider to be
valid at the proof schema level. When creating a proof schema, specify the
duration (in seconds) in the validityConstraint
field of the
proofInputSchemas
object.
Each LVVC credential has an lvvcIssuanceDate
; if the time since a credential
lvvcIssuanceDate
exceeds the validityConstraint
of the proof request, the
credential will not be validated.
Issue LVVC credentials
The issuer's system configuration determines the "expiration" of credentials
issued with LVVC revocation method. If the holder's wallet checks the
revocation status after the credential has expired, assuming the credential
has not been revoked, the system issues a new LVVC with a new
lvvcIssuanceDate
.
Example configuration:
LVVC:
display: 'revocation.lvvc'
order: 2
type: 'LVVC'
params:
private:
credentialExpiry: 3600 // Time, in seconds, after which an issued LVVC expires
Hold LVVC credentials
Check the revocation status via the /api/credential/v1/revocation-check
endpoint.