protobuf-rules-gen VS OPA (Open Policy Agent)

Compare protobuf-rules-gen vs OPA (Open Policy Agent) and see what are their differences.

protobuf-rules-gen

This is an experimental protoc plugin that generates Firebase Rules for Cloud Firestore based on Google's Protocol Buffer format. This allows you to easily validate your data in a platform independent manner. (by FirebaseExtended)
Our great sponsors
  • SonarCloud - Analyze your C and C++ projects with just one click.
  • Mergify - Tired of breaking your main and manually rebasing outdated pull requests?
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
protobuf-rules-gen OPA (Open Policy Agent)
2 82
194 8,468
0.0% 2.4%
0.0 9.2
about 2 years ago 6 days ago
C++ Go
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

protobuf-rules-gen

Posts with mentions or reviews of protobuf-rules-gen. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-10.
  • Supabase (YC S20) raises $80M Series B
    8 projects | news.ycombinator.com | 10 May 2022
    A long time ago, I was the PM on Firestore security rules, which was intended to solve both of those issues.

    https://github.com/FirebaseExtended/protobuf-rules-gen was the closest we got: declaring types as protobufs (because Google, of course) and then generating both security rules to guarantee validity as well as client types that would match. I wanted to add proto annotations to do additional validity (e.g. add a regex to validate the phone number string was correct, do length checks on strings, etc.).

    The short answer is that backend rules engines, either in their own DSL or bolted on to e.g. SQL, are pretty tough to get right, and have a super steep learning curve. IMO, AWS API Gateway with Lambda Authorizers get this most correct.

OPA (Open Policy Agent)

Posts with mentions or reviews of OPA (Open Policy Agent). We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-19.

What are some alternatives?

When comparing protobuf-rules-gen and OPA (Open Policy Agent) you can also consider the following projects:

casbin - An authorization library that supports access control models like ACL, RBAC, ABAC in Golang: https://discord.gg/S5UjpzGZjN

Keycloak - Open Source Identity and Access Management For Modern Applications and Services

Ory Keto - Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models.

cerbos - Cerbos is the open core, language-agnostic, scalable authorization solution that makes user permissions and authorization simple to implement and manage by writing context-aware access control policies for your application resources.

checkov - Prevent cloud misconfigurations and find vulnerabilities during build-time in infrastructure as code, container images and open source packages with Checkov by Bridgecrew.

oso - Oso is a batteries-included framework for building authorization in your application.

spicedb - Open Source, Google Zanzibar-inspired fine-grained permissions database

Vault - A tool for secrets management, encryption as a service, and privileged access management

Kyverno - Kubernetes Native Policy Management

Ory Kratos - Next-gen identity server (think Auth0, Okta, Firebase) with Ory-hardened authentication, PassKeys, MFA, FIDO2, TOTP, WebAuthn, profile management, identity schemas, social sign in, registration, account recovery, passwordless. Golang, headless, API-only - without templating or theming headaches. Available as a cloud service.

atlantis - Terraform Pull Request Automation

crossplane - Cloud Native Control Planes