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
palkan avatar

palkan/action_policy

0
View on GitHub↗
1,557 stars·90 forks·Ruby·MIT·16 viewsactionpolicy.evilmartians.io↗

Action Policy

Action Policy is a Ruby authorization framework designed to manage user access and permissions by encapsulating security logic into dedicated policy classes. It provides a structured system for defining access rules that evaluate user actions against specific application resources, ensuring that security logic remains decoupled from the primary application code.

The framework distinguishes itself through its ability to handle complex authorization requirements across diverse interfaces, including web controllers and various API formats. It supports dynamic permission evaluation by utilizing a shared context object that incorporates user identity and request metadata. Furthermore, it includes built-in mechanisms for database record scoping, which automatically filters collections to ensure users only access data they are authorized to see.

To maintain application performance, the framework incorporates a caching layer that stores the results of expensive permission evaluations and handles automatic invalidation when underlying data changes. It also provides comprehensive observability tools, including execution tracing and debugging utilities, to help developers inspect and verify the logic behind specific access decisions.

The project includes command-line utilities for scaffolding policy structures and testing access rules against various conditions. It is designed for integration within Ruby on Rails applications, offering middleware to validate permissions during request handling and programmatic interfaces for manual authorization checks.

Features

  • Ruby on Rails Frameworks - Provides a structured authorization framework specifically designed for Ruby on Rails applications.
  • Authorization Scope Classes - Uses policy-defined scope classes to automatically filter database queries to records the current user is permitted to see.
  • Authorized Record Filtering - Filters database queries and collections automatically based on user permissions to ensure data security.
  • Access Policies - Encapsulates security logic into dedicated policy classes that evaluate user permissions against application resources.
  • Access Control - Enforces access control during request handling by automatically raising errors for unauthorized actions.
  • Policy-Based Access Control - Encapsulates complex permission logic into standalone classes that evaluate user actions against resources.
  • Ruby Authorization Frameworks - Provides a comprehensive library for defining and enforcing access control policies within Ruby applications.
  • Context-Aware Policy Engines - Injects runtime user identity and request metadata into authorization decisions for dynamic, context-aware rule evaluation.
  • Business Logic Encapsulations - Isolates access control logic into dedicated policy classes to keep application code maintainable and decoupled.
  • Authorization Result Caches - Optimizes application performance by caching the results of expensive permission checks.
  • Evaluation Result Caches - Caches expensive permission evaluations with automatic invalidation to improve application response times.
  • Action Integrity Validation - Ensures users can only perform authorized state changes on their own data by validating actions against records.
  • API Access Control - Enforces consistent security policies across diverse API formats like GraphQL and JSON API.
  • Authorization Middleware - Validates user permissions during request handling via middleware to enforce access control.
  • Custom Authorization Logic - Supports passing custom user or environment data into authorization checks for dynamic permission logic.
  • Object Action Authorization - Allows developers to manually verify if a user is permitted to perform a specific action on an object instance.
  • Fine-Grained Permission Checking - Provides high-performance evaluation of whether a user is authorized to perform specific actions on resources.
  • Policy Logic Testing - Provides utilities to verify policy rules against various conditions to ensure logical correctness.
  • Integration Adapters - Decouples authorization logic from the transport layer using architectural abstraction layers to support diverse interfaces.
  • Rule Evaluators - Offers debugging tools to inspect and trace the evaluation logic of authorization rules.
  • Authorization Execution Tracing - Captures and logs step-by-step execution paths of authorization rules to provide visibility into access decisions.

Star history

Star history chart for palkan/action_policyStar history chart for palkan/action_policy

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Action Policy

These projects share indexed features with Action Policy. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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

    Goaccess-controlauthorizationgo
    View on GitHub↗4,460
  • 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

    Goabacaccess-controlacl
    View on GitHub↗19,848
  • varvet/punditvarvet avatar

    varvet/pundit

    8,509View on GitHub↗

    Pundit is an authorization framework for Ruby applications that enforces permissions through plain Ruby policy objects. It maps controller actions to policy methods, automatically inferring which policy class and query method to call based on the action name, and raises a custom exception when access is denied. The framework distinguishes itself by using plain Ruby classes without external DSLs or configuration files, and by providing a development-time verification guard that raises an error if a controller action runs without an authorization call. It also supports namespace-based policy or

    Rubyruby
    View on GitHub↗8,509
  • elabs/punditelabs avatar

    elabs/pundit

    8,509View on GitHub↗

    Pundit is a Ruby authorization framework that implements policy-based access control. It maps domain models to dedicated logic classes that determine whether a user is permitted to perform specific actions on data objects. The framework utilizes plain Ruby objects to decouple authorization logic from the model. It includes mechanisms for data query scoping to filter record collections based on user permissions, as well as attribute-level permission control to restrict which specific model fields a user can modify. The system provides tools for authorization coverage verification to ensure se

    Ruby
    View on GitHub↗8,509
Compare all 30 related projects→

Frequently asked questions

What does palkan/action_policy do?

Action Policy is a Ruby authorization framework designed to manage user access and permissions by encapsulating security logic into dedicated policy classes. It provides a structured system for defining access rules that evaluate user actions against specific application resources, ensuring that security logic remains decoupled from the primary application code.

What are the main features of palkan/action_policy?

The main features of palkan/action_policy are: Ruby on Rails Frameworks, Authorization Scope Classes, Authorized Record Filtering, Access Policies, Access Control, Policy-Based Access Control, Ruby Authorization Frameworks, Context-Aware Policy Engines.

Which projects share features with palkan/action_policy?

Projects with overlapping indexed features include: cerbos/cerbos — Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing… casbin/casbin — Casbin is an authorization library that provides a model-based engine for enforcing access control across diverse… varvet/pundit — Pundit is an authorization framework for Ruby applications that enforces permissions through plain Ruby policy… elabs/pundit — Pundit is a Ruby authorization framework that implements policy-based access control. It maps domain models to… nathanl/authority — Authority is an authorization framework for Ruby on Rails applications that manages user permissions and access… rmosolgo/graphql-ruby — GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution…

Curated searches featuring Action Policy

Hand-picked collections where Action Policy appears.
  • Authorization patterns
  • Attribute-Based Access Control Libraries
  • Role-Based Access Control Libraries