Client library for interacting with the Cerbos policy decision point service over HTTP.
This is primarily intended for use in browsers, and requires fetch to be available globally.
If you're targeting old browsers, you'll need to apply a polyfill.
You can use it in server-side Node.js applications, but the gRPC client might be more appropriate.
fetch$ npm install @cerbos/http
import { HTTP } from "@cerbos/http";
const cerbos = new HTTP("http://localhost:3592");
await cerbos.isAllowed({
principal: {
id: "user@example.com",
roles: ["USER"],
attr: { tier: "PREMIUM" },
},
resource: {
kind: "document",
id: "1",
attr: { owner: "user@example.com" },
},
action: "view",
}); // => true
For more details, see the HTTP class documentation.
This package is ESM-only, but may be required from CommonJS modules in Node.js versions 20.19.5+, 22.15+, and 24+.