---
# System prepended metadata

title: Mermaid Support for Envelope

---

# Mermaid Support for Envelope

## by Wolf McNally, Blockchain Commons

These examples compare a series of Gordian Envelopes output first in "envelope notation" and then in [Mermaid](https://mermaid-js.github.io/mermaid/#/) format.

### Plaintext

```

```

```mermaid
graph LR
    1["886a0c85<br/>#quot;Hello.#quot;"]
    style 1 stroke:blue,stroke-width:3.0px
```

* Leaf elements (elements having no children) have blue outlines.
* CBOR leaf elements (like strings, but they can be of any complexity) are represented by rectangles.
* The digests shown in each element are the first four bytes of the 32-byte digest associated with each element.
* Every element you see is *itself* an envelope that can be extracted and manipulated. If two digests match, the contents of the envelopes they represent also necessarily match.

### Signed Plaintext

```
"Hello." [
    verifiedBy: Signature
]
```

```mermaid
graph LR
    1(("c3915ed3<br/>NODE"))
    2["886a0c85<br/>#quot;Hello.#quot;"]
    3(["5f656bf5<br/>ASSERTION"])
    4[/"d59f8c0f<br/>verifiedBy"/]
    5["9f388294<br/>Signature"]
    1 -->|subj| 2
    1 --> 3
    3 -->|pred| 4
    3 -->|obj| 5
    style 1 stroke:red,stroke-width:3.0px
    style 2 stroke:blue,stroke-width:3.0px
    style 3 stroke:red,stroke-width:3.0px
    style 4 stroke:blue,stroke-width:3.0px
    style 5 stroke:blue,stroke-width:3.0px
    linkStyle 0 stroke:red,stroke-width:2.0px
    linkStyle 1 stroke-width:2.0px
    linkStyle 2 stroke:green,stroke-width:2.0px
    linkStyle 3 stroke:blue,stroke-width:2.0px
```

* Internal elements (elements with children) are represented with red outlines.
* A `NODE` element appears when one or more assertions are present on a subject. They are represented by circles. They have one arm for the `subject` and an additional arm for each assertion.
* An `ASSERTION` element is represented by the Mermaid `stadium`  shape, and has exactly two arms: `predicate` and `object`.
* Well-known predicates like `verifiedBy` are represented by trapezoids, and are encoded as short integers.

### Encrypted Subject

```
ENCRYPTED [
    "knows": "Bob"
]
```

```mermaid
graph LR
    1(("e54d6fd3<br/>NODE"))
    2>"27840350<br/>ENCRYPTED"]
    3(["55560bdf<br/>ASSERTION"])
    4["7092d620<br/>#quot;knows#quot;"]
    5["9a771715<br/>#quot;Bob#quot;"]
    1 -->|subj| 2
    1 --> 3
    3 -->|pred| 4
    3 -->|obj| 5
    style 1 stroke:red,stroke-width:3.0px
    style 2 stroke:blue,stroke-width:3.0px,stroke-dasharray:5.0 5.0
    style 3 stroke:red,stroke-width:3.0px
    style 4 stroke:blue,stroke-width:3.0px
    style 5 stroke:blue,stroke-width:3.0px
    linkStyle 0 stroke:red,stroke-width:2.0px
    linkStyle 1 stroke-width:2.0px
    linkStyle 2 stroke:green,stroke-width:2.0px
    linkStyle 3 stroke:blue,stroke-width:2.0px
```

* `ENCRYPTED` and `ELIDED` elements appear with dotted outlines in the Mermaid output, to indicate that they may be replaced with their unencrypted/unelided counterparts without invalidating the digest tree.
* `ENCRYPTED` elements are represented by the Mermaid `asymmetric` shape.

### Elided Object

```
"Alice" [
    "knows": ELIDED
]
```

```mermaid
graph LR
    1(("e54d6fd3<br/>NODE"))
    2["27840350<br/>#quot;Alice#quot;"]
    3(["55560bdf<br/>ASSERTION"])
    4["7092d620<br/>#quot;knows#quot;"]
    5{{"9a771715<br/>ELIDED"}}
    1 -->|subj| 2
    1 --> 3
    3 -->|pred| 4
    3 -->|obj| 5
    style 1 stroke:red,stroke-width:3.0px
    style 2 stroke:blue,stroke-width:3.0px
    style 3 stroke:red,stroke-width:3.0px
    style 4 stroke:blue,stroke-width:3.0px
    style 5 stroke:blue,stroke-width:3.0px,stroke-dasharray:5.0 5.0
    linkStyle 0 stroke:red,stroke-width:2.0px
    linkStyle 1 stroke-width:2.0px
    linkStyle 2 stroke:green,stroke-width:2.0px
    linkStyle 3 stroke:blue,stroke-width:2.0px
```

* `ELIDED` elements are represented by dotted hexagons.
* Note that the digest of the element "Bob" in the previous example matches the digest of the elided element above.
* Likewise, note that the digest of the subject "Alice" matches the encrypted version in the previous example.
* In fact, *all* the digests in this envelope match those in the previous example, indicating that the unencrypted/unelided form of this envelope has the exact same content.

### Top-Level Assertion

```
"knows": "Bob"
```

```mermaid
graph LR
    1(["55560bdf<br/>ASSERTION"])
    2["7092d620<br/>#quot;knows#quot;"]
    3["9a771715<br/>#quot;Bob#quot;"]
    1 -->|pred| 2
    1 -->|obj| 3
    style 1 stroke:red,stroke-width:3.0px
    style 2 stroke:blue,stroke-width:3.0px
    style 3 stroke:blue,stroke-width:3.0px
    linkStyle 0 stroke:green,stroke-width:2.0px
    linkStyle 1 stroke:blue,stroke-width:2.0px
```

* As mentioned previously, all of the element types are themselves envelopes, and can therefore stand alone. In this case, we have extracted a single assertion.


### Signed Subject

```
"Alice" [
    "knows": "Bob"
    "knows": "Carol"
    verifiedBy: Signature
]
```

```mermaid
graph LR
    1(("efed9563<br/>NODE"))
    2["27840350<br/>#quot;Alice#quot;"]
    3(["55560bdf<br/>ASSERTION"])
    4["7092d620<br/>#quot;knows#quot;"]
    5["9a771715<br/>#quot;Bob#quot;"]
    6(["71a30690<br/>ASSERTION"])
    7["7092d620<br/>#quot;knows#quot;"]
    8["ad2c454b<br/>#quot;Carol#quot;"]
    9(["dbb0ad16<br/>ASSERTION"])
    10[/"d59f8c0f<br/>verifiedBy"/]
    11["858d19e2<br/>Signature"]
    1 -->|subj| 2
    1 --> 3
    3 -->|pred| 4
    3 -->|obj| 5
    1 --> 6
    6 -->|pred| 7
    6 -->|obj| 8
    1 --> 9
    9 -->|pred| 10
    9 -->|obj| 11
    style 1 stroke:red,stroke-width:3.0px
    style 2 stroke:blue,stroke-width:3.0px
    style 3 stroke:red,stroke-width:3.0px
    style 4 stroke:blue,stroke-width:3.0px
    style 5 stroke:blue,stroke-width:3.0px
    style 6 stroke:red,stroke-width:3.0px
    style 7 stroke:blue,stroke-width:3.0px
    style 8 stroke:blue,stroke-width:3.0px
    style 9 stroke:red,stroke-width:3.0px
    style 10 stroke:blue,stroke-width:3.0px
    style 11 stroke:blue,stroke-width:3.0px
    linkStyle 0 stroke:red,stroke-width:2.0px
    linkStyle 1 stroke-width:2.0px
    linkStyle 2 stroke:green,stroke-width:2.0px
    linkStyle 3 stroke:blue,stroke-width:2.0px
    linkStyle 4 stroke-width:2.0px
    linkStyle 5 stroke:green,stroke-width:2.0px
    linkStyle 6 stroke:blue,stroke-width:2.0px
    linkStyle 7 stroke-width:2.0px
    linkStyle 8 stroke:green,stroke-width:2.0px
    linkStyle 9 stroke:blue,stroke-width:2.0px
```

* A signature signs only the digest of the subject, in this case "Alice". So in this case, the "knows" assertions are not signed.
* Note that for every internal element, the children are displayed in the order that their digests are combined to form the parent's digest. In particular a `NODE`'s, `ASSERTION` elements are ordered by ascending digest value, so the order of the three assertion digests here: `3ed95464`, `55560bdf`, `71a30690` reflects that ascending order.

### Elided Assertions

```
"Alice" [
    ELIDED (3)
]
```

```mermaid
graph LR
    1(("efed9563<br/>NODE"))
    2["27840350<br/>#quot;Alice#quot;"]
    3{{"55560bdf<br/>ELIDED"}}
    4{{"71a30690<br/>ELIDED"}}
    5{{"dbb0ad16<br/>ELIDED"}}
    1 -->|subj| 2
    1 --> 3
    1 --> 4
    1 --> 5
    style 1 stroke:red,stroke-width:3.0px
    style 2 stroke:blue,stroke-width:3.0px
    style 3 stroke:blue,stroke-width:3.0px,stroke-dasharray:5.0 5.0
    style 4 stroke:blue,stroke-width:3.0px,stroke-dasharray:5.0 5.0
    style 5 stroke:blue,stroke-width:3.0px,stroke-dasharray:5.0 5.0
    linkStyle 0 stroke:red,stroke-width:2.0px
    linkStyle 1 stroke-width:2.0px
    linkStyle 2 stroke-width:2.0px
    linkStyle 3 stroke-width:2.0px
```

* This is the same envelope from the previous example with its assertions elided. Note that the digests at every level still present are all the same.

### Wrapped Then Signed

```
{
    "Alice" [
        "knows": "Bob"
        "knows": "Carol"
    ]
} [
    verifiedBy: Signature
]
```

```mermaid
graph LR
    1(("fde86f77<br/>NODE"))
    2[/"3cc750a3<br/>WRAPPED"\]
    3(("c733401e<br/>NODE"))
    4["27840350<br/>#quot;Alice#quot;"]
    5(["55560bdf<br/>ASSERTION"])
    6["7092d620<br/>#quot;knows#quot;"]
    7["9a771715<br/>#quot;Bob#quot;"]
    8(["71a30690<br/>ASSERTION"])
    9["7092d620<br/>#quot;knows#quot;"]
    10["ad2c454b<br/>#quot;Carol#quot;"]
    11(["ab430e79<br/>ASSERTION"])
    12[/"d59f8c0f<br/>verifiedBy"/]
    13["2a13e7f6<br/>Signature"]
    1 -->|subj| 2
    2 -->|subj| 3
    3 -->|subj| 4
    3 --> 5
    5 -->|pred| 6
    5 -->|obj| 7
    3 --> 8
    8 -->|pred| 9
    8 -->|obj| 10
    1 --> 11
    11 -->|pred| 12
    11 -->|obj| 13
    style 1 stroke:red,stroke-width:3.0px
    style 2 stroke:red,stroke-width:3.0px
    style 3 stroke:red,stroke-width:3.0px
    style 4 stroke:blue,stroke-width:3.0px
    style 5 stroke:red,stroke-width:3.0px
    style 6 stroke:blue,stroke-width:3.0px
    style 7 stroke:blue,stroke-width:3.0px
    style 8 stroke:red,stroke-width:3.0px
    style 9 stroke:blue,stroke-width:3.0px
    style 10 stroke:blue,stroke-width:3.0px
    style 11 stroke:red,stroke-width:3.0px
    style 12 stroke:blue,stroke-width:3.0px
    style 13 stroke:blue,stroke-width:3.0px
    linkStyle 0 stroke:red,stroke-width:2.0px
    linkStyle 1 stroke:red,stroke-width:2.0px
    linkStyle 2 stroke:red,stroke-width:2.0px
    linkStyle 3 stroke-width:2.0px
    linkStyle 4 stroke:green,stroke-width:2.0px
    linkStyle 5 stroke:blue,stroke-width:2.0px
    linkStyle 6 stroke-width:2.0px
    linkStyle 7 stroke:green,stroke-width:2.0px
    linkStyle 8 stroke:blue,stroke-width:2.0px
    linkStyle 9 stroke-width:2.0px
    linkStyle 10 stroke:green,stroke-width:2.0px
    linkStyle 11 stroke:blue,stroke-width:2.0px
```

* In this case the signature still only signs the subject, but the subject is an entire envelope that's been wrapped.
* `WRAPPED` elements are represented by trapezoids. They have exactly one arm, which is the root of the wrapped envelope.

### Encrypt to Recipients

```
ENCRYPTED [
    hasRecipient: SealedMessage
    hasRecipient: SealedMessage
]
```

```mermaid
graph TB
    1(("fd42b5f0<br/>NODE"))
    2>"886a0c85<br/>ENCRYPTED"]
    3(["6c23d690<br/>ASSERTION"])
    4[/"f4af70d6<br/>hasRecipient"/]
    5["b2aa6ce6<br/>SealedMessage"]
    6(["f99f7424<br/>ASSERTION"])
    7[/"f4af70d6<br/>hasRecipient"/]
    8["93c8e2de<br/>SealedMessage"]
    1 -->|subj| 2
    1 --> 3
    3 -->|pred| 4
    3 -->|obj| 5
    1 --> 6
    6 -->|pred| 7
    6 -->|obj| 8
    style 1 stroke:red,stroke-width:3.0px
    style 2 stroke:blue,stroke-width:3.0px,stroke-dasharray:5.0 5.0
    style 3 stroke:red,stroke-width:3.0px
    style 4 stroke:blue,stroke-width:3.0px
    style 5 stroke:blue,stroke-width:3.0px
    style 6 stroke:red,stroke-width:3.0px
    style 7 stroke:blue,stroke-width:3.0px
    style 8 stroke:blue,stroke-width:3.0px
    linkStyle 0 stroke:red,stroke-width:2.0px
    linkStyle 1 stroke-width:2.0px
    linkStyle 2 stroke:green,stroke-width:2.0px
    linkStyle 3 stroke:blue,stroke-width:2.0px
    linkStyle 4 stroke-width:2.0px
    linkStyle 5 stroke:green,stroke-width:2.0px
    linkStyle 6 stroke:blue,stroke-width:2.0px
```

* Top-to-bottom layout is also supported.

### Complex Metadata

```
Digest(e8aa201d) [
    "format": "EPUB"
    "work": CID(7fb90a9d) [
        "author": CID(9c747ace) [
            dereferenceVia: "LibraryOfCongress"
            hasName: "Ayn Rand"
        ]
        "isbn": "9780451191144"
        dereferenceVia: "LibraryOfCongress"
        hasName: "Atlas Shrugged" [
            language: "en"
        ]
        hasName: "La rebelión de Atlas" [
            language: "es"
        ]
        isA: "novel"
    ]
    dereferenceVia: "IPFS"
]
```

* **NOTE: Click the diagram to examine it in a larger window.**

[![](https://mermaid.ink/img/pako:eNqdmOFu2zYQx1_F0L6kQNryjqRIekOBrsmAAEFSNNs-rN4HSqQcr46UyfLarO1T7RH2YpOoKKW8aNUtQAD7fPe_f-5HnpJ8TPLK-WSZrGt7e704f7MqF-0XHB2tEoWF81bL77L6-YuLy5PTVfLkSf85vl0lPmepkhLDxyebtd81R15biwzck1Xya5_Jj9pUBVJxn4uQ-vLq6vTNj2eXF23OvZx4-3yVFGAgT70NSc7Xvmi_y9z_vLGr5Pm9nGzVDDJnW72Q-M3v-6r59uz1D1f9q4fGadc4Ry1Tm7mpxqrNETrLwBVpJFdU9Y1tDgR119oWWZZJEeWevv7p-4NM07X21ipUCFOtgbVJ2lswmdGR3vuqfnegBwFHoZjzUvBHcEDHQ3GBkvl-LK_OTo5UkRlmTQQDAg0mTJa5NJ10Nh8HdDwyITUTUkY_xPkmq219d1m8qsp17Xe7w58o0IHCMM0YThrp8Didg0zTIlK3--a6qg8ldTekTEImucwfG5Jp1ThLrXQqfRiSyZVQNvdfhoRszpAQZg8J8f8NCQMtr4SAQuWTRgKtrIA09bI_6Nd2d2FvfOSgwySzTAAHHjl4eVcu3tjSHTYOdAz4XEvDJhurGY0DFGlyh8qYxxZJB8W0QEwqbOys2drd4uq63q_X_tAf7wmh496gn_LHAyEp0xyE7W_s1pbrvV1HBnnHRjCTSW3iyfjysGeAkQNDkzE12TPA0EYjl6KfyWb3MmoX9hdLU-d1HrUrqz_89rBjv8FAaenBTnacQYEHCkwA5u2BfYQC7yhIK9AxFu-2c7uofea3m7__KhfOLwKVA5siwLASBW_P1-SGnwNDdDCcw0K3A4ph_KtnfzOKjLFCTh4AIbp7Z6RDLUwkt9llh3RFxwW9dsK7uLNR3aWF9paDEIcLZ_H06YtPu33226cFRqEFvx9q-Py29u7TQsShqquQcUV6_8iKKlQcChU6rjD3T5qoAlgcCyUAwwMk8goYB9tnwvBsiLXEKNiLyXFdOqzyuE6Ngn3dYFzHJkwcbHfusHsjMYRRMIghjuv4sCrjOjEK9nVj85gOmy6uU6NgX6eHRRbTNnGwXUfDWorEOIyCQYyPJ8-HgxKb52IU7OvG5nk6LIi4To2CfZ0e7n9knps42F7f4RrHxxVGwSAmxuYFH65iXCdGwb7u3vyuudv69vTumrp655dt_nH_8un7jWuul_wZu_0Qp-KQmm33_iu5fL6sIMhKQm4634IiyGpCrplvARhBFwjUgIINCNyAAg4o5ICADijsQBOEDUEYGeEaAUWYQg8J9JBCDyn0kEAPKfSQQA8p9DiBHqfQ46SVSaDHKfQ4hR4n0OMUepxAj1PoCQI9QaEnKPQE5YlHoSfm0dtuyndXoWB6HPhY-jCR_8p5GET7V7EvZ4jyac-P5osZJiTVREo0oWaY0FQThmgCqPjm8AMyQKAShDkIgcwQqBC__D4wc356jm9D9Y2M6Btn3UMyR6RyxDkckcwRqRyRyBHncEQyR07lyOdw5PSFSuXI53DkZI6cypETOfI5HDmZo6ByFHM4CjJH8XWOyXFy4-sbu3HJMvnYCayS5tp3_z9cti-dL-x-26ySVfm5Td3fOtv4U7dpqjpZFna788eJ3TfV1V2ZPwT6rJONXdf25iF6a8tfqqp939T7_m2y_Jh8SJapemak4UwoBCZBw3FylyzZ5-Pkz5APn_8BeTlkaA)](https://mermaid.live/edit#pako:eNqdmOFu2zYQx1_F0L6kQNryjqRIekOBrsmAAEFSNNs-rN4HSqQcr46UyfLarO1T7RH2YpOoKKW8aNUtQAD7fPe_f-5HnpJ8TPLK-WSZrGt7e704f7MqF-0XHB2tEoWF81bL77L6-YuLy5PTVfLkSf85vl0lPmepkhLDxyebtd81R15biwzck1Xya5_Jj9pUBVJxn4uQ-vLq6vTNj2eXF23OvZx4-3yVFGAgT70NSc7Xvmi_y9z_vLGr5Pm9nGzVDDJnW72Q-M3v-6r59uz1D1f9q4fGadc4Ry1Tm7mpxqrNETrLwBVpJFdU9Y1tDgR119oWWZZJEeWevv7p-4NM07X21ipUCFOtgbVJ2lswmdGR3vuqfnegBwFHoZjzUvBHcEDHQ3GBkvl-LK_OTo5UkRlmTQQDAg0mTJa5NJ10Nh8HdDwyITUTUkY_xPkmq219d1m8qsp17Xe7w58o0IHCMM0YThrp8Didg0zTIlK3--a6qg8ldTekTEImucwfG5Jp1ThLrXQqfRiSyZVQNvdfhoRszpAQZg8J8f8NCQMtr4SAQuWTRgKtrIA09bI_6Nd2d2FvfOSgwySzTAAHHjl4eVcu3tjSHTYOdAz4XEvDJhurGY0DFGlyh8qYxxZJB8W0QEwqbOys2drd4uq63q_X_tAf7wmh496gn_LHAyEp0xyE7W_s1pbrvV1HBnnHRjCTSW3iyfjysGeAkQNDkzE12TPA0EYjl6KfyWb3MmoX9hdLU-d1HrUrqz_89rBjv8FAaenBTnacQYEHCkwA5u2BfYQC7yhIK9AxFu-2c7uofea3m7__KhfOLwKVA5siwLASBW_P1-SGnwNDdDCcw0K3A4ph_KtnfzOKjLFCTh4AIbp7Z6RDLUwkt9llh3RFxwW9dsK7uLNR3aWF9paDEIcLZ_H06YtPu33226cFRqEFvx9q-Py29u7TQsShqquQcUV6_8iKKlQcChU6rjD3T5qoAlgcCyUAwwMk8goYB9tnwvBsiLXEKNiLyXFdOqzyuE6Ngn3dYFzHJkwcbHfusHsjMYRRMIghjuv4sCrjOjEK9nVj85gOmy6uU6NgX6eHRRbTNnGwXUfDWorEOIyCQYyPJ8-HgxKb52IU7OvG5nk6LIi4To2CfZ0e7n9knps42F7f4RrHxxVGwSAmxuYFH65iXCdGwb7u3vyuudv69vTumrp655dt_nH_8un7jWuul_wZu_0Qp-KQmm33_iu5fL6sIMhKQm4634IiyGpCrplvARhBFwjUgIINCNyAAg4o5ICADijsQBOEDUEYGeEaAUWYQg8J9JBCDyn0kEAPKfSQQA8p9DiBHqfQ46SVSaDHKfQ4hR4n0OMUepxAj1PoCQI9QaEnKPQE5YlHoSfm0dtuyndXoWB6HPhY-jCR_8p5GET7V7EvZ4jyac-P5osZJiTVREo0oWaY0FQThmgCqPjm8AMyQKAShDkIgcwQqBC__D4wc356jm9D9Y2M6Btn3UMyR6RyxDkckcwRqRyRyBHncEQyR07lyOdw5PSFSuXI53DkZI6cypETOfI5HDmZo6ByFHM4CjJH8XWOyXFy4-sbu3HJMvnYCayS5tp3_z9cti-dL-x-26ySVfm5Td3fOtv4U7dpqjpZFna788eJ3TfV1V2ZPwT6rJONXdf25iF6a8tfqqp939T7_m2y_Jh8SJapemak4UwoBCZBw3FylyzZ5-Pkz5APn_8BeTlkaA)

### Verifiable Credential

```
{
    CID(4676635a) [
        "certificateNumber": "123-456-789"
        "continuingEducationUnits": 1.5
        "expirationDate": 2028-01-01
        "firstName": "James"
        "issueDate": 2020-01-01
        "lastName": "Maxwell"
        "photo": "This is James Maxwell's photo."
        "professionalDevelopmentHours": 15
        "subject": "RF and Microwave Engineering"
        "topics": CBOR
        controller: "Example Electrical Engineering Board"
        isA: "Certificate of Completion"
        issuer: "Example Electrical Engineering Board"
    ]
} [
    note: "Signed by Example Electrical Engineering Board"
    verifiedBy: Signature
]
```

* **NOTE: Click the diagram to examine it in a larger window.**

[![](https://mermaid.ink/img/pako:eNqtVttu20YQ_RWCfagD2M7eL2oRIIlVNEXjBHaKAo36sOQubbYSqVJUYjfJv5dLitJSNR1OUUOApdlzZg93Zs7yU5yW1sWz-KYy69vo56tFETV_-ORkEYtESS2o_j6pnj67fHMxX8RPnnTr5P3TRWwTK5GT3fqvV8_fvp1fLOLF4vcOQ32ORHJkGM8eyMHeN8vWUiYta5dfvro4YUIKQbl5soh3afhJg0OcCpNZ1eKeX1_Pr969enPZYHa5RIMxUmOLUtlivvlrW9bfrW_Luuy-7vPJBqqdlEkiUQB9d5tvoubzk1m5TfTa3H10y-W3m6hNcX6UQ3lN2HKtUsHHNOkG4xJBFBU22GhpNvVls8lRSoy8Li0NciSE75Qco7FXQFmmMmnpmAJM_BFjh4nlKsiZbzZbd2Hqf2mgDZ5wjFNku4oRRNAZws3nAGLt1hYhK1g2ujX3HUIynThHOlRaFnVVLpeuWsRP-2S-cAxRnrAkfOr5nVmtly6aL11aV3lqltG8uMkL56q8uIlelKayx-Kl18WYpELr8SNRbTcJjjVlwYZ1uc7TzXFKX0IimHF9mV--eHO1Xyao3VFYkWbOjO1IsD8JpRWhnHXPmG-eH46A-CJhTBxJbRIoeumqOs-aR69dVGbRy9IfSJ2XxZFIQlsVRugsNaPPTdppE5Y7g3Cwiy9KXmybQ53bbbNXk_-XIq-PT4Jwf2zECEyFaOn4nB9WhZfAeTPnwpFRCdIfhOYsVZSL3UE0jRi0A1H_WzsQ7TUJLJRuJn1ME_VT50RKNB1Mnbtb51V7Gg-MCcX-LDV2zmDVj4k6GhNK_P4GEcksTkf39xMnSIoMES4sy6H4l9tV4qpjCb6cJkUJE9wEPEzoGePiTCp9zGh91LJMSGX0qB4_jymznBIankeWVw-6FvVummROW6rD5m1d9BjbuqZDSCIlxagCP3PIJVRRHQ7oZpv80RT_KCfz9UsQ1wnKSIC--iEyhY1e52lVfjQfXNguxylaK3VaJITZ0YNhfkpTlWIjbHgw66rM3GbTNIpZXrgPblmuV66ofyy31fHzM19rlGQi0bxzE3wYIda6KiPNHYfEqJew1lWbeydTKepc9UPzTFnu7Iv7wxgxX0WbZoZR1HXVdX5TmHpbucOGrV2azBGK09H-ZMpvKHCWCCO6Ahdl7YKtfLkylmQI4yw4F7-hs1FyH_0XK4_Ozp599hX_HJHdOAchuuuUIMSCUMR3Lw7t-rpy9nMkwlDpGTJkqN21HjB0GGoZGIUUjPubOCBhMgh2NDqgsf4WDWl8EOxoYkCT_SUX0tQg2NF0SCOov6kCGsGDYEsjZECj_dUS0tgg2NH4gCb66yCkyUGwo6kBTfeOHdAoGgRbGsUhjfaSSUijg2BHGzQH7SWH7UHFINjRBh1Ce8lhj1A9CLY0NugShnuTCWiMDIIdjQat37hB7wohjQ-CHU0MaLKf7ZCmBsGOthO-qe-bycTN_6r8080a_Gn39exjbuvbGT1H67sQSqZD6XQo66HJcuu-guXT0wpAWgnAqukSNCAtRhAwoGiYQBJTCJgBVHBIYkjtsASoUJDEkPIRBBgjDEkMKR8BjB2BzB2BlI8IgArI6BFI-YgGuBVk-CikfBTimZDho5DyUYBvUsjwUUj5KMA6KWT4GKR8DOCdDDJ8DFI-BvBOBhk-BikfA3gngwwfm1a-ZV78ed0Sxu2TPATHMDiBwftCPobZ1--mcq6YkPSRIj6IFxNESKgIBRShJ4g4vLlMVYExUMb-HeZREAXrYFAdfIoOAdYhoTrUFB0aqoMgoI79m8yjIALWQaE62BQdHKxDQHXIKToUWIcG6ti_zzwKwlAdlEB1THFSCrZSCvVSOsVMKdhNKdRO6RQ_ZWA_ZVA_ZVP8lIH9lEH9lE3xUwb2U_Z1P41P45WrVia38Sz-5BMs4vrWrdwinjVfrcvMdlkv4kXxpYFu19bUbm7zuqziWWaWG3cam21dXt8X6T7QoS5yc1OZ1T66NsVvZdn8rqtt9zOefYrv4hk6je_jGdb0XCnFpeCYcYkk_XIa_90S8Jd_AN_xZGo)](https://mermaid.live/edit#pako:eNqtVttu20YQ_RWCfagD2M7eL2oRIIlVNEXjBHaKAo36sOQubbYSqVJUYjfJv5dLitJSNR1OUUOApdlzZg93Zs7yU5yW1sWz-KYy69vo56tFETV_-ORkEYtESS2o_j6pnj67fHMxX8RPnnTr5P3TRWwTK5GT3fqvV8_fvp1fLOLF4vcOQ32ORHJkGM8eyMHeN8vWUiYta5dfvro4YUIKQbl5soh3afhJg0OcCpNZ1eKeX1_Pr969enPZYHa5RIMxUmOLUtlivvlrW9bfrW_Luuy-7vPJBqqdlEkiUQB9d5tvoubzk1m5TfTa3H10y-W3m6hNcX6UQ3lN2HKtUsHHNOkG4xJBFBU22GhpNvVls8lRSoy8Li0NciSE75Qco7FXQFmmMmnpmAJM_BFjh4nlKsiZbzZbd2Hqf2mgDZ5wjFNku4oRRNAZws3nAGLt1hYhK1g2ujX3HUIynThHOlRaFnVVLpeuWsRP-2S-cAxRnrAkfOr5nVmtly6aL11aV3lqltG8uMkL56q8uIlelKayx-Kl18WYpELr8SNRbTcJjjVlwYZ1uc7TzXFKX0IimHF9mV--eHO1Xyao3VFYkWbOjO1IsD8JpRWhnHXPmG-eH46A-CJhTBxJbRIoeumqOs-aR69dVGbRy9IfSJ2XxZFIQlsVRugsNaPPTdppE5Y7g3Cwiy9KXmybQ53bbbNXk_-XIq-PT4Jwf2zECEyFaOn4nB9WhZfAeTPnwpFRCdIfhOYsVZSL3UE0jRi0A1H_WzsQ7TUJLJRuJn1ME_VT50RKNB1Mnbtb51V7Gg-MCcX-LDV2zmDVj4k6GhNK_P4GEcksTkf39xMnSIoMES4sy6H4l9tV4qpjCb6cJkUJE9wEPEzoGePiTCp9zGh91LJMSGX0qB4_jymznBIankeWVw-6FvVummROW6rD5m1d9BjbuqZDSCIlxagCP3PIJVRRHQ7oZpv80RT_KCfz9UsQ1wnKSIC--iEyhY1e52lVfjQfXNguxylaK3VaJITZ0YNhfkpTlWIjbHgw66rM3GbTNIpZXrgPblmuV66ofyy31fHzM19rlGQi0bxzE3wYIda6KiPNHYfEqJew1lWbeydTKepc9UPzTFnu7Iv7wxgxX0WbZoZR1HXVdX5TmHpbucOGrV2azBGK09H-ZMpvKHCWCCO6Ahdl7YKtfLkylmQI4yw4F7-hs1FyH_0XK4_Ozp599hX_HJHdOAchuuuUIMSCUMR3Lw7t-rpy9nMkwlDpGTJkqN21HjB0GGoZGIUUjPubOCBhMgh2NDqgsf4WDWl8EOxoYkCT_SUX0tQg2NF0SCOov6kCGsGDYEsjZECj_dUS0tgg2NH4gCb66yCkyUGwo6kBTfeOHdAoGgRbGsUhjfaSSUijg2BHGzQH7SWH7UHFINjRBh1Ce8lhj1A9CLY0NugShnuTCWiMDIIdjQat37hB7wohjQ-CHU0MaLKf7ZCmBsGOthO-qe-bycTN_6r8080a_Gn39exjbuvbGT1H67sQSqZD6XQo66HJcuu-guXT0wpAWgnAqukSNCAtRhAwoGiYQBJTCJgBVHBIYkjtsASoUJDEkPIRBBgjDEkMKR8BjB2BzB2BlI8IgArI6BFI-YgGuBVk-CikfBTimZDho5DyUYBvUsjwUUj5KMA6KWT4GKR8DOCdDDJ8DFI-BvBOBhk-BikfA3gngwwfm1a-ZV78ed0Sxu2TPATHMDiBwftCPobZ1--mcq6YkPSRIj6IFxNESKgIBRShJ4g4vLlMVYExUMb-HeZREAXrYFAdfIoOAdYhoTrUFB0aqoMgoI79m8yjIALWQaE62BQdHKxDQHXIKToUWIcG6ti_zzwKwlAdlEB1THFSCrZSCvVSOsVMKdhNKdRO6RQ_ZWA_ZVA_ZVP8lIH9lEH9lE3xUwb2U_Z1P41P45WrVia38Sz-5BMs4vrWrdwinjVfrcvMdlkv4kXxpYFu19bUbm7zuqziWWaWG3cam21dXt8X6T7QoS5yc1OZ1T66NsVvZdn8rqtt9zOefYrv4hk6je_jGdb0XCnFpeCYcYkk_XIa_90S8Jd_AN_xZGo)

### Warranty

This is the same credential above that has been elided, had additional assertions added, and then been signed by the employer.

```
{
    {
        {
            CID(4676635a) [
                "expirationDate": 2028-01-01
                "firstName": "James"
                "lastName": "Maxwell"
                "subject": "RF and Microwave Engineering"
                isA: "Certificate of Completion"
                issuer: "Example Electrical Engineering Board"
                ELIDED (7)
            ]
        } [
            note: "Signed by Example Electrical Engineering Board"
            verifiedBy: Signature
        ]
    } [
        "employeeHiredDate": 2022-01-01
        "employeeStatus": "active"
    ]
} [
    note: "Signed by Employer Corp."
    verifiedBy: Signature
]
```

* **NOTE: Click the diagram to examine it in a larger window.**

[![](https://mermaid.ink/img/pako:eNqtVu9v2zYQ_VcM7UsKJCnJO5KiNxRoGw_r0F9IBgxYvQ-USCVaHduT5TRZmv99pGQllGcn4pAgQazzu-Mj37ujbpN8YWwyTs4rvbwYvT-dzkfuhx4cTBObE0g1hZ-y6uWrj59OJtPkxYv2e_bl5TTRNGU2zbD5_vfT158_T06myXT6Z4sBX4MaK43JyY4a6GsQsNwIVeypwX0NaWhm5c4awtcwmZHESrWnhvQ1MsmJRl7sqJF-cV8bAyhNu5W3704OUEghgOsX02RTRt3eOrochC5M2uAm79-d-JXu7jaHRg6--B1zleaCN5DXZ2eT09_effroymyWo9SBbCZYCsI0oB_-Xi_qH2d6VX_Ul7Z9ul-WMgdXSmpiWQj_oK-_2dlsGw2eJWCRFtLAbpbYQAwhRmCxG8I9BFGCUGpPFeH3isKIvLB6716l1ydVKQOOLfty9XqavOzo-rOnlFmWmyzY3Ftb1WVR5rq2o0Uxeru4XM5sXS7m29ttREHtDJTr3URZIwrnTnth2T6ijHqiimOeAhcboqu1rR64Mi8EEuAZZqEQk2vt2Y0mM5vXleM8G03m5-Xc2qqcn4_eLHRltmgz8JwEFanKMrmXE3qjiJwp6Clvr5dlpf1pnLjz2S7NvZsVtdZ1Z5PECEuPCHW_DyDhj00TJtHQfPexSU_RYCFkqtVeil6_HA0HBiHFoqx2mpkpz66wyoAK9f7VQVdbWGiEs4RIkkqxjwH4biI2gxQUBhVX6-wvp8d2Ta9hRrjKSMEC9OnPIz03ow9lXi2-6SsbKrhdoukwq0TG0KidZwfomcu80FLJvfICb2YXV0Wak7YPr9yCRWnNm5sH24HwtuNMaSnbmXJWns91va7sA6dGLF1YBjTP9y6Y-gUFLTKhRXv680Vtg6W8OgVmBaG0CE7HL2jNKLsZ_Q-vYyMjUJI5uxX7uKGXsVDIrOU89LpbbnFj7VntdrztEGxGI1U2S3noPp3X5dW29bDpOa4IzZyj9vLwPUcBNZUEd_D4pays2dF26NuOYU4l5LxrO7bVdijaoxCkIGavTCgH-QJ967EMWa43I-S_vkDVzBlMM5bnsG9BTp7wBafNqPfOMHK3L9rjqdykrpbH20N6dHT06rtvyO8jtpkDQQg25gtCuKEfhPiGShASm1eAICQ3N34QSoPQSIUPlHTXdgNfOmW_u9u5F1z4EpT10qD3hL0n3nsS3V0ZLiB7wXaBHknaY8lId48FRRjtBZsirMeSQXfVhGnYC7ZpPcpM9J5kdxmERdJesC3Sowykm-BBGtBesEmDHmWAQGM3RLthGhbhvWBbRPTSZDcSw7S0F2zTVOA7N6W6aRWkIe0FmzRkvTTohkuYhr1gm8aDXnCDoBsIYZrsBdu0tJemurYO0jjpBZs0viG-qm_csKbuf7X4ascOf9h-PPpWmvpiDMdkeR1C2XAoDIficCgfDhXDoXI4NO2g2Wxtn8CqJ7BdyOjVha4qfTPmx2Tk_nrqkOHkKI1gR1kMGJ5lL_gsVfizVInwB5UxRxVjEfosHmERHmExHmExHmERLc8wpjCPAYtnOdGIkcBiBGcqAgwRukKMrhCjKzxL70PElIcYwUHEgCN0hRhdIUZXjNAVY3TFGF0x5oqO6VeMkQ8j5jDGzGGMkQ9VxDsIiSjMh8k3K-dfz5qE_dZgu-A0Ds7i4BAHxzg4j4OLOHjnlccw6QDMvTPOK2vnQyR5xB-7E-gAGveva4-CYAgIh4B49LZF7LaHKESHSESjNWKxGrEhGj28Lg3mAbE8hoh3_8L0KEhEk5WxZIeIx6LFg1jxYIh4MKTBHt6FBpPFWLJDxINo8SBWPBgiHkSLh7Hi4RDxMLrzMLbzcEjnYfTYxNixiUPG5sPLz2Ae6kkeyWFyaatLXZpknNz6AtOkvrCXdpqM3UdjC72e1dNkOr9z0PXS6NpOTFkvqmRc6NnKHiZ6XS_Obub5faBFnZT6vNKX99Glnv-xWLjnulq3j8n4NrlOxuQwuUnGVMFxmqZcCk6RSyLh7jD5p0mgd_8CMWyxKw?type=png)](https://mermaid.live/edit#pako:eNqtVu9v2zYQ_VcM7UsKJCnJO5KiNxRoGw_r0F9IBgxYvQ-USCVaHduT5TRZmv99pGQllGcn4pAgQazzu-Mj37ujbpN8YWwyTs4rvbwYvT-dzkfuhx4cTBObE0g1hZ-y6uWrj59OJtPkxYv2e_bl5TTRNGU2zbD5_vfT158_T06myXT6Z4sBX4MaK43JyY4a6GsQsNwIVeypwX0NaWhm5c4awtcwmZHESrWnhvQ1MsmJRl7sqJF-cV8bAyhNu5W3704OUEghgOsX02RTRt3eOrochC5M2uAm79-d-JXu7jaHRg6--B1zleaCN5DXZ2eT09_effroymyWo9SBbCZYCsI0oB_-Xi_qH2d6VX_Ul7Z9ul-WMgdXSmpiWQj_oK-_2dlsGw2eJWCRFtLAbpbYQAwhRmCxG8I9BFGCUGpPFeH3isKIvLB6716l1ydVKQOOLfty9XqavOzo-rOnlFmWmyzY3Ftb1WVR5rq2o0Uxeru4XM5sXS7m29ttREHtDJTr3URZIwrnTnth2T6ijHqiimOeAhcboqu1rR64Mi8EEuAZZqEQk2vt2Y0mM5vXleM8G03m5-Xc2qqcn4_eLHRltmgz8JwEFanKMrmXE3qjiJwp6Clvr5dlpf1pnLjz2S7NvZsVtdZ1Z5PECEuPCHW_DyDhj00TJtHQfPexSU_RYCFkqtVeil6_HA0HBiHFoqx2mpkpz66wyoAK9f7VQVdbWGiEs4RIkkqxjwH4biI2gxQUBhVX6-wvp8d2Ta9hRrjKSMEC9OnPIz03ow9lXi2-6SsbKrhdoukwq0TG0KidZwfomcu80FLJvfICb2YXV0Wak7YPr9yCRWnNm5sH24HwtuNMaSnbmXJWns91va7sA6dGLF1YBjTP9y6Y-gUFLTKhRXv680Vtg6W8OgVmBaG0CE7HL2jNKLsZ_Q-vYyMjUJI5uxX7uKGXsVDIrOU89LpbbnFj7VntdrztEGxGI1U2S3noPp3X5dW29bDpOa4IzZyj9vLwPUcBNZUEd_D4pays2dF26NuOYU4l5LxrO7bVdijaoxCkIGavTCgH-QJ967EMWa43I-S_vkDVzBlMM5bnsG9BTp7wBafNqPfOMHK3L9rjqdykrpbH20N6dHT06rtvyO8jtpkDQQg25gtCuKEfhPiGShASm1eAICQ3N34QSoPQSIUPlHTXdgNfOmW_u9u5F1z4EpT10qD3hL0n3nsS3V0ZLiB7wXaBHknaY8lId48FRRjtBZsirMeSQXfVhGnYC7ZpPcpM9J5kdxmERdJesC3Sowykm-BBGtBesEmDHmWAQGM3RLthGhbhvWBbRPTSZDcSw7S0F2zTVOA7N6W6aRWkIe0FmzRkvTTohkuYhr1gm8aDXnCDoBsIYZrsBdu0tJemurYO0jjpBZs0viG-qm_csKbuf7X4ascOf9h-PPpWmvpiDMdkeR1C2XAoDIficCgfDhXDoXI4NO2g2Wxtn8CqJ7BdyOjVha4qfTPmx2Tk_nrqkOHkKI1gR1kMGJ5lL_gsVfizVInwB5UxRxVjEfosHmERHmExHmExHmERLc8wpjCPAYtnOdGIkcBiBGcqAgwRukKMrhCjKzxL70PElIcYwUHEgCN0hRhdIUZXjNAVY3TFGF0x5oqO6VeMkQ8j5jDGzGGMkQ9VxDsIiSjMh8k3K-dfz5qE_dZgu-A0Ds7i4BAHxzg4j4OLOHjnlccw6QDMvTPOK2vnQyR5xB-7E-gAGveva4-CYAgIh4B49LZF7LaHKESHSESjNWKxGrEhGj28Lg3mAbE8hoh3_8L0KEhEk5WxZIeIx6LFg1jxYIh4MKTBHt6FBpPFWLJDxINo8SBWPBgiHkSLh7Hi4RDxMLrzMLbzcEjnYfTYxNixiUPG5sPLz2Ae6kkeyWFyaatLXZpknNz6AtOkvrCXdpqM3UdjC72e1dNkOr9z0PXS6NpOTFkvqmRc6NnKHiZ6XS_Obub5faBFnZT6vNKX99Glnv-xWLjnulq3j8n4NrlOxuQwuUnGVMFxmqZcCk6RSyLh7jD5p0mgd_8CMWyxKw)