# Flag

### Definition

A **flag** is an entity in Reflag that manages rollout, access, configuration, adoption tracking, and feedback for a change in your product.

Flags can be organized into hierarchies (having other flags as parent) and grouped into [views](/product-handbook/concepts/feature-view.md), for easy reporting.

### Flag key

Each flag has a unique key and basic details such as name, description, adoption rules, and feedback configuration.

{% hint style="warning" %}
Flag keys are unique across your [app](/product-handbook/concepts/app.md). They cannot be edited after the flag is created. The flag key is also used for tracking flag adoption and collecting feedback.
{% endhint %}

The following entities are associated with a flag through its key:

* [Track event](/product-handbook/concepts/event.md),
* [Flag events](/product-handbook/concepts/feature-events.md),
* [Feedback](/product-handbook/concepts/feedback.md).

### Access

Each flag in Reflag comes with a set of access [targeting rules](/product-handbook/concepts/targeting-rules.md) that are evaluated against the user, company, and other context from your application. Access is re-evaluated whenever the rules or the context change. Reflag SDKs handle evaluation, caching, and refreshing automatically.

Flag access can also be used within Reflag itself as a [filter](/product-handbook/concepts/filter.md#flag-access-filter) consumed by other entities.

### Metrics

Flag metrics are values calculated for each company that uses the flag. These metrics include `Average feedback score`, `First used`, `Last used`, and more.

Flag metrics are used across the Reflag UI and can also serve as values for [filters](/product-handbook/concepts/filter.md#company-flag-metrics) consumed by other entities.

### Next steps

* Learn about [views](/product-handbook/concepts/feature-view.md), [track](/product-handbook/concepts/event.md) and [events](/product-handbook/concepts/feature-events.md),
* Learn how to [create your first flag](/welcome/readme.md) within Reflag UI.


---

# 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://docs.reflag.com/product-handbook/concepts/feature.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.
