This specification describes an experimental vocabulary for asserting Verifiable Credentials related to vaccination certificates for medical purposes

Introduction

This specification describes an experimental vocabulary for asserting Verifiable Credentials related to vaccination certificates for medical purposes

Use Cases and Requirements

The following use cases outline a number of key scenarios that readers might find useful:

Example

The following examples are provided as a simple example of how this vocabulary can be used in-conjunction with Verifiable Credentials [[VC-DATA-MODEL]]

          {
            "@context": [
              "https://www.w3.org/2018/credentials/v1",
              "https://w3id.org/vaccination/v1"
            ],
            "type": [
              "VerifiableCredential",
              "VaccinationCertificate"
            ],
            "id": "urn:uvci:af5vshde843jf831j128fj",
            "name": "COVID-19 Vaccination Certificate",
            "description": "COVID-19 Vaccination Certificate",
            "issuanceDate": "2019-12-03T12:19:52Z",
            "expirationDate": "2029-12-03T12:19:52Z",
            "issuer": "did:key:z6MkiY62766b1LJkExWMsM3QG4WtX7QpY823dxoYzr9qZvJ3",
            "credentialSubject": {
              "type": "VaccinationEvent",
              "batchNumber": "1183738569",
              "administeringCentre": "MoH",
              "healthProfessional": "MoH",
              "countryOfVaccination": "NZ",
              "recipient": {
                "type": "VaccineRecipient",
                "givenName": "JOHN",
                "familyName": "SMITH",
                "gender": "Male",
                "birthDate": "1958-07-17"
              },
              "vaccine": {
                "type": "Vaccine",
                "disease": "COVID-19",
                "atcCode": "J07BX03",
                "medicinalProductName": "COVID-19 Vaccine Moderna",
                "marketingAuthorizationHolder": "Moderna Biotech"
              }
            },
            "proof": {
              "type": "Ed25519Signature2018",
              "created": "2021-02-18T23:00:15Z",
              "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..vD_vXJCWdeGpN-qKHDIlzgGC0auRPcwp3O1sOI-gN8z3UD4pI0HO_77ob5KHhhU1ugLrrwrMsKv71mqHBn-dBg",
              "proofPurpose": "assertionMethod",
              "verificationMethod": "did:key:z6MkiY62766b1LJkExWMsM3QG4WtX7QpY823dxoYzr9qZvJ3#z6MkiY62766b1LJkExWMsM3QG4WtX7QpY823dxoYzr9qZvJ3"
            }
          }
        
          {
            "@context": [
              "https://www.w3.org/2018/credentials/v1",
              "https://w3id.org/vaccination/v1",
              "https://w3id.org/security/bbs/v1"
            ],
            "type": [
              "VerifiableCredential",
              "VaccinationCertificate"
            ],
            "id": "urn:uvci:af5vshde843jf831j128fj",
            "name": "COVID-19 Vaccination Certificate",
            "description": "COVID-19 Vaccination Certificate",
            "issuanceDate": "2019-12-03T12:19:52Z",
            "expirationDate": "2029-12-03T12:19:52Z",
            "issuer": "did:key:zUC724vuGvHpnCGFG1qqpXb81SiBLu3KLSqVzenwEZNPoY35i2Bscb8DLaVwHvRFs6F2NkNNXRcPWvqnPDUd9ukdjLkjZd3u9zzL4wDZDUpkPAatLDGLEYVo8kkAzuAKJQMr7N2",
            "credentialSubject": {
              "type": "VaccinationEvent",
              "batchNumber": "1183738569",
              "administeringCentre": "MoH",
              "healthProfessional": "MoH",
              "countryOfVaccination": "NZ",
              "recipient": {
                "type": "VaccineRecipient",
                "givenName": "JOHN",
                "familyName": "SMITH",
                "gender": "Male",
                "birthDate": "1958-07-17"
              },
              "vaccine": {
                "type": "Vaccine",
                "disease": "COVID-19",
                "atcCode": "J07BX03",
                "medicinalProductName": "COVID-19 Vaccine Moderna",
                "marketingAuthorizationHolder": "Moderna Biotech"
              }
            },
            "proof": {
              "type": "BbsBlsSignature2020",
              "created": "2021-02-18T23:01:59Z",
              "proofPurpose": "assertionMethod",
              "proofValue": "kyesJtjITx/qsXTOuBpAu44e1UC9kjwqbEVyPqTiHL0pVPyaD/xeD0pEw/qBtr25SfrmMj3wXhCMfH77cc6+JgpgIaAnmR5wtTKGsxNm03wwlXf8LFZujjbw+Uf9Wm3aNO7rmAdrG3ec8e9VEQZeIw==",
              "verificationMethod": "did:key:zUC724vuGvHpnCGFG1qqpXb81SiBLu3KLSqVzenwEZNPoY35i2Bscb8DLaVwHvRFs6F2NkNNXRcPWvqnPDUd9ukdjLkjZd3u9zzL4wDZDUpkPAatLDGLEYVo8kkAzuAKJQMr7N2#zUC724vuGvHpnCGFG1qqpXb81SiBLu3KLSqVzenwEZNPoY35i2Bscb8DLaVwHvRFs6F2NkNNXRcPWvqnPDUd9ukdjLkjZd3u9zzL4wDZDUpkPAatLDGLEYVo8kkAzuAKJQMr7N2"
            }
          }
        
          {
            "@context": [
              "https://www.w3.org/2018/credentials/v1",
              "https://w3id.org/vaccination/v1",
              "https://w3id.org/security/bbs/v1"
            ],
            "id": "urn:uvci:af5vshde843jf831j128fj",
            "type": [
              "VaccinationCertificate",
              "VerifiableCredential"
            ],
            "description": "COVID-19 Vaccination Certificate",
            "name": "COVID-19 Vaccination Certificate",
            "expirationDate": "2029-12-03T12:19:52Z",
            "issuanceDate": "2019-12-03T12:19:52Z",
            "issuer": "did:key:zUC724vuGvHpnCGFG1qqpXb81SiBLu3KLSqVzenwEZNPoY35i2Bscb8DLaVwHvRFs6F2NkNNXRcPWvqnPDUd9ukdjLkjZd3u9zzL4wDZDUpkPAatLDGLEYVo8kkAzuAKJQMr7N2",
            "credentialSubject": {
              "id": "urn:bnid:_:c14n2",
              "type": "VaccinationEvent",
              "batchNumber": "1183738569",
              "countryOfVaccination": "NZ"
            },
            "proof": {
              "type": "BbsBlsSignatureProof2020",
              "created": "2021-02-18T23:04:28Z",
              "nonce": "JNGovx4GGoi341v/YCTcZq7aLWtBtz8UhoxEeCxZFevEGzfh94WUSg8Ly/q+2jLqzzY=",
              "proofPurpose": "assertionMethod",
              "proofValue": "AB0GQA//jbDwMgaIIJeqP3fRyMYi6WDGhk0JlGJc/sk4ycuYGmyN7CbO4bA7yhIW/YQbHEkOgeMy0QM+usBgZad8x5FRePxfo4v1dSzAbJwWjx87G9F1lAIRgijlD4sYni1LhSo6svptDUmIrCAOwS2raV3G02mVejbwltMOo4+cyKcGlj9CzfjCgCuS1SqAxveDiMKGAAAAdJJF1pO6hBUGkebu/SMmiFafVdLvFgpMFUFEHTvElUQhwNSp6vxJp6Rs7pOVc9zHqAAAAAI7TJuDCf7ramzTo+syb7Njf6ExD11UKNcChaeblzegRBIkg3HoWgwR0hhd4z4D5/obSjGPKpGuD+1DoyTZhC/wqOjUZ03J1EtryZrC+y1DD14b4+khQVLgOBJ9+uvshrGDbu8+7anGezOa+qWT0FopAAAAEG6p07ghODpi8DVeDQyPwMY/iu2Lh7x3JShWniQrewY2GbsACBYOPlkNNm/qSExPRMe2X7UPpdsxpUDwqbObye4EXfAabgKd9gCmj2PNdvcOQAi5rIuJSGa4Vj7AtKoW/2vpmboPoOu4IEM1YviupomCKOzhjEuOof2/y5Adfb8JUVidWqf9Ye/HtxnzTu0HbaXL7jbwsMNn5wYfZuzpmVQgEXss2KePMSkHcfScAQNglnI90YgugHGuU+/DQcfMoA0+JviFcJy13yERAueVuzrDemzc+wJaEuNDn8UiTjAdVhLcgnHqUai+4F6ONbCfH2B3ohB3hSiGB6C7hDnEyXFOO9BijCTHrxPv3yKWNkks+3JfY28m+3NO0e2tlyH71yDX0+F6U388/bvWod/u5s3MpaCibTZEYoAc4sm4jW03HFYMmvYBuWOY6rGGOgIrXxQjx98D0macJJR7Hkh7KJhMkwvtyI4MaTPJsdJGfv8I+RFROxtRM7RcFpa4J5wF/wQnpyorqchwo6xAOKYFqCqKvI9B6Y7Da7/0iOiWsjs8a4zDiYynfYavnz6SdxCMpHLgplEQlnntqCb8C3qly2s5Ko3PGWu4M8Dlfcn4TT8YenkJDJicA91nlLaE8TJbBgsvgyT+zlTsRSXlFzQc+3KfWoODKZIZqTBaRZMft3S/",
              "verificationMethod": "did:key:zUC724vuGvHpnCGFG1qqpXb81SiBLu3KLSqVzenwEZNPoY35i2Bscb8DLaVwHvRFs6F2NkNNXRcPWvqnPDUd9ukdjLkjZd3u9zzL4wDZDUpkPAatLDGLEYVo8kkAzuAKJQMr7N2#zUC724vuGvHpnCGFG1qqpXb81SiBLu3KLSqVzenwEZNPoY35i2Bscb8DLaVwHvRFs6F2NkNNXRcPWvqnPDUd9ukdjLkjZd3u9zzL4wDZDUpkPAatLDGLEYVo8kkAzuAKJQMr7N2"
            }
          }
        

