cerbos/query-plan-adapters

Repo of adapters converting a Cerbos Query Plan to a data fetching layer

22

stars

370

commits

TypeScript

primary language

Sep 10, 2026

updated

Browse cluster: Ruby runtime implementations and concurrency

README

Cerbos Query Plan Adapters

These are reference implementations of adapters that take a Cerbos Query Plan (PlanResources API) response and convert it into a filter which can be applied to your data fetching layer to return just the instances of a resource that a user would have access to.

Current supported adapters:

[!WARNING] The ActiveRecord adapter is a work-in-progress prototype. It has not been released, it has not been used in production by anyone, and its public interface can still change without a deprecation. Do not depend on it to enforce access control in a live system yet. See activerecord/README.md for what it does and does not cover.

Every adapter is proved against two shared corpora at the root of this repository:

  • conformance/ — deliberately hostile shapes, proving each adapter's filter returns exactly the rows the PDP allows.
  • demo/ — one realistic domain, proving each adapter's published package installs, imports, and composes with its ORM's real query methods.

Contributors

alexolivier

194 commits

renovate[bot]

107 commits

dependabot[bot]

55 commits

Sambigeara

12 commits

cerbos/query-plan-adapters

Repo of adapters converting a Cerbos Query Plan to a data fetching layer

22

stars

370

commits

TypeScript

primary language

Sep 10, 2026

updated

Browse cluster: Ruby runtime implementations and concurrency

README

Cerbos Query Plan Adapters

These are reference implementations of adapters that take a Cerbos Query Plan (PlanResources API) response and convert it into a filter which can be applied to your data fetching layer to return just the instances of a resource that a user would have access to.

Current supported adapters:

[!WARNING] The ActiveRecord adapter is a work-in-progress prototype. It has not been released, it has not been used in production by anyone, and its public interface can still change without a deprecation. Do not depend on it to enforce access control in a live system yet. See activerecord/README.md for what it does and does not cover.

Every adapter is proved against two shared corpora at the root of this repository:

  • conformance/ — deliberately hostile shapes, proving each adapter's filter returns exactly the rows the PDP allows.
  • demo/ — one realistic domain, proving each adapter's published package installs, imports, and composes with its ORM's real query methods.

Contributors

alexolivier

194 commits

renovate[bot]

107 commits

dependabot[bot]

55 commits

Sambigeara

12 commits

Languages

TypeScript

32.4%

Java

31.0%

Go

16.2%

Python

8.2%

Ruby

7.2%

Shell

4.4%