The Data Usage Agreement Specification is an open initiative to define a common data usage agreement format. It can be used on its own, or in combination with the Data Contract Specification and the Data Product Specification.
A data usage agreement is a 1:1 relation between a data provider and a data consumer. It defines the purpose, status, and lifecycle of the agreement. A data contract can be part of an agreement.
A data usage agreement enables you to always know who is using what data and why. You can use agreements as input for automatically granting or revoking access in the platform, and store the current automation state in the agreement
0.0.1
dataUsageAgreementSpecification: 0.0.1
id: agreement-8f237f9h
info:
purpose: ML model training for real-time user classification (Project RTUSR-3)
status: approved
active: true
startDate: 2024-01-01
endDate: null
individualAgreements: null
provider:
teamId: checkout
dataProductId: orders
outputPortId: orders_pii_v1_snowflake
dataContractId: orders_pii_v1
consumer:
teamId: marketing
dataProductId: realtime_user_classification
tags:
- automated
links:
aws: https://example.com/aws-role
custom:
platformRole: arn:aws:iam::123456789012:role/agreement-8f237f9h
platformRoleCreatedAt: 2024-01-01T13:00:00Z
platformAgent: Data Mesh Manager Platform Agent v0.1
We currently offer the specification in form of a JSON Schema datausageagreement.schema.json.
The specification supports the output port of a data product as a provider. The data contract is optional but recommended.
provider:
teamId: checkout
dataProductId: orders
outputPortId: orders_pii_v1_snowflake
dataContractId: orders_pii_v1 # optional
The specification supports three different consumer types:
consumer:
teamId: marketing
dataProductId: realtime_user_classification
consumer:
teamId: marketing
consumer:
userId: [email protected]