awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Attribute-Based Access Control Libraries

Ranking updated Jun 30, 2026

For an ABAC permissions library, the strongest matches are stalniy/casl (CASL is a JavaScript ABAC library that lets you), casbin/casbin (Candidate provides a genuine ABAC library with a complete) and hsluoyz/casbin (Casbin is a full-featured authorization library with native support). openfga/openfga and open-policy-agent/opa round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Open-source libraries for implementing fine-grained, policy-driven authorization logic within your software applications.

Attribute-Based Access Control Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • stalniy/caslstalniy avatar

    stalniy/casl

    6,952View on GitHub↗

    CASL is a JavaScript authorization library for defining and enforcing declarative access control rules across both frontend and backend environments. It provides an attribute-based access control system that manages permissions based on user roles and specific object properties. The library is designed for isomorphic access control, allowing a consistent set of permission rules to be shared between a server API and a client interface. It enables the serialization of permission sets as plain data objects to maintain synchronization across these different layers. Its capabilities include trans

    CASL is a JavaScript ABAC library that lets you define declarative access rules based on user roles and object properties, with a policy evaluation engine, custom matching functions, and integrations for frameworks like MongoDB and React — covering every core feature you listed for fine-grained authorization.

    TypeScriptAttribute-based Access ControlsAuthorization Rule Engines
    View on GitHub↗6,952
  • casbin/casbincasbin avatar

    casbin/casbin

    19,848View on GitHub↗

    Casbin is an authorization library that provides a model-based engine for enforcing access control across diverse application environments. It decouples authorization logic from application code by using a configuration-driven approach, allowing developers to define access rules and evaluation logic independently. The system supports a wide range of access control models, including role-based, attribute-based, and relationship-based patterns, which are evaluated at runtime to determine if a subject is permitted to perform an action on a resource. The project distinguishes itself through a hig

    Candidate provides a genuine ABAC library with a complete policy engine, expression-language rules, multi-source attribute support, framework integrations, and a policy management API, making it a flagship match for the target search.

    GoAttribute-Based Access ControlAttribute-based Access ControlsMiddleware
    View on GitHub↗19,848
  • hsluoyz/casbinhsluoyz avatar

    hsluoyz/casbin

    20,189View on GitHub↗

    Casbin is an authorization library designed to manage application access control and permissions through a configurable model-based engine. It serves as a centralized system for verifying whether a user has permission to perform specific actions on a resource. The engine supports multiple access control models, including Role-Based Access Control, Attribute-Based Access Control, and Access Control Lists. It allows for the definition of role hierarchies and the evaluation of user, resource, and environment attributes to make access decisions. The library decouples authorization logic from dat

    Casbin is a full-featured authorization library with native support for the ABAC model, a configurable policy evaluation engine, an expression language for rule definitions, and support for multiple attribute sources, making it a comprehensive match for your search.

    GoAttribute-based Access Controls
    View on GitHub↗20,189
  • openfga/openfgaopenfga avatar

    openfga/openfga

    4,793View on GitHub↗

    OpenFGA is a fine-grained authorization server and policy decision point that implements relationship-based access control. It serves as a centralized authorization service for evaluating access requests and managing relationship tuples across distributed microservices and multi-tenant environments. The engine combines relationship graphs with attribute-based access control, using the Common Expression Language to evaluate dynamic runtime attributes and conditional access rules. It handles complex hierarchies and nested permissions by traversing chains of associations and parent-child links t

    OpenFGA is a fine-grained authorization server that incorporates ABAC attributes into its relationship-based policy model, using Common Expression Language for dynamic attribute evaluation, making it a viable policy engine for ABAC scenarios despite its primary focus on relationship-based access control.

    GoAttribute-Based Access ControlPolicy Decision Points
    View on GitHub↗4,793
  • open-policy-agent/opaopen-policy-agent avatar

    open-policy-agent/opa

    11,860View on GitHub↗

    This project is a unified, cloud-native policy engine designed to decouple authorization and security logic from application codebases. It functions as a centralized authorization service that evaluates structured input data against declarative rules, enabling consistent policy enforcement across microservices, infrastructure, and continuous integration pipelines. The engine utilizes a specialized logic programming language to express complex constraints, which are compiled into an optimized intermediate representation for high-performance evaluation. By supporting both sidecar-based deployme

    Open Policy Agent (OPA) is a cloud-native policy engine that uses its declarative rule language (Rego) to evaluate attributes and enforce fine-grained authorization, making it a direct and comprehensive match for an ABAC library with policy evaluation, expression language, multi-source input, and integration APIs.

    GoAuthorization ServicesDeclarative Access ControlPolicy-As-Code Engines
    View on GitHub↗11,860
  • cerbos/cerboscerbos avatar

    cerbos/cerbos

    4,460View on GitHub↗

    Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing access control. It functions as a policy-as-code platform, allowing teams to define, test, and distribute authorization rules using declarative YAML or JSON configurations. By decoupling access logic from application code, it enables consistent permission enforcement across diverse service stacks. The project distinguishes itself through its ability to translate high-level authorization policies into native database query filters. This capability allows applications to enforce sec

    Cerbos is a purpose-built authorization engine that uses attribute-based policies to define and enforce fine-grained access control, providing a policy evaluation engine, expressive rule language, and integration APIs, directly matching the requirements for an ABAC library/policy engine.

    GoAttribute-Based Access ControlPolicy Decision Points
    View on GitHub↗4,460
  • warrant-dev/warrantwarrant-dev avatar

    warrant-dev/warrant

    1,327View on GitHub↗

    Warrant is an open-source authorization library supporting attribute-based access control (ABAC) as part of its fine-grained permission system, fitting your need for an ABAC library and policy engine.

    GoSecurity and Identity
    View on GitHub↗1,327
  • nestjsx/nest-access-controlnestjsx avatar

    nestjsx/nest-access-control

    1,156View on GitHub↗

    NestJS Access Control is a role-based and attribute-based authorization framework designed for the NestJS ecosystem. It provides a declarative system for securing application routes and resources, allowing developers to enforce granular access policies through metadata-driven decorators. The framework distinguishes itself by supporting hierarchical role inheritance, which enables the resolution of complex permission sets by traversing parent and child role relationships. It also facilitates dynamic authorization management, allowing security rules to be loaded asynchronously from external dat

    nest-access-control is an ABAC library tightly integrated with the NestJS framework, providing both role and attribute-based policies for fine-grained authorization within that ecosystem — it fits your intent if you use NestJS, but it may not be the general-purpose, framework-agnostic policy engine you might otherwise be seeking.

    TypeScriptAttribute-Based Access Control
    View on GitHub↗1,156

Related searches

  • an authorization library for managing access control
  • an authorization framework for managing user permissions
  • a fine-grained authorization engine
a policy-as-code authorization engine
  • an open source framework for access control
  • a policy-as-code engine for Kubernetes
  • a capability based security model for systems
  • a library for building workflow routing logic