Representation Size

Certain applications of Verifiable Credentials create constraints around the permitted size of a credentials representation, one such example constraint is expressing a Verifiable Credential in a QR Code.

Vaccination Certificates are a particular use-case where a solution involving much of the benefits of Verifiable Credentials can be realized without requiring the credential subject to possess or have access to digital infrastructure such as a digital wallet. Instead the Verifiable Credential can be issued by the issuer, printed to a physical medium (e.g paper) and shared with the subject.

There are numerous techniques that can be used to keep the representation of a Verifiable Credential small, two of the most notable are:

As an example below the following Vaccination Certificate is issued as a Verifiable Credential using a subset of the vocabulary defined by this document. The resulting Verifiable Credential is then encoded in both JSON-LD and CBOR-LD to show the compression.

        {
          "@context": [
            "https://www.w3.org/2018/credentials/v1",
            "https://w3id.org/vaccination/v1"
          ],
          "type": [
            "VerifiableCredential",
            "VaccinationCertificate"
          ],
          "id": "urn:uvci:af5vshde843jf831j128fj",
          "issuanceDate": "2019-12-03T12:19:52Z",
          "expirationDate": "2029-12-03T12:19:52Z",
          "issuer": "did:key:z6MkiY62766b1LJkExWMsM3QG4WtX7QpY823dxoYzr9qZvJ3",
          "credentialSubject": {
            "type": "VaccinationEvent",
            "batchNumber": "1183738569",
            "administeringCentre": "MoH",
            "countryOfVaccination": "NZ",
            "recipient": {
              "type": "VaccineRecipient",
              "givenName": "JOHN",
              "familyName": "SMITH",
              "gender": "Male",
              "birthDate": "1958-07-17"
            },
            "vaccine": {
              "type": "Vaccine",
              "atcCode": "J07BX03"
            }
          },
          "proof": {
            "type": "Ed25519Signature2018",
            "created": "2021-02-18T23:49:52Z",
            "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..a3UqIuKSOmCKrdn2knl_hCjiN4f4Ud1eO5ckwEHb623V9vdCwWCDB7GBHlRBYSI8ek2E-By7xysVFwutcpOeDg",
            "proofPurpose": "assertionMethod",
            "verificationMethod": "did:key:z6MkiY62766b1LJkExWMsM3QG4WtX7QpY823dxoYzr9qZvJ3#z6MkiY62766b1LJkExWMsM3QG4WtX7QpY823dxoYzr9qZvJ3"
          }
        }      
      
      d9                --  next 2 bytes
        0501            -- Tag #1281
          a8            -- Map, 8 pairs
            01          -- {Key:0}, 1
            82          -- {Val:0}, Array, 2 items
              11        -- [0], 17
              78        -- String, length next 1 byte
                1f      -- String, length: 31
                  68747470733a2f2f773369642e6f72672f76616363696e6174696f6e2f7631 -- [1], "https://w3id.org/vaccination/v1"
            18          -- Positive number, next 1 byte
              3e        -- {Key:1}, 62
            82          -- {Val:1}, Array, 2 items
              0f        -- [0], 15
              0b        -- [1], 11
            18          -- Positive number, next 1 byte
              2b        -- {Key:2}, 43
            78          -- String, length next 1 byte
              1f        -- String, length: 31
                75726e3a757663693a61663576736864653834336a663833316a313238666a -- {Val:2}, "urn:uvci:af5vshde843jf831j128fj"
            18          -- Positive number, next 1 byte
              2d        -- {Key:3}, 45
            1a          -- Positive number, next 4 bytes
              5de652e8  -- {Val:3}, 1575375592
            18          -- Positive number, next 1 byte
              24        -- {Key:4}, 36
            1a          -- Positive number, next 4 bytes
              70b64a68  -- {Val:4}, 1890994792
            18          -- Positive number, next 1 byte
              2f        -- {Key:5}, 47
            82          -- {Val:5}, Array, 2 items
              19        -- Positive number, next 2 bytes
                0401    -- [0], 1025
              58        -- Bytes, length next 1 byte
                22      -- Bytes, length: 34
                  ed013cab50d559e78a1bab71841fd9cbd9e802999038685ef84b7e490d2717c2b110 -- [1], ed013cab50d559e78a1bab71841fd9cbd9e802999038685ef84b7e490d2717c2b110
            18          -- Positive number, next 1 byte
              1d        -- {Key:6}, 29
            a6          -- {Val:6}, Map, 6 pairs
              18        -- Positive number, next 1 byte
                3e      -- {Key:0}, 62
              0c        -- {Val:0}, 12
              15        -- {Key:1}, 21
              6a        -- String, length: 10
                31313833373338353639 -- {Val:1}, "1183738569"
              11        -- {Key:2}, 17
              63        -- String, length: 3
                4d6f48  -- {Val:2}, "MoH"
              18        -- Positive number, next 1 byte
                18      -- {Key:3}, 24
              62        -- String, length: 2
                4e5a    -- {Val:3}, "NZ"
              18        -- Positive number, next 1 byte
                3a      -- {Key:4}, 58
              a5        -- {Val:4}, Map, 5 pairs
                18      -- Positive number, next 1 byte
                  3e    -- {Key:0}, 62
                0e      -- {Val:0}, 14
                18      -- Positive number, next 1 byte
                  28    -- {Key:1}, 40
                64      -- String, length: 4
                  4a4f484e -- {Val:1}, "JOHN"
                18      -- Positive number, next 1 byte
                  26    -- {Key:2}, 38
                65      -- String, length: 5
                  534d495448 -- {Val:2}, "SMITH"
                18      -- Positive number, next 1 byte
                  27    -- {Key:3}, 39
                64      -- String, length: 4
                  4d616c65 -- {Val:3}, "Male"
                16      -- {Key:4}, 22
                6a      -- String, length: 10
                  313935382d30372d3137 -- {Val:4}, "1958-07-17"
              18        -- Positive number, next 1 byte
                3f      -- {Key:5}, 63
              a2        -- {Val:5}, Map, 2 pairs
                18      -- Positive number, next 1 byte
                  3e    -- {Key:0}, 62
                0d      -- {Val:0}, 13
                13      -- {Key:1}, 19
                67      -- String, length: 7
                  4a303742583033 -- {Val:1}, "J07BX03"
            18          -- Positive number, next 1 byte
              37        -- {Key:7}, 55
            a5          -- {Val:7}, Map, 5 pairs
              18        -- Positive number, next 1 byte
                3e      -- {Key:0}, 62
              07        -- {Val:0}, 7
              18        -- Positive number, next 1 byte
                19      -- {Key:1}, 25
              1a        -- Positive number, next 4 bytes
                602efd20 -- {Val:1}, 1613692192
              18        -- Positive number, next 1 byte
                30      -- {Key:2}, 48
              78        -- String, length next 1 byte
                90      -- String, length: 144
                  65794a68624763694f694a465a45525451534973496d49324e4349365a6d467363325573496d4e79615851694f6c7369596a5930496c31392e2e6133557149754b534f6d434b72646e326b6e6c5f68436a694e346634556431654f35636b7745486236323356397664437757434442374742486c524259534938656b32452d427937787973564677757463704f654467 -- {Val:2}, "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..a3UqIuKSOmCKrdn2knl_hCjiN4f4Ud1eO5ckwEHb623V9vdCwWCDB7GBHlRBYSI8ek2E-By7xysVFwutcpOeDg"
              18        -- Positive number, next 1 byte
                38      -- {Key:3}, 56
              12        -- {Val:3}, 18
              18        -- Positive number, next 1 byte
                43      -- {Key:4}, 67
              83        -- {Val:4}, Array, 3 items
                19      -- Positive number, next 2 bytes
                  0401  -- [0], 1025
                58      -- Bytes, length next 1 byte
                  22    -- Bytes, length: 34
                    ed013cab50d559e78a1bab71841fd9cbd9e802999038685ef84b7e490d2717c2b110 -- [1], ed013cab50d559e78a1bab71841fd9cbd9e802999038685ef84b7e490d2717c2b110
                58      -- Bytes, length next 1 byte
                  22    -- Bytes, length: 34
                    ed013cab50d559e78a1bab71841fd9cbd9e802999038685ef84b7e490d2717c2b110 -- [2], ed013cab50d559e78a1bab71841fd9cbd9e802999038685ef84b7e490d2717c2b110
      0xd90501a8018211781f68747470733a2f2f773369642e6f72672f76616363696e6174696f6e2f7631183e820f0b182b781f75726e3a757663693a61663576736864653834336a663833316a313238666a182d1a5de652e818241a70b64a68182f821904015822ed013cab50d559e78a1bab71841fd9cbd9e802999038685ef84b7e490d2717c2b110181da6183e0c156a3131383337333835363911634d6f481818624e5a183aa5183e0e1828644a4f484e182665534d4954481827644d616c65166a313935382d30372d3137183fa2183e0d13674a3037425830331837a5183e0718191a602efd201830789065794a68624763694f694a465a45525451534973496d49324e4349365a6d467363325573496d4e79615851694f6c7369596a5930496c31392e2e6133557149754b534f6d434b72646e326b6e6c5f68436a694e346634556431654f35636b7745486236323356397664437757434442374742486c524259534938656b32452d427937787973564677757463704f6544671838121843831904015822ed013cab50d559e78a1bab71841fd9cbd9e802999038685ef84b7e490d2717c2b1105822ed013cab50d559e78a1bab71841fd9cbd9e802999038685ef84b7e490d2717c2b110
  

