Skip to main content

Open Data Governance Standard (ODGS) — Reference Specification & Runtime Engine (v6.1.0)

Protocol Documentation ISO Alignment Dataspace Profile DOI License

Vendor-Neutral Runtime Semantic Policy Enforcement & Cryptographic Attestation (S-Cert) for Data Pipelines and Federated Dataspaces.


1. Overview & Architectural Scope

The Open Data Governance Standard (ODGS) (v6.1.0) resolves the Definition–Execution Gap (in-pipeline governance) and the Phase 6 Operationalisation Gap (post-transfer usage enforcement in federated dataspaces).

While dataspace control planes (Eclipse DSP/DCP, W3C ODRL 2.2, Eclipse DRP, and the Gaia-X Data Transfer Agent) govern pre-transfer negotiation and credential verification, ODGS governs in-pipeline runtime execution once data arrives at the processing boundary — deterministically evaluating payload constraints (HARD_STOP, SOFT_STOP, LOG_ONLY) and emitting a zero-knowledge Semantic Certificate (S-Cert) (RFC 8785 JCS + RFC 7515 JWS).

Normative Standards Alignment

Standard / Ecosystem Normative Specification Role in ODGS v6.1.0
ISO/IEC JTC 1/SC 40 ISO/IEC 38505-1:2026 & TR 38505-2:2018 Separates corporate governance of data (Evaluate, Direct, Monitor) from operational data management via contextual process bindings (context_bindings.json).
ISO/IEC JTC 1/SC 7 & TC 184 ISO/IEC 25012:2008, ISO 8000-8, ETSI EN 304 311 Grounds all 60 data quality dimensions in standard_dq_dimensions.json (Inherent, System-Dependent, Inherent_and_System_Dependent).
W3C W3C ODRL 2.2, W3C VC 2.0, W3C PROV-O, W3C OWL 2 Compiles ODRL 2.2 agreements into executable rules (odrl_binder.py) and exports S-Cert lineage graphs (export_w3c_prov_o).
Eclipse Dataspace Working Group Eclipse CAP v2.2.1 (LinkML) & Eclipse DRP Projects runtime S-Cert receipts into cap:Declaration and cred:Evidence Verifiable Credentials (cap_exporter.py) and enforces DRP delegationEvidence.
Gaia-X & IDSA Gaia-X Architecture 25.11 (§4.8.4.2) & IDSA Rulebook 2026-3 (§121) Verifies Phase 6 post-transfer obligations and upstream provenance hashes (dta_verifier.py) with decentralized correlation_id observability.
NIST NIST OSCAL v1.1.2 Exports runtime evaluation outcomes as OSCAL Assessment Results finding and observation records (export_nist_oscal_finding).

2. Repository Structure

├── 1_NORMATIVE_SPECIFICATION/
│   ├── SPECIFICATION.md                        # Normative 5-Plane & Phase 6 Dataspace Specification
│   ├── conformance_rules.md                    # Level 1 Core & Level 2 Attested Conformance Rules
│   ├── ontology/
│   │   ├── ontology_graph.owl                  # W3C OWL 2 Ontology (ISO/IEC 38505 & 25012 grounded)
│   │   └── odgs_dataspace.linkml.yaml          # LinkML Dataspace Vocabulary (Eclipse CAP / W3C PROV-O mapped)
│   └── schemas/
│       ├── 01-metrics-schema.json              # Plane II: Metric Definitions Schema
│       ├── 02-rules-schema.json                # Plane III: Validation Rules Schema
│       ├── 03-ontology-schema.json             # Plane IV: Contextual Process Bindings Schema
│       ├── 04-s-cert-schema.json               # Plane V: Semantic Certificate (S-Cert) Schema
│       ├── odgs-dataspace.context.jsonld       # JSON-LD Context (odgs, odrl, cred, prov, cap, ovc)
│       ├── legislative/                        # 72 Metrics, 60 ISO/IEC 25012 DQ Dimensions, Ontology Graph
│       ├── judiciary/                          # 101 Validation Rules & Root Cause Taxonomy
│       └── executive/                          # Contextual Process Bindings & Physical Data Maps
├── 2_INFORMATIVE_REFERENCE/
│   ├── architecture/                           # Reference Architecture, Adapter, Ontology & Audit Guides
│   └── src/
│       ├── odgs/
│       │   ├── core/                           # Cryptographic hashing (RFC 8785 JCS) & Adapter ABC
│       │   ├── executive/                      # OdgsInterceptor (Python Runtime PEP)
│       │   ├── dataspace/                      # ODRL 2.2 Binder, Phase 6 PEP, CAP/PROV-O/OSCAL Exporters, DTA Verifier
│       │   └── system/                         # CLI (`odgs`), FastAPI Server, Schema Validators, dbt Adapter
│       └── interceptor.js                      # Cross-language Node.js Interceptor Reference Implementation
├── docs/                                       # MkDocs Technical Documentation (Eclipse EDWG, Gaia-X, IDSA, LinkML)
├── examples/
│   └── run_all_dataspace_scenarios.py          # End-to-end executable demonstration of Scenarios 1–5
└── tests/                                      # Python (pytest) & Node.js (vitest) Conformance & Parity Suites

