diff --git a/docs/sequences/data-agreement-audit.wsd b/docs/sequences/data-agreement-audit.wsd new file mode 100644 index 0000000..1e169a2 --- /dev/null +++ b/docs/sequences/data-agreement-audit.wsd @@ -0,0 +1,34 @@ +@startuml + +title Data Agreement Audit + +actor Auditor +participant "Data Source or DUS" +participant "ADA Service" + +ref over Auditor, "Data Source or DUS": create data agreement \nthrough regular VC process + +"Auditor" -> "ADA Service": read-data-agreement +"Auditor" <- "ADA Service": read-data-agreement-response + +note over Auditor: Verify data agreement in place + +"Auditor" -> "ADA Service": read-did +"Auditor" <- "ADA Service": read-did-response + +note over Auditor: Verify DID digitial signature + +ref over Auditor, "Data Source or DUS": withdraw data agreement + +"Auditor" -> "ADA Service": read-data-agreement +"Auditor" <- "ADA Service": read-data-agreement-response + +note over Auditor: Verify data agreement withdrawal + +"Auditor" -> "ADA Service": read-did +note over "ADA Service": Resolve DID +"Auditor" <- "ADA Service": read-did-response + +note over Auditor: Verify DID digitial signature + +@enduml \ No newline at end of file diff --git a/docs/sequences/data-agreement-negotiation-dus.wsd b/docs/sequences/data-agreement-negotiation-dus.wsd new file mode 100644 index 0000000..2f090d0 --- /dev/null +++ b/docs/sequences/data-agreement-negotiation-dus.wsd @@ -0,0 +1,24 @@ +@startuml + +title SSI Data Agreement and verifying credential + +actor Individual +participant "DUS" +participant "ADA Service" + +opt Proof presentation and co-sign DA +opt First time connection and no signed DA + Individual <-> "DUS": First time connect with Verifier +end + +note over "DUS": sign Data Agreement +Individual <- "DUS": request-presentation (offer-data-agreement+signed DA) + +note over Individual: review and accept DA +note over Individual: co-sign Data Agreement +note over Individual: review proof request and fill proof +Individual -> "DUS": presentation (accept-data-agreement+co-signed DA) +Individual -> "ADA Service": store co-signed DA as receipt +note over "DUS": successfully verify presentation and revocation list + +@enduml diff --git a/docs/sequences/data-agreement-negotiation-source.wsd b/docs/sequences/data-agreement-negotiation-source.wsd new file mode 100644 index 0000000..82659c5 --- /dev/null +++ b/docs/sequences/data-agreement-negotiation-source.wsd @@ -0,0 +1,26 @@ +@startuml + +title SSI Data Agreement and issuing credentials + +actor Individual +participant "Data Source" +participant "ADA Service" + + +opt Create credential and co-sign DA +opt First time connection and no signed DA + Individual <-> "Data Source": First time connect with Issuer +end + +note over "Data Source": sign Data Agreement +Individual <- "Data Source": offer-credential (offer-data-agreement+signed DA) + +note over Individual: review and accept DA +note over Individual: co-sign Data Agreement +note over Individual: review offer credential +note over Individual: accept credential offer +Individual -> "Data Source": request-credential (accept-data-agreement+co-signed DA) +Individual -> "ADA Service": store co-signed DA as receipt +Individual <- "Data Source": issuer-credential + +@enduml diff --git a/docs/sequences/data-agreement-preparation.wsd b/docs/sequences/data-agreement-preparation.wsd new file mode 100644 index 0000000..662f5de --- /dev/null +++ b/docs/sequences/data-agreement-preparation.wsd @@ -0,0 +1,45 @@ +@startuml + +title Data Agreement Definition and Preparation + +actor Assessor +participant "DPIA tool" +participant "Data Source or DUS" +participant "Data Subject or Data Source or DUS" +participant "ADA Service" + +"Data Source or DUS" -> "Data Source or DUS": Initialise Data Agreement + +opt External assessment + Assessor -> "DPIA tool": Record result of DPIA + note over "DPIA tool": Register and finalise DPIA report + "DPIA tool" -> "Data Source or DUS": Import DPIA and update Data Agreement +else Internal assessment + "Data Source or DUS" -> "Data Source or DUS": Update Data Agreement +end + +note over "Data Source or DUS": Complete Data Agreement preparation +"Data Source or DUS" -> "Data Source or DUS": Finalise Data Agreement preparation + + +opt CRUD Support - Data Agreement +else Create + "Data Source or DUS" -> "ADA Service": create-data-agreement + note over "ADA Service": Data Agreement created + "Data Source or DUS" <- "ADA Service": create-data-agreement-response +else Read + "Data Source or DUS" -> "ADA Service": read-data-agreement + "Data Source or DUS" <- "ADA Service": read-data-agreement-response +else Update + "Data Source or DUS" -> "ADA Service": update-data-agreement + note over "ADA Service": Updated with new version of Data Agreement + "Data Source or DUS" <- "ADA Service": update-data-agreement-response +else Delete + "Data Source or DUS" -> "ADA Service": delete-data-agreement + "Data Source or DUS" <- "ADA Service": delete-data-agreement-response + note over "ADA Service": marks the data agreement as revoked +end + +ref over "Data Source or DUS", "ADA Service": Ready for Negotation/Capture Phase + +@enduml \ No newline at end of file diff --git a/docs/sequences/data-agreement-withdrawal.wsd b/docs/sequences/data-agreement-withdrawal.wsd new file mode 100644 index 0000000..a84782d --- /dev/null +++ b/docs/sequences/data-agreement-withdrawal.wsd @@ -0,0 +1,18 @@ +@startuml + +title Data Agreement Withdrawal + +actor Individual +participant "Data Subject" +participant "Data Source or DUS" + +Individual -> "Data Subject": Open Holder app +note over "Individual", "Data Subject": Choose to withdraw Data Agreement +"Data Subject" -> "Data Source or DUS": request withdrawal of Data Agreement +note over "Data Source or DUS": sign Data Agreement (reject) +"Data Subject" <- "Data Source or DUS": offer-data-agreement+signed DA +note over "Data Subject": co-sign Data Agreement +"Data Subject" -> "Data Source or DUS": accept-data-agreement+co-signed DA +"Data Source or DUS" -> "ADA Service": store co-signed DA as receipt of withdrawal + +@enduml \ No newline at end of file