Create sequence diagrams with simple online tool is a free webapp for making sequence diagrams. You simply edit the text on the left and the diagram is updated in real time. You can download your sequence diagrams as images or distribute with a link.

Title: Affinidi: Share VC Flow SDK(Verifier) -> Verifier Service: `BuildCredentialRequest (credentialRequirements)` SDK(Verifier) <-- Verifier Service: `200 [credentialShareRequest]` NOTE: credentialShareRequest signing and credentialShareRequestToken generated SDK(Verifier) -> SDK(Holder): `some way deliver (credentialShareRequestToken)` NOTE: deliver way could be as QR code which posted on web, as PN in internal App logic implementation, etc NOTE: Generating CredentialShareResponseToken based on the credentialShareRequestToken NOTE: Verification of the Verifier signature on the credentialShareRequestToken 1. Resolve Verifier DID (get publicKey) 2. Verify Verifier signature (using publicKey) SDK(Holder) -> Registry abstraction: `resolveDid(VerifierDid)` SDK(Holder) <-- Registry abstraction: `200 [DidDocument]` SDK(Holder) -> Wallet storage: `getCredentials(credentialShareRequestToken)` SDK(Holder) <-- Wallet storage: `200 [credentials]` NOTE: Generating CredentialShareResponseToken with credentials inside SDK(Verifier) <-- SDK(Holder): `send back (CredentialShareResponseToken)` NOTE: Verifier validate credentials: 1. Resolve Holder DID (get publicKey) 2. Verify Holder signature on JWT (using publicKey) 3. Validate that Holder its a Subject in credentials(optional) 4. Resolve Issuer DID(get publicKey) 5. Verify Issuer signature on each credentials (using publicKey) Executing internall App logic SDK(Verifier) -> Registry abstraction: `resolveDid(HolderDid)` SDK(Verifier) <-- Registry abstraction: `200 [DidDocument]` SDK(Verifier) -> Registry abstraction: `resolveDid(IssuerDid)` SDK(Verifier) <-- Registry abstraction: `200 [DidDocument]` NOTE All: 1. [Wallet storage flow]( 2. [DID anchoring/Registry abstraction related flow](