In this text, Authzed is a schema language used to model applications with user-defined roles. The application is compared to an issue tracking tool, where users have different roles and capabilities such as creating issues, assigning issues, resolving issues, and commenting on issues. The Authzed schema language allows for the creation of custom roles and permissions, which can be integrated into existing applications. The text provides a step-by-step guide on how to model this application in Authzed's schema language, integrate it with an application, and direct its integration's reads and writes to either SpiceDB or Authzed's hosted service. The final capability that is not modeled is the role_manager capability, which will be used to determine who can make changes to roles. This capability allows for the creation of built-in roles that cannot be modified by users. To integrate with an application, the text provides pseudocode examples on how to bootstrap permissions when creating a new project, write relationships from issues and comments to projects, bind roles to capabilities, and protect these operations with proper permissions checks.