permitio/opal

Policy and data administration, distribution, and real-time updates on top of Policy Agents (OPA, Cedar, ...)

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 12th, 2026
Created on February 14th, 2021
Open Issues & Pull Requests: 66 (+0)
GitHub issues: Enabled
Number of forks: 295
Total Stargazers: 5,505 (+0)
Total Subscribers: 28 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 20.6 hours
Mean response time: 140.7 days
90th percentile: 370.2 days
Tracked items: 79

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 96% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed. Three people close 85% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 26
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 663 days
Stale 30+ days: 20
Stale 90+ days: 18

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (33)
  • enhancement (6)
  • 💎 Bounty (5)
  • hacktoberfest (4)
  • documentation (3)
  • good first issue (3)
  • 💰 Rewarded (3)
  • help wanted (2)

Most active issues this week

Detailed Description

OPAL is an administration layer for policy engines such as Open Policy Agent and AWS Cedar that detects changes to policy and policy data in real-time and pushes live updates to deployed agents.

OPAL solves the problem of keeping authorization data synchronized across distributed policy engines as application state changes. It monitors policy and data sources—including APIs, databases, git repositories, S3, and third-party services—and automatically propagates updates to all connected agents. The tool uses a server-client architecture where the OPAL server detects changes and pushes them via WebSocket to OPAL clients running alongside policy engines, ensuring services stay synchronized with the authorization data they need.

Teams should adopt OPAL when running multiple policy engines in microservice or cloud-native environments where authorization data changes frequently and must be reflected immediately across services. It works well for fine-grained authorization implementations, Google-Zanzibar-style permission models, and hybrid architectures with centralized policy but decentralized data sources. The tool is policy-engine agnostic, supporting OPA, Cedar, and other compatible engines, making it suitable for organizations that want to avoid vendor lock-in while maintaining real-time policy synchronization.

The project maintains active test coverage and publishes both server and client packages to package repositories. Development activity shows consistent engagement with the codebase through regular updates and community contributions.