# Attribute Hierarchy: A Simple Guide

In [Attribute-Based Access Control (ABAC)](https://servicechanger.gitbook.io/servicechanger.com/features/attribute-based-access-control), access is determined by key attributes rather than fixed roles. This ensures flexibility, scalability, and precision in managing permissions.

**To build a clean and maintainable ABAC model,** we organize attributes into three levels:

* Highest Level: Departments
* Middle Level: Locations
* Granular Level: Job Titles

***

## Structure

### **Highest Level: Departments**

> Access is grouped based on functional teams like Sales, HR, or IT.

Starting with departments ensures that users within the same function have access to shared tools and data. This approach:

* Simplifies management by setting broad permissions first.
* Covers most access needs at an organizational level.

***

### **Middle Level: Locations**

> Access is refined based on where people work.

Once department-based access is set, location-based adjustments help fine-tune permissions. This is useful for:

* Addressing regional compliance requirements.
* Providing access to location-specific tools or resources.

***

### **Granular Level: Job Titles**

> Access is fine-tuned based on a person’s specific function.

Job titles ensure precise access control by determining:

* Which additional permissions are needed for a specific role.
* What should be restricted to maintain security.

***

### **Why This Order?**

This structured approach ensures:\
✅ Broad access needs are covered first (Departments).\
✅ Regional variations are handled efficiently (Locations).\
✅ Fine-grained control is applied last (Job Titles).

By following this hierarchy, ABAC remains scalable, secure, and easy to manage, ensuring users receive only the access they need, nothing more, nothing less.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://servicechanger.gitbook.io/servicechanger.com/getting-started/attribute-hierarchy-a-simple-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
