>

Download the Google Zanzibar Annotated Paper with foreword by Kelsey Hightower

[Get Your Copy]
Use Case

Replacing Legacy Authorization

Stop maintaining authorization code and start building features.

Your team built authorization in-house years ago. It worked then. Now you're hitting limits: performance problems at scale, features that take weeks to ship, bugs that expose data. Migrating feels risky, but staying put is costing you. Here's how teams make the switch.

Signs your authorization system is holding you back

Your legacy authorization system worked at 10,000 users but breaks at 100,000. Every new feature requires weeks of authorization work. Here are the warning signs:

Performance degrades as you grow. Permission checks slow down. Cron jobs fall behind. Users notice.

Every feature requires permission work. New role? New resource type? Each one means weeks of authorization code, testing, and debugging.

Authorization logic is everywhere. Scattered across services, duplicated in queries, hardcoded in application code.

You're afraid to change it. The person who built it left. The code is fragile. Features get delayed or descoped.

The result: engineering time wasted on maintaining infrastructure instead of building features. Deals lost because enterprise permissions aren't ready. Security incidents from authorization bugs.

How teams migrate to AuthZed

1. Model your existing permissions

Translate your current roles, resources, and relationships into SpiceDB schema. The Playground lets you test before committing. Most teams find their model actually gets simpler.

2. Run in parallel

Write permissions to both systems. Compare results. AuthZed's consistency guarantees mean you can trust the answers. Discrepancies usually reveal bugs in the old system.

3. Shift reads gradually

Route a percentage of permission checks to AuthZed. Monitor latency and correctness. Increase the percentage as confidence grows.

4. Retire the old system

Once all reads go through AuthZed, stop writing to the old system. Remove the legacy code. Celebrate.

What changes after migration

Features ship faster

New permission types require schema changes, not code changes. Your whole roadmap can now become essentially different types of permissions features. That's all possible now.

Performance stops being a concern

No more performance tuning, query optimization, or caching workarounds. Authorization just works.

The team can focus

No more on-call for authorization infrastructure. No more debugging sync jobs. Engineers build product features instead of maintaining permission systems.

You're ready for what's next

Need to add team-based access? Sharing? Time-limited permissions? Customer-managed roles? The schema supports it. No re-architecture required.

Common questions

Ready to modernize your authorization infrastructure?

Talk to our team about migrating from your legacy system to AuthZed.