Skip to content

This document is collaborative effort that attempts to collect all projects, tooling and implementations that work with the Open Digital Rights Language (ODRL).

License

Notifications You must be signed in to change notification settings

KNowledgeOnWebScale/ODRL-Landscape

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

ODRL Landscape

This document is collaborative effort that attempts to collect all projects, tooling and implementations that work with the Open Digital Rights Language (ODRL).

What is ODRL?

The Open Digital Rights Language (ODRL) Information Model 2.2 is a W3C Recommendation to express usage control policies.

ODRL policies define who can perform which action on which resource, and under what conditions. These policies are composed of one or more rules, which are based on deontic concepts:

  • Permission: explicitly allows an action. (e.g. "Alice may read Resource X on Monday, 15 September 2025, between 09:00 and 17:00.")
  • Prohibition: explicitly forbids an action. (e.g. "Alice is not allowed to write to Resource X.")
  • Obligation: requires an action to be fulfilled before or during usage. (e.g. "Alice must pay 5 euros in order to read Resource X.")

Why this document matters?

Orignally, ODRL was originally designed for Digital Rights Management (DRM), focusing on expressing rights and obligations for digital content. For the most recent version, the scope was thus mainly on expression: providing a common information model for representing such policies.

Since ~2020, organizations have started exploring ODRL for access and usage control enforcement. This shift created a need for software and tooling capable of evaluating ODRL policies in operational environments. For example, projects like Solid considered ODRL for data usage control (see related github issues: WAC-10, WAC-87, Solid-56, Authz), but these efforts stalled due to the lack of a formalized, systematic evaluation approach. Dataspaces also mention to use ODRL as usage control policy language for enforcement (both Gaia-X and IDSA).

Recently, significant progress has been made toward formalizing ODRL semantics. The ODRL Formal Semantics Community Group is working on standardizing the inputs required for policy evaluation, such as the state of the world, the evaluation request, and the policies themselves. In parallel, they are defining the expected outputs through the Compliance Report Model and developing a formal semantics for ODRL to ensure consistent and interoperable evaluations across different implementations. As of today (15 September 2025), these efforts are ongoing. This document aims to provide an overview of existing tools, frameworks, and approaches for ODRL policy evaluation, helping practitioners and researchers navigate the current landscape and contribute to these standardization efforts.

ODRL Evaluator implementations, projects using ODRL and ODRL tooling

ODRL Evaluators

An ODRL Evaluator is defined as follows by the ODRL Information Model 2.2 as

A system that determines whether the Rules of an ODRL Policy expression have meet their intended action performance.

Thus, in this overview, we have added all evaluators that we know of. The table has three columns

  • Name: what is the project name, with a link to the source
  • Context: contains what it does (capabilities), which software language is used to implement it.
    • Future work should include: the input (apart from the policies) and the output (yes/no vs compliance report vs ...)
  • Authors: the group that created it and (if possible) a contact person
Name Context Authors
ODRL Evaluator An open implementation of an ODRL Evaluator that evaluates ODRL policies by generating Compliance Reports.
Written in Node.js and Notation3 (prolog evaluated); runs in the browser
KNoWS for the Solidlab project
maintainer: Wout Slabbinck
Open Digital Rights Enforcement (ODRE) Framework An open implementation of an ODRL Evaluator in multiple languages.
there is ODRE for Java and ODRE for Python
OEG from UPM
maintainer: Andrea Cimmino
ODRL-PAP Evaluates ODRL policies by translating them to Rego policies, which are then executed by the Open Policy Agent (OPA).
Written in Java
Created for the DOME-marketplace project
Odrl-manager A library designed to facilitate the interpretation and evaluation of ODRL (Open Digital Rights Language) policies in JSON format.
written in Node.js
Prometheus-X
MOSAICrOWN policy engine Parses and evaluates MOSAICrOWN policies, which uses as basis ODRL, but adds purpose as a first class citizen at rule level.
Written in Python
Created for the MOSAICrOWN project (H2020)
MYDATA Control Technologies Transforms ODRL policies to the custom XML-based MYDATA policy and evaluates the latter
Written in Java
Fraunhofer
Gaia-X Wizard (PDP) Policy Stepper gitlab repo; TODO: how does it work and in which language is it written Gaia-X
maintainer: Yassir Sellami
Polival Policy and semantic web evaluation
Written in Rust and SPAQRL
Elbtech
maintainer: Richard Stoffels

Frameworks using ODRL

Protocols that point to ODRL

ODRL utilities

How to contribute

When there is something missing in this list, feel free to add it yourself by opening a pull request.

About

This document is collaborative effort that attempts to collect all projects, tooling and implementations that work with the Open Digital Rights Language (ODRL).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published