{"id":50646566,"url":"https://github.com/International-Data-Spaces-Association/ids-specification","last_synced_at":"2026-07-12T14:00:37.042Z","repository":{"id":103096808,"uuid":"571972342","full_name":"International-Data-Spaces-Association/ids-specification","owner":"International-Data-Spaces-Association","description":"The Dataspace Protocol is a set of specifications designed to facilitate interoperable data sharing between entities governed by usage control and based on Web technologies. These specifications define the schemas and protocols required for entities to publish data, negotiate Agreements, and access data in a data space ","archived":false,"fork":false,"pushed_at":"2025-03-13T08:01:39.000Z","size":4027,"stargazers_count":52,"open_issues_count":28,"forks_count":17,"subscribers_count":14,"default_branch":"main","last_synced_at":"2026-04-20T11:30:57.044Z","etag":null,"topics":["data","data-spaces","dataspace","dataspaces","dcat","idsa","odrl"],"latest_commit_sha":null,"homepage":"https://docs.internationaldataspaces.org/dataspace-protocol/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/International-Data-Spaces-Association.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-11-29T09:35:46.000Z","updated_at":"2026-01-25T09:14:42.000Z","dependencies_parsed_at":"2023-06-28T11:15:08.096Z","dependency_job_id":"4f4da582-d8d2-4852-bdf5-e54a2596bd02","html_url":"https://github.com/International-Data-Spaces-Association/ids-specification","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/International-Data-Spaces-Association/ids-specification","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/International-Data-Spaces-Association%2Fids-specification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/International-Data-Spaces-Association%2Fids-specification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/International-Data-Spaces-Association%2Fids-specification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/International-Data-Spaces-Association%2Fids-specification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/International-Data-Spaces-Association","download_url":"https://codeload.github.com/International-Data-Spaces-Association/ids-specification/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/International-Data-Spaces-Association%2Fids-specification/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35393398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data","data-spaces","dataspace","dataspaces","dcat","idsa","odrl"],"created_at":"2026-06-07T13:00:30.180Z","updated_at":"2026-07-12T14:00:37.036Z","avatar_url":"https://github.com/International-Data-Spaces-Association.png","language":null,"funding_links":[],"categories":["Interoperability and Digital Infrastructure"],"sub_categories":[],"readme":"# Dataspace Protocol Release 2024-1\n\n\u003e __NOTE:__ The Dataspace Protocol is now an Eclipse Specification project and has a new home in this [Repository](https://github.com/eclipse-dataspace-protocol-base/DataspaceProtocol). \n\u003e\n\u003e __NOTE:__ The web rendering of the Dataspace Protocol represents the current state on this repo's main branch: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/ \nThe Dataspace Protocol aims for a release as Eclipse Specification combining this specification with the [Dataspace TCK](https://projects.eclipse.org/projects/technology.dataspacetck ) and at least one conformant implementation. The [Eclipse Dataspace Components EDC](https://projects.eclipse.org/projects/technology.edc ) are planned as compliant implementation, others are welcome. The Dataspace Protocol targets a PAS transposition to ISO during 2025.\n\u003e \n\u003e __NOTE:__ Feel free to join our [Mailing list.](https://accounts.eclipse.org/mailing-list/dataspace-protocol-base-dev)\n\n\n## About versions of the Dataspace Protocol\n\nThis version ([2024-1](https://github.com/International-Data-Spaces-Association/ids-specification/tree/main/releases/2024-1)) of the Dataspace Protocol specification is the release candidate and considered to be stable. Further changes shall not affect conformity.\n  Since [version 0.8](https://github.com/International-Data-Spaces-Association/ids-specification/tree/main/releases/v0.8) the specification is stable with changes in details. All changes made to the specification can be reviewed in the [GitHub repository](https://github.com/International-Data-Spaces-Association/ids-specification/).\n\n\u003e __NOTE:__ A versioning scheme beside the commits to the repository is not available but will be provided in the future.\n\n## Abstract\n\nThe __Dataspace Protocol__ is a set of specifications designed to facilitate interoperable data sharing between entities governed by usage control and based on Web technologies. These specifications define the schemas and protocols required for entities to publish data, negotiate [Agreements](./model/terminology.md#agreement), and access data as part of a federation of technical systems termed a [Dataspace](./model/terminology.md#dataspace).\n\n## Introduction\n\nSharing data between autonomous entities requires the provision of metadata to facilitate the transfer of [Datasets](./model/terminology.md#dataset) by making use of a data transfer (or application layer) protocol.\nThe __Dataspace Protocol__ defines how this metadata is provisioned:\n\n1. How [Datasets](./model/terminology.md#dataset) are deployed as [DCAT Catalogs](https://www.w3.org/TR/vocab-dcat-3/#Class:Catalog) and usage control is expressed as [ODRL Policies](https://www.w3.org/TR/odrl-model/).\n2. How [Agreements](./model/terminology.md#agreement) that govern data usage are syntactically expressed and electronically negotiated.\n3. How [Datasets](./model/terminology.md#dataset) are accessed using [Transfer Process Protocols](./model/terminology.md#transfer-process-protocol).\n\nThese specifications build on protocols located in the [ISO OSI model (ISO/IEC 7498-1:1994)](https://www.iso.org/standard/20269.html) layers, like HTTPS.\nThe purpose of this specification is to define interactions between systems independent of such protocols, but describing how to implement it in an unambiguous and extensible way.\nTo do so, the messages that are exchanged during the process are described in this specification and the states and their transitions are specified as state machines, based on the key terms and concepts of a [Dataspace](./model/terminology.md#dataspace).\nOn this foundation the bindings to data transfer protocols, like HTTPS, are described.\n\nThe specifications are organized into the following documents:\n\n* [__*Dataspace Model*__](./model/model.md) and [__*Dataspace Terminology*__](./model/terminology.md) documents that define key terms.\n* [__*Common Functionalities*__](./common/common.protocol.md) and their [__*Binding in HTTPS*__](./common/common.binding.https.md) declares cross-cutting functions as, e.g., the declaration of supported versions of this Dataspace Protocol.\n* [__*Catalog Protocol*__](./catalog/catalog.protocol.md) and [__*Catalog HTTPS Binding*__](./catalog/catalog.binding.https.md) documents that define how [DCAT Catalogs](https://www.w3.org/TR/vocab-dcat-3/#Class:Catalog) are published and accessed as HTTPS endpoints respectively.\n* [__*Contract Negotiation Protocol*__](./negotiation/contract.negotiation.protocol.md) and [__*Contract Negotiation HTTPS Binding*__](./negotiation/contract.negotiation.binding.https.md) documents that define how [Contract Negotiations](./model/terminology.md#contract-negotiation) are conducted and requested via HTTPS endpoints.\n* [__*Transfer Process Protocol*__](./transfer/transfer.process.protocol.md) and [__*Transfer Process HTTPS Binding*__](./transfer/transfer.process.binding.https.md) documents that define how [Transfer Processes](./model/terminology.md#transfer-process) using a given data transfer protocol are governed via HTTPS\n  endpoints.\n\n\u003e **This specification does not cover the data transfer process as such.**\n\u003e\n\u003e While the data transfer is controlled by the __*Transfer Process Protocol*__ mentioned above, e.g. the initation of the transfer channels or their decomissioning, the data transfer itself and especially the handling of technical exceptions is an obligation to the Transport Protocol.\n\u003e\n\u003e As an implication, the data transfer can be conducted in a separated process if required, as long as this process is to the specified extend controlled by the __*Transfer Process Protocol*__.\n\u003e\n\u003e Nevertheless, illustrative message examples are provided in the [__*Transfer Process Protocol section*__](./transfer/transfer.process.protocol.md#2-message-types). The best practices section may contain further non-normative examples and explanations.\n\n### Context of this specification\n\nThe __Dataspace Protocol__ is used in the context of [Dataspaces](./model/terminology.md#dataspace) as described and defined in the subsequent sections with the purpose to support interoperability.\nIn this context, the specification provides fundamental technical interoperability for [Participants](./model/terminology.md#participant) in [Dataspaces](./model/terminology.md#dataspace).\nBeyond the technical interoperability measures described in this specification, semantic interoperability should also be addressed by the [Participants](./model/terminology.md#participant). On the perspective of the [Dataspace](./model/terminology.md#dataspace), interoperability needs to be addressed also on the level of trust, on organizational levels, and on legal levels.\nThe aspect of cross-dataspace communication is not subject of this document, as this is addressed by the [Dataspaces'](./model/terminology.md#dataspace) organizational and legal agreements.\n\nThe interaction of [Participants](./model/terminology.md#participant) in a [Dataspace](./model/terminology.md#dataspace) is conducted by the [Participant Agents](./model/terminology.md#participant-agent), so-called [Connectors](./model/terminology.md#connector--data-service-), which implement the protocols described above.\nWhile most interactions take place between [Connectors](./model/terminology.md#connector--data-service-), some interactions with other systems are required.\nThe figure below provides an overview on the context of this specification.\n\nAn [Identity Provider](./model/terminology.md#identity-provider) realizes the required interfaces and provides required information to implement the Trust Framework of a [Dataspace](./model/terminology.md#dataspace).\nThe validation of the identity of a given [Participant Agent](./model/terminology.md#participant-agent) and the validation of additional claims is a fundamental mechanism. The structure and content of such claims and identities may, however, vary between different [Dataspaces](./model/terminology.md#dataspace), as well as the structure of such an [Identity Provider](./model/terminology.md#identity-provider), e.g. a centralized system, a decentralized system or a federated system. Other specifications, like the Identity and Trust Protocol ([IATP](https://github.com/eclipse-tractusx/identity-trust)), define the respective functions.\n\nA [Connector](./model/terminology.md#connector--data-service-) will implement additional internal functionalities, like monitoring or policy engines, as appropriate. It is not covered by this specification if a [Connector](./model/terminology.md#connector--data-service-) implements such or how.\n\nThe same applies for the actual data that is transferred between the systems. While this document does not define the transport protocol, the structure, syntax or semantics of the data, a specification for those aspects is required and subject to the agreements of the [Participants](./model/terminology.md#participant) or the [Dataspace](./model/terminology.md#dataspace).\n\n![Overview on protocol and context](./resources/figures/ProtocolOverview.png)\n\n## Best Practices\n\nThe Dataspace Protocol is under development and the working group is active on this draft, reviewed and improved the content multiple times. During the process several aspects were discussed, which are not considered part of the normative specification, but important to be documented as support for the users of this specification as best practices. The [Best Practices](./best.practices/README.md) are non-normative.\n\nUsers of this specification are invited to provide feedback such as, but not limited to:\n\n* What information is missing?\n* What information, including examples, would you like to see?\n* What did you like in this document?\n\nPlease provide your feedback as Issue in our [GitHub repository](https://github.com/International-Data-Spaces-Association/ids-specification/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FInternational-Data-Spaces-Association%2Fids-specification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FInternational-Data-Spaces-Association%2Fids-specification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FInternational-Data-Spaces-Association%2Fids-specification/lists"}