Enforcer

Permit.io alternatives

Permit.io wraps a policy engine in a UI and has recently put an MCP gateway on its homepage. People usually look elsewhere for one of three reasons: they want to self-host without the control plane, they do not want another service in the request path, or they do not want to sync their data into a permissions store.

The question that actually separates these

Where does the check run, and what do you have to keep in sync? Almost every difference that annoys you in month three comes from those two.

The options

OptionModelStrengthTrade-off
CerbosPolicy, YAMLSelf-host, stateless, three-command startList filtering is weak
OpenFGARelationshipOpen source, CNCFDual writes into a permissions store
SpiceDBRelationshipBattle-tested at scaleSame dual-write cost
Oso CloudPolicy, PolarGood docs and tourOpen-source library deprecated; cloud only
WorkOS FGARelationship plus rolesBundled with sign-inResources registered in their system
EnforcerPolicy over a resolved callerIdentity and authorization in one systemNo list filtering today

Where Enforcer fits

Most of the above are a decision layer: you hand them a subject id and they answer true or false, which means they need a copy of your data to answer at all. Enforcer already holds identity, so a rule reads a real user object and there is nothing to keep in step.

It also means a group can be earned rather than assigned. Pass an identity check and you land in a group, and that group is what the rule reads, so a denial can say what would make it an allow instead of returning false.

Last updated 2026-09-11. Enforcer is identity and authorization in one system, for applications and AI agents. Docs at docs.instruxi.dev.