Below illustrates the size difference of the Verifiable Credential example shown above encoded in JSON-LD and CBOR-LD.

Encoding Technology Size (bytes)
JSON-LD 1217
CBOR-LD 461

Below shows a QR Code that features the Verifiable Credential example shown above compressed using CBOR-LD converted to base32 in accordance with [[!RFC4648]] and encoded into a QR Code using the alphanumeric mode.

a qr code based representation of a Verifiable Credential encoded as CBOR-LD
A QR Code based representation of a Verifiable Credential encoded as CBOR-LD

Terminology

Concepts

A vaccination certificate contains many different pieces of information relating to the vaccination of an individual. These pieces can be organized into the following categories

diagram showing
       the information model for a vaccination certificate
The information model for a vaccination certificate

The Vaccination Certificate Vocabulary

This vocabulary assumes all terms specified in the base Verifiable Credentials [[VC-DATA-MODEL]] context. In addition, the following classes are available for specifying information related to proof of vaccination for medical purposes

Class Description
VaccinationCertificate Specifies that the credential is a vaccination certificate
VaccinationEvent Specifies the details of the vaccination event including the administration details.
VaccineRecipient Specifies that the subject of the credential is the recipient of a specified vaccine.
Vaccine Specifies the details of medical product serving as a vaccine.

