Simplify Permission Checks in TypeScript with Permix

8/29/2025

#typescript#auth#frontend

Permix is a lightweight, zero-dependency TypeScript library that provides type-safe permission management. It helps you avoid common pitfalls like typos and inconsistent permission names.

Quick Start

import { createPermix } from 'permix'
 
const permix = createPermix<{
  post: { action: 'read' | 'write' }
}>()
 
permix.setup({
  post: { read: true, write: false }
})
 
const canRead = permix.check('post', 'read') // true
const canWrite = permix.check('post', 'write') // false

Define Permissions

const permix = createPermix<{
  post: {
    dataType: Post,
    dataRequired: true,
    action: 'create' | 'read' | 'update' | 'delete'
  }
}>()
 
const isPostAuthor = (post: Post) => post.authorId === userId
 
permix.setup(({ id: userId }: User) => ({
  post: { 
    create: false, 
    read: true, 
    update: isPostAuthor, 
    delete: isPostAuthor,  
  }
}))

Key Benefits

  • 100% type-safe without additional TypeScript code
  • Single source of truth for app permissions
  • Zero dependencies
  • Framework agnostic with React, Vue, Express integrations

Permix makes permission management simple and reliable. Learn more in the official documentation.

Start your scalable and production-ready SaaS today

Save endless hours of development time and focus on what's important for your customers with our SaaS starter kits for Next.js, Nuxt 3 and SvelteKit

Get started

Stay up to date

Sign up for our newsletter and we will keep you updated on everything going on with supastarter.