Skip to content

Commit

Permalink
Merge pull request #38 from arnoweiss/feat/add-data-ex-gov
Browse files Browse the repository at this point in the history
Add Data Exchange Governance Credential and Policy
  • Loading branch information
jimmarino authored Jun 27, 2024
2 parents 81007e5 + 43a881e commit 5abd03d
Show file tree
Hide file tree
Showing 12 changed files with 108 additions and 18 deletions.
23 changes: 23 additions & 0 deletions cx/credentials/samples/dataexchange.governance.credential.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://w3id.org/catenax/credentials/v1.0.0"
],
"id": "1f36af58-0fc0-4b24-9b1c-e37d59668089",
"type": [
"VerifiableCredential",
"DataExchangeGovernanceCredential"
],
"issuer": "did:web:com.example.issuer",
"issuanceDate": "2021-06-16T18:56:59Z",
"expirationDate": "2022-06-16T18:56:59Z",
"credentialSubject":
{
"id": "did:web:com.example.participant",
"holderIdentifier": "BPNL000000001",
"group": "UseCaseFramework",
"useCase": "DataExchangeGovernance",
"contractTemplate": "https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations",
"contractVersion": "a.b"
}
}
3 changes: 3 additions & 0 deletions cx/credentials/schema/context/credentials.context.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
"BpnCredential": {
"@id": "cx-credentials:BpnCredential"
},
"DataExchangeGovernance": {
"@id": "cx-credentials:DataExchangeGovernance"
},
"DismantlerCredential": {
"@id": "cx-credentials:DismantlerCredential"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"$id": "https://w3id.org/catenax/schemas/v1.0.0/dataexchange.governance.credential.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "DataExchangeGovernanceCredential",
"description": "Data Exchange Governance Credential Schema",
"type": "object",
"properties": {
"credentialSubject": {
"type": "object",
"properties": {
"id": {
"description": "The Web DID of the holder",
"$ref": "./types.schema.json#/definitions/web-did"
},
"holderIdentifier": {
"description": "The Business Partner Number of the holder",
"type": "string"
},
"useCase": {
"description": "The linked use case - in this case Data Exchange Governance Framework agreement is valid for all Catena-X use cases",
"type": "string"
},
"contractTemplate": {
"description": "A link to the framework agreement type that was signed by the holder",
"$ref": "./types.schema.json#/definitions/endpoint"
},
"contractVersion": {
"description": "The version of the framework agreement that was signed by the holder. format: x.y",
"type": "string"
}
},
"required": [
"id",
"holderIdentifier",
"contractTemplate",
"contractVersion"
]
}
}
}

