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 TanStack Start

Get started

Stay up to date

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