Vaccination Event

Term Description
order Order in the vaccination course.
batchNumber A distinctive combination of numbers and/or letters which specifically identifies a batch.
dateOfVaccination Date in which the vaccination event occurred.
administeringCentre Name/code of administering centre or a health authority responsible for the vaccination event.
healthProfessional Name or health professional code responsible for administering the vaccine or prophylaxis.
countryOfVaccination The country in which the vaccine recipient was vaccinated.
nextVaccinationDate Date on which the next vaccination should be administered to the vaccine recipient.
recipient The recipient of the vaccine.
vaccine The details of vaccine administered.

Order

Order in the vaccination course.

Term order
URL https://w3id.org/vaccination#order
Expected Value String

Batch Number

A distinctive combination of numbers and/or letters which specifically identifies a batch.

Term batchNumber
URL https://w3id.org/vaccination#batchNumber
Expected Value String

Date Of Vaccination

Date in which the vaccination event occurred.

Term dateOfVaccination
URL https://w3id.org/vaccination#dateOfVaccination
Expected Value Datetime

Administering Centre

Name/code of administering centre or a health authority responsible for the vaccination event.

Term administeringCentre
URL https://w3id.org/vaccination#administeringCentre
Expected Value String

Health Professional

Name or health professional code responsible for administering the vaccine or prophylaxis.

