w3c / vc-bitstring-status-list

A privacy-preserving mechanism to publish status information for Verifiable Credentials.
https://w3c.github.io/vc-bitstring-status-list/
Other
22 stars 19 forks source link

`credentialSubject.statusMessage` localizable? #136

Closed aphillips closed 7 months ago

aphillips commented 9 months ago

2.2 BitstringStatusListCredential https://w3c.github.io/vc-bitstring-status-list/#bitstringstatuslistcredential

The statusMessage property MUST be an array. If present, the length of the array must equal the number of possible status states indicated by statusSize. statusMessages MAY be present if statusSize is 1. statusMessages MUST be present if statusSize is greater than 1. If not present, the message value associated with the bit value of 0 is "unset" and the bit value of 1 is "set". If present, elements in the statusMessage array MUST contain at minimum two properties:

  • status, being a string of the hex value of the status
  • message, being a string containing the associated message

Implementers MAY add additional values to objects in the statusMessage array. Implementers MAY use the string value of undefined in the value to indicate that a corresponding status is not defined for the associated status value, but that it may be defined in the future. Rules for how to handle various status messages are outside the scope of normative requirements in this document, but it is assumed that implementers will document rules for processing various status codes.

The above later has an example like this:

    "statusMessage": [
        {"status":"0x0", "message":"valid"},
        {"status":"0x1", "message":"invalid"},
        {"status":"0x2", "message":"pending_review"},
        ...
    ],

The example of a statusMessage suggests that the message string is a machine-readable non-language string. But the use of a status code (hex code number) suggests that the message is intended to make the string available for human consumption e.g. debugging. If the string is for human consumption, that actually suggests that language and direction metadata are needed and/or that localization should be possible.

If the intention is to make the values only machine readable, there should probably be a prominent note explaining this intention. Or there should be some way to tag the strings or document with language so that expectations are clear.

OR13 commented 9 months ago

status should be marked as "machine readable", "message" should be marked as "human readable", with a pointer to how best to represent human readable strings in unicode / JSON-LD. https://www.w3.org/TR/json-ld11/#string-internationalization

iherman commented 7 months ago

The issue was discussed in a meeting on 2024-04-03

View the transcript #### 3.1. `credentialSubject.statusMessage` localizable? (issue vc-bitstring-status-list#136) _See github issue [vc-bitstring-status-list#136](https://github.com/w3c/vc-bitstring-status-list/issues/136)._ **Manu Sporny:** #136. … Just a heads up. Spoke with Mahmoud yesterday about this localize status message. … I'm going to work with Mahmoud to address this. … I'm confident we can address this.
msporny commented 7 months ago

PR https://github.com/w3c/vc-bitstring-status-list/pull/138 was raised to address this issue and has been merged. Closing.