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.

New: Your Idea. Our Experts. We'll Build Your SaaS For You.

Our 'Done For You' service simplifies the process, taking your concept and delivering a production-ready MVP or complete SaaS solution.

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.

    Simplify Permission Checks in TypeScript with Permix | supastarter - SaaS starter kit for Next.js and Nuxt