In the realm of authorization systems, two primary approaches emerge: policy-based and relationship-based. Policy-based authorization determines access privileges dynamically based on policies and rules, whereas relationship-based systems focus on the relationships between users, resources, and other entities. While policy-based systems offer fine-grained control over access decisions, they can become cumbersome as the number of policies grows. Relationship-based systems, on the other hand, are hyper performant because data is stored in an easy-to-query manner, making them suitable for large-scale systems with complex relationships between users and resources. However, both approaches have their pros and cons, and combining them can address a wider range of use cases while scaling better across diverse environments.