Open-source frameworks and engines for defining, managing, and enforcing fine-grained authorization policies across distributed systems.
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
This is a comprehensive, cloud-native policy engine that provides a declarative language for fine-grained access control, high-performance evaluation via an API, and robust observability tools to decouple authorization from your application logic.
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
Casbin is a robust, model-based authorization engine that decouples access control logic from application code, supporting fine-grained policies and high-performance evaluation through a flexible, configuration-driven architecture.
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 dedicated authorization server that provides a centralized, API-driven policy decision point for fine-grained access control, perfectly matching the requirement to decouple authorization logic from application code.
Ory Keto is an open-source authorization server that implements Google Zanzibar’s relationship-based access control model. It stores every access relationship as a tuple in a SQL database and exposes a declarative TypeScript-like namespace language for defining object types, relations, and permissions. The service provides bidirectional permission resolution, configurable consistency levels for checks, and dual gRPC and REST APIs for broad integration. Keto extends the Zanzibar model with edge enforcement of access policies, structured compliance auditing of permission decisions, and infrastr
Ory Keto is a dedicated authorization server that implements the Zanzibar model to decouple access logic from your application, providing fine-grained control, declarative policy definitions, and robust audit logging via standard APIs.
Permify is a policy-as-code authorization engine that provides a decoupled, API-driven service for fine-grained access control using a declarative schema language inspired by Google's Zanzibar.
Authentik is a centralized identity and access management platform designed to serve as a unified authentication authority. It enables enterprise single sign-on across diverse applications and services, providing a cloud-native identity provider that manages user sessions and security protocols from a single location. The platform distinguishes itself through a policy-driven flow engine and a visual orchestration interface. This allows administrators to design complex, custom authentication workflows by chaining modular verification stages and conditional logic. These workflows can be further
This is a comprehensive identity and access management platform focused on authentication and SSO, rather than a dedicated policy-as-code engine for decoupling fine-grained authorization logic from application code.
The Common Expression Language specification is a formal standard for a non-Turing-complete expression language designed for safe, portable, and fast logic evaluation. It serves as a cross-language logic standard and a declarative policy language, providing a consistent semantic framework for executing boolean expressions and data transformations across different programming environments. This specification acts as an embedded expression engine that allows applications to integrate portable logic for evaluating user-defined configurations. It is specifically designed to enable safe user-defin
This is a specification and library for an expression language used to build policy engines, rather than a standalone, API-driven authorization engine that provides the full suite of audit logging and decision-making infrastructure.
Kyverno is a Kubernetes policy engine and cloud native governance tool. It functions as a policy-as-code framework that validates, mutates, and generates resources to enforce security and governance standards within a cluster. The project distinguishes itself through a declarative policy model that utilizes native Kubernetes custom resource definitions, allowing policies to be managed as standard cluster objects without custom code. It provides specific security capabilities for container image verification and signature validation to ensure only trusted images are deployed. Its broader capa
Kyverno is a policy-as-code engine that enforces fine-grained governance and security standards within Kubernetes, though it is specifically tailored for cluster resource management rather than general-purpose application authorization.
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 robust authorization library that provides a declarative, model-based engine for enforcing fine-grained access control, effectively decoupling authorization logic from your application code.