odrl

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:

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 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 A proof of concept for policy negotiation using ODRL Offer, ODRL Request and Verifiable Credentials Gitlab Gaia-X Lab Team
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.

Note: this document originated from ODRL-Landscape by Wout Slabbinck (part of the KNowledge on Web Scale research group).