With the news that Aserto is shutting down its SaaS platform on May 31, 2025, many teams are now faced with an urgent and unsettling challenge: choosing a new authorization provider. If you’re one of them, you’re likely asking:
What’s a reliable alternative that won’t force me to rebuild everything from scratch—or worse, disappear next year?
These transitions can be tough. It’s a reminder that authorization isn’t just a feature—it’s infrastructure. And like any core infrastructure choice, you need something that’s dependable, well-supported, and designed to scale with your product.
That’s where Oso comes in.
We’ve helped teams migrate from other authorization solutions before and know where the common pain points are. In this post, we’ll walk through how Aserto compares to Oso, what makes Oso the best long-term Authorization as a Service platform, and offer practical tips to help your team modernize your authorization stack with confidence.
When choosing an authorization platform, you need more than a feature checklist. The best solutions deliver:
Imagine a SaaS platform with thousands of users and complex team hierarchies. If authorization checks are slow or inconsistent, user experience and security both suffer.
Aserto worked by centralizing authorization data in Postgres, syncing policy and directory data to edge nodes, and evaluating requests via a local BoltDB-based key-value store. This made it performant for reads, but brittle and limited when it came to:
Many teams also found themselves stuck between two models: either use Aserto’s graph-based directory, or write policies in OPA/Rego—but not both in a truly integrated way. This made certain use cases, like negation or cross-object filtering, difficult or outright impossible.
These are some conversations from their Community Slack:
Q: In Aserto, you can’t do “check” operations in a bulk request, right?
A: This is currently not possible, the OpenID AuthZen specification is trying to define one which we will adopt as soon as it is in DRAFT mode.
Q: Is there any way to get the audit logs to know who changed the objects/relationships of the directory?
A: Currently this is not built-in, we are considering this as a part of moving towards an event stream based model.
Key takeaways:
If you want to deepen your understanding on the technical comparison, read the comparison post: Aserto vs Oso
For teams considering Topaz, Aserto’s open source authorization engine, it’s worth noting that while the maintainers have committed to continued community support, the future of the project is less certain without a backing company. Open source can be a great option—but only if it’s actively maintained and supported. With Aserto winding down its SaaS platform, many teams are rightfully asking what long-term support, roadmap stability, and enterprise readiness will look like for Topaz going forward. And even if the project continues to receive strong community support, adopting it means taking on the full burden and administrative overhead of deploying, operating, and maintaining the service in a production-ready way—ensuring uptime, scaling, and performance falls entirely on your team. If your team needs a solution with guaranteed uptime, built-in testing, and commercial support you can count on, Oso offers a fully managed path forward.
Oso was built for teams who want to own their authorization logic without reinventing the wheel. We give developers a complete, production-ready authorization solution without forcing tradeoffs between policy logic, data modeling, or performance.
Here’s what sets Oso apart:
Oso can perform authorization checks directly within your application, so there’s no need to sync data to a remote service. This approach delivers:
Aserto:
Oso:
Need to authorize thousands of actions per second? Oso is architected for scale from day one.
With Oso’s Polar language, you can define rules like:
allow(user, "read", resource) if
has_role(user, "admin", resource);
This rule says: allow a user to read a resource if they have the admin role for that resource. You can extend this to support multi-tenancy, team hierarchies, or custom attributes with just a few lines.
Aserto splits the world between the policy layer (OPA) and the directory graph (data). This leads to limitations, like:
With Oso, your policy and data are unified—so the same logic used for authorize() also powers list filtering, tests, and audits.
You get consistency and confidence at every level of your system.
Oso runs anywhere: cloud, hybrid, or on-premises (coming soon). You can use Oso as a managed service or deploy it in your VPC, giving you maximum flexibility.
Aserto:
Oso:
You’ll be able to write and test policies confidently—and fast.
Oso includes built-in policy tests, so you can catch issues before they reach production. This is especially valuable for teams with complex, evolving permission requirements.
Aserto:
Oso:
With Oso, you don’t have to contort your model to fit the tool—we built it to fit your app.
You don’t have to start from scratch—Oso’s architecture makes it straightforward to migrate your:
Switching authorization providers can feel daunting, but with the right approach, you can minimize risk and downtime. Our team has helped many teams through this exact process, and we’re here to help you go live in weeks—not months. Here's a step-by-step migration plan:
Authorization is too important to leave to chance. The right solution should give you speed, flexibility, and confidence without locking you into a single deployment model or forcing you to sync sensitive data. Oso stands out by offering local, testable authorization with support for RBAC, ABAC, and ReBAC, all backed by a developer-friendly API and policy language.
If you’re considering a move from Aserto or another provider, Oso’s migration path is clear and well-supported. You can start small, test policies in isolation, and scale up as your needs grow.
Ready to modernize your authorization? Connect with a real team of engineers ready to support your migration.
You can also explore Oso’s documentation, try out the Polar language, and see how easy it is to build secure, scalable permission systems for your applications.