1 change: 1 addition & 0 deletions cx/credentials/specs/specification.changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@
5. Create JSON Schema definitions for all credentials using the URI: https://w3id.org/catenax/schemas/v1.0.0/
6. Adopt JWT-based VCs using JWS algorithm `ES256K` and JWK curve `secp256k1`
7. Separate namespaces for `tractusx` and `catenax`
8. Add Data Exchange Governance Credential
16 changes: 10 additions & 6 deletions cx/credentials/specs/vc.specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,26 +30,30 @@ Specified in [Membership Credential Schema](../schema/credentials/membership.cre

### 2.4. Framework Credential Types

#### 2.4.1. The `BehavioralTwinCredential` Type
#### 2.4.1. The `DataExchangeGovernance` Type

Specified in [Data Exchange Governance Credential Schema](../schema/credentials/dataexchange.governance.credential.schema.json).

#### 2.4.2. The `BehavioralTwinCredential` Type

Specified in [Behavioral Twin Credential Schema](../schema/credentials/behavioral.twin.credential.schema.json).

#### 2.4.2. The `PcfCredential` Type
#### 2.4.3. The `PcfCredential` Type

Specified in [PCF Credential Schema](../schema/credentials/pcf.credential.schema.json).

#### 2.4.3. The `QualityCredential` Type
#### 2.4.4. The `QualityCredential` Type

Specified in [Quality Credential Schema](../schema/credentials/quality.credential.schema.json).

#### 2.4.4. The `ResiliencyCredential` Type
#### 2.4.5. The `ResiliencyCredential` Type

Specified in [Resiliency Credential Schema](../schema/credentials/resiliency.credential.schema.json).

#### 2.4.5. The `SustainabilityCredential` Type
#### 2.4.6. The `SustainabilityCredential` Type

Specified in [Sustainability Credential Schema](../schema/credentials/sustainability.credential.schema.json).

#### 2.4.6. The `TraceabilityCredential` Type
#### 2.4.7. The `TraceabilityCredential` Type

Specified in [Traceability Credential Schema](../schema/credentials/traceability.credential.schema.json).
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"kty":"EC","use":"sig","crv":"secp256k1","x":"3EbyIFWR7uFsSMw2uDjXB-E1WI1VOI222tn3qBj5bJo","y":"u6VEz_zZX1VcV5u-XloahfYTDF-bmZjVJiJmPnDL9Ho"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
eyJraWQiOiJkaWQ6d2ViOmRpbS1zdGF0aWMtcWEuZGlzLWNsb3VkLXFhLmNmYXBwcy5ldTEyLmhhbmEub25kZW1hbmQuY29tOmRpbS1ob3N0ZWQ6MjEwMjZkYzQtMmIzNS00M2VkLWIwOTAtYjEzMDdjNjNiZGUxOmNhdGVuYS14LW9wY28taXNzdWVyI2tleXMtODUyZmQ2NzktZjQ3MC00ZTYxLWFkOTItZDVkZTEzYWI0N2QyIiwiYWxnIjoiRVMyNTZLIiwidHlwIjoiSldUIn0.eyJpYXQiOjE3MTk0ODcxNTksImV4cCI6MTcxOTY1OTk1MywidmMiOnsiaWQiOiJhNDViOTA1ZGI5NGNmMWNkNmQwNjI0NTViMDU2YzcxNzZhMjFmYjgyNzk0NjJjMzI2ODBhYjQxYiIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJEYXRhRXhjaGFuZ2VHb3Zlcm5hbmNlQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOiJkaWQ6d2ViOmRpbS1zdGF0aWMtcWEuZGlzLWNsb3VkLXFhLmNmYXBwcy5ldTEyLmhhbmEub25kZW1hbmQuY29tOmRpbS1ob3N0ZWQ6MjEwMjZkYzQtMmIzNS00M2VkLWIwOTAtYjEzMDdjNjNiZGUxOmNhdGVuYS14LW9wY28taXNzdWVyIiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wNi0yN1QxMToxOToxOS40ODZaIiwiZXhwaXJhdGlvbkRhdGUiOiIyMDI0LTA2LTI5VDExOjE5OjEzLjEzMFoiLCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9kaW0tc3RhdGljLXFhLmRpcy1jbG91ZC1xYS5jZmFwcHMuZXUxMi5oYW5hLm9uZGVtYW5kLmNvbS9jcmVkZW50aWFsLXNjaGVtYS85MGVhZTcwNS1kYTJjLTQxMDAtOTU3Ny1jOTc4ZDc4OGE1OWQvY2F0ZW5hLXgtb3Bjby1pc3N1ZXIvZGF0YWdvdmVybmFuY2UvMS4wIiwidHlwZSI6Ikpzb25TY2hlbWEifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJpZCI6Imh0dHBzOi8vZGltLXN0YXRpYy1xYS5kaXMtY2xvdWQtcWEuY2ZhcHBzLmV1MTIuaGFuYS5vbmRlbWFuZC5jb20vY3JlZGVudGlhbHMvc3RhdHVzLzkwZWFlNzA1LWRhMmMtNDEwMC05NTc3LWM5NzhkNzg4YTU5ZC9kYTM1Y2Y2OS0zYWEzLTQ5ZDUtOGQyNi0wY2M2MzNiNWI3ZWMjMiIsInR5cGUiOiJTdGF0dXNMaXN0MjAyMUVudHJ5Iiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24iLCJzdGF0dXNMaXN0SW5kZXgiOiIyIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2RpbS1zdGF0aWMtcWEuZGlzLWNsb3VkLXFhLmNmYXBwcy5ldTEyLmhhbmEub25kZW1hbmQuY29tL2NyZWRlbnRpYWxzL3N0YXR1cy85MGVhZTcwNS1kYTJjLTQxMDAtOTU3Ny1jOTc4ZDc4OGE1OWQvZGEzNWNmNjktM2FhMy00OWQ1LThkMjYtMGNjNjMzYjViN2VjIn0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOndlYjpkaW0tc3RhdGljLXFhLmRpcy1jbG91ZC1xYS5jZmFwcHMuZXUxMi5oYW5hLm9uZGVtYW5kLmNvbTpkaW0taG9zdGVkOjA0NDk2NTE5LTk2NTctNGViMy1hNzU0LWRkOTI5MzY0YmM3MTpjYXItbWFudWZhY3R1cmVyIiwidXNlQ2FzZSI6IkRhdGFFeGNoYW5nZUdvdmVybmFuY2UiLCJjb250cmFjdFZlcnNpb24iOiIxLjAiLCJjb250cmFjdFRlbXBsYXRlIjoiaHR0cHM6Ly9jYXRlbmEteC5uZXQvZW4vY2F0ZW5hLXgtaW50cm9kdWNlLWltcGxlbWVudC9nb3Zlcm5hbmNlLWZyYW1ld29yay1mb3ItZGF0YS1zcGFjZS1vcGVyYXRpb25zIiwiaG9sZGVySWRlbnRpZmllciI6IkJQTkwwMDAwMDAwMDEifX0sImlzcyI6ImRpZDp3ZWI6ZGltLXN0YXRpYy1xYS5kaXMtY2xvdWQtcWEuY2ZhcHBzLmV1MTIuaGFuYS5vbmRlbWFuZC5jb206ZGltLWhvc3RlZDoyMTAyNmRjNC0yYjM1LTQzZWQtYjA5MC1iMTMwN2M2M2JkZTE6Y2F0ZW5hLXgtb3Bjby1pc3N1ZXIiLCJzdWIiOiJkaWQ6d2ViOmRpbS1zdGF0aWMtcWEuZGlzLWNsb3VkLXFhLmNmYXBwcy5ldTEyLmhhbmEub25kZW1hbmQuY29tOmRpbS1ob3N0ZWQ6MDQ0OTY1MTktOTY1Ny00ZWIzLWE3NTQtZGQ5MjkzNjRiYzcxOmNhci1tYW51ZmFjdHVyZXIiLCJqdGkiOiJhNDViOTA1ZGI5NGNmMWNkNmQwNjI0NTViMDU2YzcxNzZhMjFmYjgyNzk0NjJjMzI2ODBhYjQxYiIsIm5iZiI6MTcxOTQ4NzE1OX0.bQeHDhGDEsGvAY_wpoWxu1GRQxckKv8T7ddicpnB2q0leS_zU5AobhivY-eUX0fI79OX6H5Cfj0khjIFRl8TyA
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"kty":"EC","use":"sig","crv":"secp256k1","x":"A8gkcK6CZ_GGpswBW9GVqW2B4gwfJLCxDf_O1kJvZh8","y":"GbIwlCtsU6EH28bgiKwkdos8xoL2MZ23tB10k0alihk"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
eyJraWQiOiJkaWQ6d2ViOmRpbS1zdGF0aWMtcWEuZGlzLWNsb3VkLXFhLmNmYXBwcy5ldTEyLmhhbmEub25kZW1hbmQuY29tOmRpbS1ob3N0ZWQ6MDQ0OTY1MTktOTY1Ny00ZWIzLWE3NTQtZGQ5MjkzNjRiYzcxOmNhci1tYW51ZmFjdHVyZXIja2V5cy1lOTMwMWFjZC0zMjMxLTQ4YTgtYmE5Zi1lY2E3ZWE5YWNkNDEiLCJhbGciOiJFUzI1NksiLCJ0eXAiOiJKV1QifQ.eyJ2cCI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlsiZXlKcmFXUWlPaUprYVdRNmQyVmlPbVJwYlMxemRHRjBhV010Y1dFdVpHbHpMV05zYjNWa0xYRmhMbU5tWVhCd2N5NWxkVEV5TG1oaGJtRXViMjVrWlcxaGJtUXVZMjl0T21ScGJTMW9iM04wWldRNk1qRXdNalprWXpRdE1tSXpOUzAwTTJWa0xXSXdPVEF0WWpFek1EZGpOak5pWkdVeE9tTmhkR1Z1WVMxNExXOXdZMjh0YVhOemRXVnlJMnRsZVhNdE9EVXlabVEyTnprdFpqUTNNQzAwWlRZeExXRmtPVEl0WkRWa1pURXpZV0kwTjJReUlpd2lZV3huSWpvaVJWTXlOVFpMSWl3aWRIbHdJam9pU2xkVUluMC5leUpwWVhRaU9qRTNNVGswT0RjeE5Ua3NJbVY0Y0NJNk1UY3hPVFkxT1RrMU15d2lkbU1pT25zaWFXUWlPaUpoTkRWaU9UQTFaR0k1TkdObU1XTmtObVF3TmpJME5UVmlNRFUyWXpjeE56WmhNakZtWWpneU56azBOakpqTXpJMk9EQmhZalF4WWlJc0luUjVjR1VpT2xzaVZtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lMQ0pFWVhSaFJYaGphR0Z1WjJWSGIzWmxjbTVoYm1ObFEzSmxaR1Z1ZEdsaGJDSmRMQ0pwYzNOMVpYSWlPaUprYVdRNmQyVmlPbVJwYlMxemRHRjBhV010Y1dFdVpHbHpMV05zYjNWa0xYRmhMbU5tWVhCd2N5NWxkVEV5TG1oaGJtRXViMjVrWlcxaGJtUXVZMjl0T21ScGJTMW9iM04wWldRNk1qRXdNalprWXpRdE1tSXpOUzAwTTJWa0xXSXdPVEF0WWpFek1EZGpOak5pWkdVeE9tTmhkR1Z1WVMxNExXOXdZMjh0YVhOemRXVnlJaXdpUUdOdmJuUmxlSFFpT2xzaWFIUjBjSE02THk5M2QzY3Vkek11YjNKbkx6SXdNVGd2WTNKbFpHVnVkR2xoYkhNdmRqRWlYU3dpYVhOemRXRnVZMlZFWVhSbElqb2lNakF5TkMwd05pMHlOMVF4TVRveE9Ub3hPUzQwT0RaYUlpd2laWGh3YVhKaGRHbHZia1JoZEdVaU9pSXlNREkwTFRBMkxUSTVWREV4T2pFNU9qRXpMakV6TUZvaUxDSmpjbVZrWlc1MGFXRnNVMk5vWlcxaElqcDdJbWxrSWpvaWFIUjBjSE02THk5a2FXMHRjM1JoZEdsakxYRmhMbVJwY3kxamJHOTFaQzF4WVM1alptRndjSE11WlhVeE1pNW9ZVzVoTG05dVpHVnRZVzVrTG1OdmJTOWpjbVZrWlc1MGFXRnNMWE5qYUdWdFlTODVNR1ZoWlRjd05TMWtZVEpqTFRReE1EQXRPVFUzTnkxak9UYzRaRGM0T0dFMU9XUXZZMkYwWlc1aExYZ3RiM0JqYnkxcGMzTjFaWEl2WkdGMFlXZHZkbVZ5Ym1GdVkyVXZNUzR3SWl3aWRIbHdaU0k2SWtwemIyNVRZMmhsYldFaWZTd2lZM0psWkdWdWRHbGhiRk4wWVhSMWN5STZleUpwWkNJNkltaDBkSEJ6T2k4dlpHbHRMWE4wWVhScFl5MXhZUzVrYVhNdFkyeHZkV1F0Y1dFdVkyWmhjSEJ6TG1WMU1USXVhR0Z1WVM1dmJtUmxiV0Z1WkM1amIyMHZZM0psWkdWdWRHbGhiSE12YzNSaGRIVnpMemt3WldGbE56QTFMV1JoTW1NdE5ERXdNQzA1TlRjM0xXTTVOemhrTnpnNFlUVTVaQzlrWVRNMVkyWTJPUzB6WVdFekxUUTVaRFV0T0dReU5pMHdZMk0yTXpOaU5XSTNaV01qTWlJc0luUjVjR1VpT2lKVGRHRjBkWE5NYVhOME1qQXlNVVZ1ZEhKNUlpd2ljM1JoZEhWelVIVnljRzl6WlNJNkluSmxkbTlqWVhScGIyNGlMQ0p6ZEdGMGRYTk1hWE4wU1c1a1pYZ2lPaUl5SWl3aWMzUmhkSFZ6VEdsemRFTnlaV1JsYm5ScFlXd2lPaUpvZEhSd2N6b3ZMMlJwYlMxemRHRjBhV010Y1dFdVpHbHpMV05zYjNWa0xYRmhMbU5tWVhCd2N5NWxkVEV5TG1oaGJtRXViMjVrWlcxaGJtUXVZMjl0TDJOeVpXUmxiblJwWVd4ekwzTjBZWFIxY3k4NU1HVmhaVGN3TlMxa1lUSmpMVFF4TURBdE9UVTNOeTFqT1RjNFpEYzRPR0UxT1dRdlpHRXpOV05tTmprdE0yRmhNeTAwT1dRMUxUaGtNall0TUdOak5qTXpZalZpTjJWakluMHNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1sa0lqb2laR2xrT25kbFlqcGthVzB0YzNSaGRHbGpMWEZoTG1ScGN5MWpiRzkxWkMxeFlTNWpabUZ3Y0hNdVpYVXhNaTVvWVc1aExtOXVaR1Z0WVc1a0xtTnZiVHBrYVcwdGFHOXpkR1ZrT2pBME5EazJOVEU1TFRrMk5UY3ROR1ZpTXkxaE56VTBMV1JrT1RJNU16WTBZbU0zTVRwallYSXRiV0Z1ZFdaaFkzUjFjbVZ5SWl3aWRYTmxRMkZ6WlNJNklrUmhkR0ZGZUdOb1lXNW5aVWR2ZG1WeWJtRnVZMlVpTENKamIyNTBjbUZqZEZabGNuTnBiMjRpT2lJeExqQWlMQ0pqYjI1MGNtRmpkRlJsYlhCc1lYUmxJam9pYUhSMGNITTZMeTlqWVhSbGJtRXRlQzV1WlhRdlpXNHZZMkYwWlc1aExYZ3RhVzUwY205a2RXTmxMV2x0Y0d4bGJXVnVkQzluYjNabGNtNWhibU5sTFdaeVlXMWxkMjl5YXkxbWIzSXRaR0YwWVMxemNHRmpaUzF2Y0dWeVlYUnBiMjV6SWl3aWFHOXNaR1Z5U1dSbGJuUnBabWxsY2lJNklrSlFUa3d3TURBd01EQXdNREVpZlgwc0ltbHpjeUk2SW1ScFpEcDNaV0k2WkdsdExYTjBZWFJwWXkxeFlTNWthWE10WTJ4dmRXUXRjV0V1WTJaaGNIQnpMbVYxTVRJdWFHRnVZUzV2Ym1SbGJXRnVaQzVqYjIwNlpHbHRMV2h2YzNSbFpEb3lNVEF5Tm1Sak5DMHlZak0xTFRRelpXUXRZakE1TUMxaU1UTXdOMk0yTTJKa1pURTZZMkYwWlc1aExYZ3RiM0JqYnkxcGMzTjFaWElpTENKemRXSWlPaUprYVdRNmQyVmlPbVJwYlMxemRHRjBhV010Y1dFdVpHbHpMV05zYjNWa0xYRmhMbU5tWVhCd2N5NWxkVEV5TG1oaGJtRXViMjVrWlcxaGJtUXVZMjl0T21ScGJTMW9iM04wWldRNk1EUTBPVFkxTVRrdE9UWTFOeTAwWldJekxXRTNOVFF0WkdRNU1qa3pOalJpWXpjeE9tTmhjaTF0WVc1MVptRmpkSFZ5WlhJaUxDSnFkR2tpT2lKaE5EVmlPVEExWkdJNU5HTm1NV05rTm1Rd05qSTBOVFZpTURVMll6Y3hOelpoTWpGbVlqZ3lOemswTmpKak16STJPREJoWWpReFlpSXNJbTVpWmlJNk1UY3hPVFE0TnpFMU9YMC5iUWVIRGhHREVzR3ZBWV93cG9XeHUxR1JReGNrS3Y4VDdkZGljcG5CMnEwbGVTX3pVNUFvYmhpdlktZVVYMGZJNzlPWDZINUNmajBraGpJRlJsOFR5QSJdfSwiYXVkIjpudWxsLCJub25jZSI6IjBjNzViYzFhLWQ5NWItNGYwNi1hYWU2LTEzMjNjYWE0MjRmNyIsImp0aSI6IjkyYWE0MDVjZDNhYzAzMjJlYzIxMDBhOWNhMjlhZGNjN2Q0ZjgyY2M5M2VjNTcxNzYzYWY5ZmIwIiwiaXNzIjoiZGlkOndlYjpkaW0tc3RhdGljLXFhLmRpcy1jbG91ZC1xYS5jZmFwcHMuZXUxMi5oYW5hLm9uZGVtYW5kLmNvbTpkaW0taG9zdGVkOjA0NDk2NTE5LTk2NTctNGViMy1hNzU0LWRkOTI5MzY0YmM3MTpjYXItbWFudWZhY3R1cmVyIn0.HcKUtedB9AdXy_7NsAkwMSkwUZ-8xz87maqIDuZbO0m1kRILlnHFKTLti3mPt7uNijEp5nEfCT6UxkyothbmHQ
2 changes: 1 addition & 1 deletion cx/policy/samples/policy.sample.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"constraint": {
"leftOperand": "FrameworkAgreement",
"operator": "eq",
"rightOperand": "Pcf:1.0.0"
"rightOperand": "DataExchangeGovernance:1.0"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion cx/policy/samples/policy.sample.playground.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"constraint": {
"leftOperand": "FrameworkAgreement",
"operator": "eq",
"rightOperand": "Pcf"
"rightOperand": "DataExchangeGovernance:1.0"
}
}
}
Expand Down
34 changes: 24 additions & 10 deletions cx/policy/specs/policy.definitions.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,21 @@ is optional.

