Skip to content
[]jacpol

Jacpol

Authorization for NestJS — a package family, open-sourced from production.

Overview

Jacpol is the authorization engine that runs beneath every RUBIKLABS service — roles, policies, and resource-scoped access for NestJS applications. Shipped as a family of npm packages: a core module plus first-class adapters for Kysely and Prisma. We built it for ourselves and open-sourced it so any team on the NestJS ecosystem can use the same permissions system we do.

Key facts

Status
Live
Category
Open source
Founded
2024
Parent
RUBIKLABS

Technology

  • NestJS
  • TypeScript
  • Kysely
  • Prisma

What Jacpol does

01

Roles and policies

Define who can do what. Compose policies, attach them to roles, assign roles to users.

02

Resource-scoped access

Permissions that know about the resource being accessed — owner, team, tenant. Not just "can edit posts," but "can edit their own posts."

03

Battle-tested in production

Runs behind every RUBIKLABS service today. What you pull off the registry is what we put into production.

The package family

01

@rubiklabs/nestjs-jacpol

The core module. Roles, policies, guards, decorators — runtime-agnostic. Bring your own data layer or pick one of the adapters below.

02

@rubiklabs/nestjs-jacpol-kysely

First-class Kysely adapter. Type-safe permission queries that compose with the rest of your Kysely query builder.

03

@rubiklabs/nestjs-jacpol-prisma

Prisma adapter. Permission-aware queries with the Prisma client you already have in your NestJS app.

Open source

MIT-licensed. Use the core, pick an adapter, or bring your own.

One call. Your problem, your scale, your constraint. A proposal within a week.