How JLINC works
The JLINC Server serves as a centralized vehicle for leveraging all aspects of the core JLINC protocol. This server enables you to build client/server applications that leverage built-in secure identity management, agreement signing, and data exchange provided via the protocol.
Details of the JLINC protocol, schema, and context can be found at: https://protocol.jlinc.org/.
The JLINC process
The diagrams below demonstrate the flow of signatures, data, and auditing records. This methodology ensures entities and individuals are accountable to the Verifiable Contractual Agreement (VCA).
The interaction depicted here represents an entity, Bob, requesting personally identifiable information from Alice.
Signing agreements
Bob and Alice start by exchanging and signing a Verifiable Contractual Agreement (VCA) applicable for their data sharing.
Exchanging Data
Once the agreement is in place, signed by both Bob and Alice, they can exchange data. This workflow can be used multiple times with the same agreement.
Auditing signatures
This interaction represents how Bob, or Alice, could leverage audit records to validate the signed VCA and that transmission and use of data has been conducted according to the VCA. In this example, Bob wants to confirm all signatures on interactions with Alice.
Bob's request for audit records could be for a specific eventID, or specific Identities (DIDs). The returned Audit Records allow for validation of all signatures on VCAs, Data Requests and Data Responses, as well as the cryptographic hash of the data that was exchanged (the data itself never goes to the Audit Server).