name: CASL
updateAvailable: !md |
  An update is available, **click here to refresh**.
slogan: |
  Isomorphic Authorization
  JavaScript library
copyright: !md |
  Released under the [**MIT License**](https://opensource.org/licenses/MIT)@{rel="nofollow"}
  Copyright © 2017-%{year} [Serhii Stotskyi](https://www.linkedin.com/in/serhii-stotskyi-b747ba23/)
oldVersionAlert: !md |
  This is documentation for CASL **%{currentVersion}**, which is no longer actively maintained.

  For up-to-date documentation, see <a href="%{latestVersionUrl}"><strong>the latest version (%{latestVersion})</strong></a>

menu:
  root: Menu
  api: API

  learn: Learn
  docs: Documentation
  guide: Guide
  examples: Examples
  cookbook: Cookbook
  ecosystem: Ecosystem
  packages: Official packages
  pkg-prisma: CASL Prisma
  pkg-mongoose: CASL Mongoose
  pkg-angular: CASL Angular
  pkg-react: CASL React
  pkg-vue: CASL Vue
  pkg-aurelia: CASL Aurelia
  help: Help

  questions: Ask a question
  chat: Discussions
  news: News
  blog: Blog
  support: Support CASL

buttons:
  start: Get Started
  source: Source code

exampleCode: !md |
  ```js
  import { createMongoAbility, AbilityBuilder } from '@casl/ability';

  // define abilities
  const { can, cannot, build } = new AbilityBuilder(createMongoAbility);

  can('read', ['Post', 'Comment']);
  can('manage', 'Post', { author: 'me' });
  can('create', 'Comment');

  // check abilities
  const ability = build();

  ability.can('read', 'Post') // true
  ```

features:
  isomorphic:
    title: Isomorphic
    description: Complementary packages make integration with major Frontend Frameworks and Backend ORMs effortless
  versatile:
    title: Versatile
    description: Easily scales between a claim based and subject/attribute based authorization.
  typesafe:
    title: TypeSafe
    description: Written in TypeScript, that makes your apps safer and developer experience more enjoyable
  treeshakable:
    title: Tree shakable
    description: The core is only 6KB mingzipped and can be even smaller!
  declarative:
    title: Serializable
    description: Allows to share permissions between UI, API and microservices

search:
  placeholder: Search
  noMatch: No information found for your query

categories:
  guide: Guide
  example: Examples
  package: Official Packages
  cookbook: Cookbook
  advanced: Advanced
  api: API documentation

payment:
  liqpay: Liqpay

meta:
  keywords: roles, permissions, permission management, ACL, ABAC, RBAC, CASL, javascript
  description: |
    CASL (pronounced /ˈkæsəl/, like castle) is an isomorphic authorization JavaScript library which restricts what resources a given user is allowed to access. It's designed to be incrementally adoptable and can easily scale between a simple claim based and fully featured subject and attribute based authorization. It makes it easy to manage and share permissions across UI components, API services, and database queries.
