> ## Documentation Index
> Fetch the complete documentation index at: https://openfga.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Modeling Guides

> Guides, concepts and examples that help you define an authorization model.

This section has guides, concepts and examples that help you define an authorization model.

You can also check out the [Modeling Guide](https://www.youtube.com/watch?v=5Lwy9aHXXHE\&list=PLUR5l-oTFZqWaDdhEOVt_IfPOIbKo1Ypt) on YouTube or the [Samples Repository](https://github.com/openfga/sample-stores).

<Note>
  **When to use**

  The content in this section is useful:

  * If you are starting with OpenFGA and want to learn how to represent your organization's/system's authorization needs.
  * If you are working on iterating on an authorization model you previously defined.
</Note>

<CardGroup>
  <Card title="Getting Started" href="/docs/modeling/getting-started">
    How to create an authorization model for your system starting from the requirements.
  </Card>

  <Card title="Direct Access" href="/docs/modeling/direct-access">
    Learn the basics of modeling authorization and granting access to users.
  </Card>

  <Card title="User Groups" href="/docs/modeling/user-groups">
    Learn to model user group membership, and to grant access to all members of a group.
  </Card>

  <Card title="Roles and Permissions" href="/docs/modeling/roles-and-permissions">
    Learn to model roles for users at the object level and model permissions for those roles.
  </Card>

  <Card title="Parent-Child objects" href="/docs/modeling/parent-child">
    Learn to model access based on parent-child relationships, e.g.: folders and documents.
  </Card>

  <Card title="Block Lists" href="/docs/modeling/blocklists">
    Learn to model denying access if users are part of list of blocked users.
  </Card>

  <Card title="Public Access" href="/docs/modeling/public-access">
    Learn to model giving everyone specific access to an object, e.g.: everyone can read.
  </Card>

  <Card title="Multiple Restrictions" href="/docs/modeling/multiple-restrictions">
    Learn to model requiring multiple privileges before granting access.
  </Card>

  <Card title="Custom Roles" href="/docs/modeling/custom-roles">
    Learn to model custom roles that are created by users.
  </Card>

  <Card title="Conditions" href="/docs/modeling/conditions">
    Learn to model requiring dynamic attributes.
  </Card>

  <Card title="Contextual and Time-Based Authorization" href="/docs/modeling/contextual-time-based-authorization">
    Learn to model and authorize when IP Address, time, and other dynamic and contextual restrictions are involved.
  </Card>

  <Card title="Authorization Through Organization Context" href="/docs/modeling/organization-context-authorization">
    Learn to model and authorize when a user belongs to multiple organizations.
  </Card>

  <Card title="Building Blocks" href="/docs/modeling/building-blocks">
    Learn the underlying concepts/building blocks that can be used to build any model.
  </Card>

  <Card title="Advanced Use-Cases" href="/docs/modeling/advanced">
    Explore advanced use cases and patterns for authorization modeling with OpenFGA.
  </Card>

  <Card title="Migrating" href="/docs/modeling/migrating">
    Learn to migrate relations and models in a production environment.
  </Card>
</CardGroup>