Term healthProfessional
URL https://w3id.org/vaccination#healthProfessional
Expected Value String

Country Of Vaccination

The country in which the vaccine recipient was vaccinated, MUST be a valid country code as per ISO 3166.

Term countryOfVaccination
URL https://w3id.org/vaccination#countryOfVaccination
Expected Value String

Next Vaccination Date

Date on which the next vaccination should be administered to the vaccine recipient.

Term nextVaccinationDate
URL https://w3id.org/vaccination#nextVaccinationDate
Expected Value Datetime

Recipient

The recipient of the vaccine.

Term recipient
URL https://w3id.org/vaccination#recipient
Expected Value https://w3id.org/vaccination#VaccineRecipient

Vaccine

The details of vaccine administered.

Term vaccine
URL https://w3id.org/vaccination#VaccineEventVaccine
Expected Value https://w3id.org/vaccination#Vaccine

Vaccine Recipient

This document specifies the following terms for expressing the details about the vaccine recipient.

Term Description
birthDate The date on which the vaccine recipient was born.
familyName The name of the family with which the vaccine recipient identifies.
givenName The non-family name with which the vaccine recipient identifies.
gender The gender of the vaccine recipient.

Birth Date

The date on which the vaccine recipient was born.

Term birthDate
URL http://schema.org/birthDate
Expected Value Datetime

