Knowledge-based Access Control by IndyKite delivers fine-grained authorization based on the relationship between people, systems, and things. It unifies access management by centralizing authorization in the cloud for applications and APIs. It modernizes applications by moving from hard-coded and static to externalized and dynamic authorization. It utilizes authorization policies to derive fine-grained access decisions and enables zero trust by enforcing least privilege access at every step. It externalizes authorization decisions from APIs, enabling finer-grained access control for specific data streams. It leverages relationships between entities to build robust authorization policies and uses a dynamic policy engine to reduce overprovisioning and security risks. It designs authorization protocols for secure data subscriptions and enables new use cases, data authorization, and authorization for customer identity.