Framework agreement constraints may only be used as an ODRL `Permission`.

## 4.1. PCF
## 4.1. Data Exchange Governance

The DataExchangeGovernance framework agreement is expressed as:

```json
{
"constraint": {
"leftOperand": "FrameworkAgreement",
"operator": "eq",
"rightOperand": "DataExchangeGovernance:[version]"
}
}
```

## 4.2. PCF

The PCF framework agreement is expressed as:

Expand All @@ -158,7 +172,7 @@ The PCF framework agreement is expressed as:
}
```

## 4.2. Sustainability
## 4.3. Sustainability

The Sustainability framework agreement is expressed as:

Expand All @@ -172,7 +186,7 @@ The Sustainability framework agreement is expressed as:
}
```

## 4.3. Quality
## 4.4. Quality

The Quality framework agreement is expressed as:

Expand All @@ -186,7 +200,7 @@ The Quality framework agreement is expressed as:
}
```

## 4.4. Resiliency
## 4.5. Resiliency

The Resiliency framework agreement is expressed as:

Expand All @@ -200,7 +214,7 @@ The Resiliency framework agreement is expressed as:
}
```

## 4.5. Traceability
## 4.6. Traceability

The Traceability framework agreement is expressed as:

Expand All @@ -214,7 +228,7 @@ The Traceability framework agreement is expressed as:
}
```

## 4.6. Behavioral Twin
## 4.7. Behavioral Twin

The Behavior framework agreement is expressed as:

Expand All @@ -228,11 +242,11 @@ The Behavior framework agreement is expressed as:
}
```

## 4.7. BPN
## 4.8. BPN

> ISSUE: The Membership VC appears to contain the same information. Is the BPN VC needed?
## 4.8. ContractReference
## 4.9. ContractReference

The `Membership` constraint is used to reference applicable terms and conditions or other applicable rules. It is
expressed as follows:
Expand All @@ -252,7 +266,7 @@ The `ContractReference` constraint may only be used as an ODRL `Permission`.
Valid `rightOperand` values must contain a `string` segment. This segment may be any valid set of characters, including
a `URL`, contract number, or other relevant data.

## 4.9. UsagePurpose
## 4.10. UsagePurpose

The `UsagePurpose` constraint is used to denote a governing purpose. It is expressed as follows:

Expand Down Expand Up @@ -298,7 +312,7 @@ an active signed traceability agreement:
{
"leftOperand": "FrameworkAgreement",
"operator": "eq",
"rightOperand": "Traceability"
"rightOperand": "DataExchangeGovernance:1.0"
}
]
}
Expand Down

0 comments on commit 5abd03d

Please sign in to comment.