# connect2id/nimbus-jwt architecture

> Architecture diagram of the GitHub repository connect2id/nimbus-jwt, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/connect2id/nimbus-jwt
- Repository: https://github.com/connect2id/nimbus-jwt

## Overview

Nimbus JOSE+JWT is a Java library for creating, examining, serialising and parsing compact JOSE and JWT objects. The README documents unsecured JOSE, JWS, JWE, JWK/JWK Sets, and plain, signed and encrypted JWTs. The tree contains only the README, so implementation paths and internal call relationships cannot be established; the graph shows documented capabilities without inferring their wiring.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_jose["JOSE objects"]
  node_plain["Plain JOSE"]
  node_jws["JWS"]
  node_jwe["JWE"]
  node_jwk["JWK and sets"]
end

subgraph group_jwt["JWT objects"]
  node_plain_jwt["Plain JWT"]
  node_signed_jwt["Signed JWT"]
  node_encrypted_jwt["Encrypted JWT"]
end

subgraph group_operations["Object operations"]
  node_create["Create objects"]
  node_examine["Examine objects"]
  node_serialize["Compact serialization"]
  node_parse["Parse compact objects"]
end

node_consumer(("Library consumer"))
node_nimbus["Nimbus JOSE+JWT"]

node_consumer -->|"uses"| node_nimbus
node_nimbus -->|"supports"| node_plain
node_nimbus -->|"supports"| node_jws
node_nimbus -->|"supports"| node_jwe
node_nimbus -->|"supports"| node_jwk
node_nimbus -->|"supports"| node_plain_jwt
node_nimbus -->|"supports"| node_signed_jwt
node_nimbus -->|"supports"| node_encrypted_jwt
node_nimbus -->|"provides"| node_create
node_nimbus -->|"provides"| node_examine
node_nimbus -->|"provides"| node_serialize
node_nimbus -->|"provides"| node_parse

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_plain,node_jws,node_jwe,node_jwk toneBlue
class node_plain_jwt,node_signed_jwt,node_encrypted_jwt toneAmber
class node_create,node_examine,node_serialize,node_parse toneMint
class node_consumer,node_nimbus toneIndigo
```

## Components

### JOSE objects

- **Plain JOSE**
- **JWS**
- **JWE**
- **JWK and sets**

### JWT objects

- **Plain JWT**
- **Signed JWT**
- **Encrypted JWT**

### Object operations

- **Create objects**
- **Examine objects**
- **Compact serialization**
- **Parse compact objects**

### Other components

- **Library consumer**
- **Nimbus JOSE+JWT**

## Connections

- Library consumer → Nimbus JOSE+JWT: uses
- Nimbus JOSE+JWT → Plain JOSE: supports
- Nimbus JOSE+JWT → JWS: supports
- Nimbus JOSE+JWT → JWE: supports
- Nimbus JOSE+JWT → JWK and sets: supports
- Nimbus JOSE+JWT → Plain JWT: supports
- Nimbus JOSE+JWT → Signed JWT: supports
- Nimbus JOSE+JWT → Encrypted JWT: supports
- Nimbus JOSE+JWT → Create objects: provides
- Nimbus JOSE+JWT → Examine objects: provides
- Nimbus JOSE+JWT → Compact serialization: provides
- Nimbus JOSE+JWT → Parse compact objects: provides
