Access Control

Control Who Sees What,Precisely

Granular permission control down to individual fields and records. Create custom roles, manage team access, and ensure data security without complexity.

Live demo

Security That Scales

From simple permissions to enterprise-grade security, control exactly who can access what in your applications

Granular Permission Control

Control access down to individual fields and records. Set permissions on specific data columns, restrict row access based on user attributes, and create complex access rules without writing security code

In Practice

Permissions that match how your product actually works

roles.ts
await client.roles.create({
  name: 'editor',
  permissions: [
    { entity: 'articles', actions: ['read', 'create', 'update'] },
    { entity: 'media',    actions: ['read', 'create'] },
    // No delete — admins only
  ]
})

What you can build

01

Multi-team SaaS with workspace isolation

Users see only their organisation's data. Admins see everything. Super admins manage across organisations. Row-level security enforces all of this at the database layer — you configure it once, it works everywhere.

02

Client portals with granular visibility

Give clients access to their own data without ever seeing other clients. Field-level controls mean they see their invoices, their files, their contacts — and nothing else. No custom query logic required.

03

Regulated products with audit-grade access logs

Every read and write is logged against the authenticated user. Compliance requirements around data access become a configuration exercise, not an engineering project.

Frequently Asked Questions

Still have questions?

Get in Touch

Ready to build with security built in?

Build applications with enterprise-grade security that's as easy to configure as it is powerful to use. Your users get exactly the access they need, nothing more.