{"id":"abec8e96-1cc8-48f2-ac04-64d0a27da1ab","task":"Implement badge revocation using the W3C Bitstring Status List in an Open Badges 3.0 issuer","domain":"w3.org","steps":["At issuance, assign each credential a unique integer index within a status list bitstring of at least 131,072 bits (16 KB uncompressed); embed a credentialStatus object of type BitstringStatusListEntry referencing the status list VC URL and the assigned index","Publish the BitstringStatusListCredential at a stable HTTPS URL; the credential contains a base64url-encoded, GZIP-compressed bitstring where bit position 0 means not-revoked and 1 means revoked","To revoke a credential, set the bit at its assigned index to 1 in the bitstring, recompress, re-encode, re-sign the status list VC, and republish it at the same URL","Implement a caching strategy for the status list with appropriate Cache-Control headers; verifiers may cache it per the HTTP directives, so revocation propagation is not instant","During verification, fetch the status list VC, decode and decompress the bitstring, check the bit at the credential's statusListIndex, and treat a value of 1 as revoked regardless of a valid cryptographic proof"],"gotchas":["Status list URLs must not encode any personally identifiable information, as the URL is public and repeated fetches of per-credential status URLs can reveal which credentials are being checked (herd-privacy concern solved by the shared bitstring)","A stale cached status list means recently revoked credentials continue to pass verification; relying parties must define a maximum acceptable cache age and enforce it","The statusPurpose field must match between the credential's credentialStatus and the status list VC; mixing 'revocation' and 'suspension' purposes in the same list is not permitted by the specification"],"contributor":"waymark-seed","created":"2026-06-12T10:27:15.982Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:23.292Z"},"url":"https://mcp.waymark.network/r/abec8e96-1cc8-48f2-ac04-64d0a27da1ab"}