3. Quick Start

Installation (Local Development / Reference Verification)

pip install -e ".[dev]"

1. Run the End-to-End Dataspace Scenarios (ODRL 2.2 → Phase 6 PEP → S-Cert → CAP v2.2.1 / PROV-O / OSCAL)

# Run all 5 normative dataspace scenarios (HARD_STOP, SOFT_STOP, LOG_ONLY, DTA Provenance, CAP/PROV-O/OSCAL)
python3 examples/run_all_dataspace_scenarios.py

# Or via the CLI:
odgs dataspace-demo --format cap-vc
odgs dataspace-demo --format s-cert
odgs dataspace-demo --format prov-o
odgs dataspace-demo --format oscal

2. In-Pipeline Enforcement in Python (OdgsInterceptor & DataspaceRuntimePEP)

from odgs.dataspace.odrl_binder import bind_odrl_policy
from odgs.dataspace.runtime_pep import DataspaceRuntimePEP, AdministrativeRecusalError
from odgs.dataspace.cap_exporter import export_cap_declaration_vc

odrl_agreement = {
    "@context": "http://www.w3.org/ns/odrl.jsonld",
    "@type": "Agreement",
    "uid": "urn:uuid:agreement-energy-grid-2026-091",
    "obligation": [{
        "uid": "urn:odrl:duty:k-anonymity-min-50",
        "action": "aggregate",
        "constraint": [{
            "leftOperand": "aggregation_household_count",
            "operator": "gteq",
            "rightOperand": 50
        }]
    }]
}

process_urn = "urn:odgs:process:energy-consumer:grid-load-forecasting"
rules, binding = bind_odrl_policy(odrl_agreement, process_urn=process_urn)
pep = DataspaceRuntimePEP(rules=rules, bindings=[binding])

# Evaluate runtime payload and emit Semantic Certificate (S-Cert)
s_cert = pep.evaluate(
    process_urn=process_urn,
    payload={"aggregation_household_count": 64, "region": "NL-ZH"},
)

# Project S-Cert into an Eclipse CAP v2.2.1 Declaration Verifiable Credential
cap_vc = export_cap_declaration_vc(
    s_cert,
    issuer_did="did:web:consumer.energy-dataspace.eu",
    subject_did="did:web:consumer.energy-dataspace.eu#pipeline-1",
)

4. The 5-Plane Architecture & Phase 6 Dataspace Handshake

flowchart LR
    subgraph ControlPlane ["Control Plane (Pre-Transfer)"]
        ODRL["W3C ODRL 2.2 / Eclipse DSP & DRP"]
        ISO["ISO/IEC 38505-1 & 25012 Definitions"]
    end

    subgraph DataPlane ["Data Plane (Phase 6 Runtime PEP)"]
        BIND["Contextual Process Binding (context_bindings.json)"]
        PEP["ODGS Interceptor / DataspaceRuntimePEP"]
        DECISION{"HARD_STOP | SOFT_STOP | LOG_ONLY"}
    end

    subgraph AttestationPlane ["Attestation & Conformity Plane"]
        SCERT["Semantic Certificate (S-Cert: JCS + JWS)"]
        CAP["Eclipse CAP v2.2.1 (cred:Evidence)"]
        PROVO["W3C PROV-O & NIST OSCAL"]
    end

    ODRL --> BIND
    ISO --> BIND
    BIND --> PEP
    PEP --> DECISION
    DECISION --> SCERT
    SCERT --> CAP
    SCERT --> PROVO

5. Verification & Test Suite

# Run Python test suite (core interceptor, ISO schema conformance, and dataspace bridge)
pytest

# Run cross-language Node.js parity tests
npm test

# Build technical documentation strictly
mkdocs build --strict

6. License

Released under the Apache License, Version 2.0. See LICENSE and GOVERNANCE.md.

Metadata

Release files for odgs 6.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for odgs 6.1.0
File Size Uploaded Provenance Actions
odgs-6.1.0.tar.gz 263.6 kB Without provenance Details for odgs-6.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for odgs 6.1.0
File Interpreter ABI Platform Actions
odgs-6.1.0-py3-none-any.whl Python 3 none any Details for odgs-6.1.0-py3-none-any.whl

Total release size: 410.4 kB

Release files / odgs-6.1.0.tar.gz

Download URL odgs-6.1.0.tar.gz
Size 263.6 kB
Tags Source
SHA-256 checksum
How to use checksums
eaac18e18d5498d8fd11316c280bd1da432b91643c5424419f9ae34be6c283d5
BLAKE2b-256 checksum
How to use checksums
7087f5aeab4aede7f5fa2590dcf78249ee9d7d6a2af5c4d2cb139487f7ba6ac8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / odgs-6.1.0-py3-none-any.whl

Download URL odgs-6.1.0-py3-none-any.whl
Size 146.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
00083468b581051f597f2a9e7ae7d65ea622af7d3220202f19cf2980422d3b5d
BLAKE2b-256 checksum
How to use checksums
1189e7a2300d9f30c381ad62aa76c92563e007ead01879a0d7cb70903827c9fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for odgs 6.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page