You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Status row says "the issuer set up no way to deactivate this" behind a seal that didn't hold #32
When a credential carries no credentialStatus, the Status row reads "the issuer set up no way to deactivate this", even when the seal didn't hold. It's stated as a fact about the issuer, but it is read from the credential itself (hasStatusList in src/outcomes.ts, the !hasStatusList(r) branch of listChecks), and nothing has vouched for the credential.
Seen on the demo, on main and on #31's preview alike:
Changed (tampered): Tampering "detected", Status "the issuer set up no way to deactivate this".
?vc= vc-test-fixtures didWeb/badDidWeb.json (issuer's key unreachable): Tampering "not checked", Status the same sentence.
Someone who strips credentialStatus from a credential gets a Status row saying the issuer never made it revocable. The verdict above already says "tampered" or "couldn't check", so the impact is low. Still, the row claims something we can't know.
Proposed fix
Treat the Status row as #31 treats the Dates row: behind a seal that didn't hold, it reads "not checked". That uses existing words, so it needs no new earner text. Then add a consistency rule that no Status row value other than "not checked" sits beside an unheld seal, and a mutation check that the rule can fail.
Not in scope
#31 (verifier-core 2.0.0-beta.1). This behaviour predates it, and #31 doesn't change it.
Activity
Review: pin the action too, say why the row rule needs a held seal
No status behind a seal that didn't hold
No status behind a seal that didn't hold
No status behind a seal that didn't hold