Family Name

The date on which the vaccine recipient was born.

Term familyName
URL http://schema.org/familyName
Expected Value String

Given Name

The date on which the vaccine recipient was born.

Term givenName
URL http://schema.org/givenName
Expected Value String

Gender

The gender of the vaccine recipient.

Term gender
URL http://schema.org/gender
Expected Value String

Vaccine

This document specifies the following terms for expressing the details about the "Vaccine"

Term Description
atcCode Anatomical Therapeutic Chemical Code.
disease Disease or agent that the vaccination administered to the recipient provides protection against.
vaccine Generic description of the vaccine/prophylaxis or its component(s).
medicinalProductName Medicinal product name.
marketingAuthorizationHolder Marketing Authorization Holder.

ATC Code

Anatomical Therapeutic Chemical Code, see [[WHO-ATC-CODE]]

Term atcCode
URL https://w3id.org/vaccination#atcCode
Expected Value String

Disease

Disease or agent that the vaccination administered to the recipient provides protection against.

Term disease
URL https://w3id.org/vaccination#disease
Expected Value String

Medicinal Product Name

Medicinal product name of the vaccine.

Term medicinalProductName
URL https://w3id.org/vaccination#medicinalProductName
Expected Value String

Marketing Authorization Holder

Marketing authorization holder of the vaccine.

Term marketingAuthorizationHolder
URL https://w3id.org/vaccination#marketingAuthorizationHolder
Expected Value String

Privacy Considerations

This section details the general privacy considerations and specific privacy implications of deploying this specification into production environments.

Security Considerations

There are a number of security considerations that implementers should be aware of when processing data described by this specification. Ignoring or not understanding the implications of this section can result in security vulnerabilities.

While this section attempts to highlight a broad set of security considerations, it is not a complete list. Implementers are urged to seek the advice of security and cryptography professionals when implementing mission critical systems using the technology outlined in this specification.

Accessibility Considerations

There are a number of accessibility considerations implementers should be aware of when processing data described in this specification. As with any web standards or protocols implementation, ignoring accessibility issues makes this information unusable to a large subset of the population. It is important to follow accessibility guidelines and standards, such as [[WCAG21]], to ensure all people, regardless of ability, can make use of this data. This is especially important when establishing systems utilizing cryptography, which have historically created problems for assistive technologies.

This section details the general accessibility considerations to take into account when utilizing this data model.

Internationalization Considerations

There are a number of internationalization considerations implementers should be aware of when publishing data described in this specification. As with any web standards or protocols implementation, ignoring internationalization makes it difficult for data to be produced and consumed across a disparate set of languages and societies, which would limit the applicability of the specification and significantly diminish its value as a standard.

This section outlines general internationalization considerations to take into account when utilizing this data model.