# Projects & Environments

Projects and environments help you organize feature flags and control their behavior across different deployment stages.

## Projects

A project is a logical container for feature flags. Most teams create one project per product or application.

### Creating a Project

1. Go to **Feature Entitlements > Projects**.
2. Click **Create Project**.
3. Enter a name and optional description.
4. Click **Create**.

When you create a project, AccessIQ automatically creates two default environments: **Development** and **Production**.

### Managing Projects

* **Rename**: Click the project name to edit it.
* **Archive**: Archived projects and their flags become read-only. No flag evaluations are affected until you delete the project.
* **Delete**: Permanently removes the project and all its flags. This action cannot be undone.

## Environments

Environments represent deployment stages (e.g., Development, Staging, Production). Each flag can have a different value in each environment.

### Creating an Environment

1. Open a project and go to the **Environments** tab.
2. Click **Add Environment**.
3. Enter a name (e.g., `Staging`) and choose a color for visual identification.
4. Click **Create**.

### Environment Settings

| Setting          | Description                                                                           |
| ---------------- | ------------------------------------------------------------------------------------- |
| Name             | Display name for the environment                                                      |
| Key              | Auto-generated identifier used in the SDK (e.g., `staging`)                           |
| Color            | Visual label in the dashboard                                                         |
| Require approval | If enabled, flag changes in this environment must be approved before they take effect |

### Recommended Setup

| Environment | Purpose                                                        |
| ----------- | -------------------------------------------------------------- |
| Development | For local and dev testing. Flags are typically enabled freely. |
| Staging     | For QA and pre-production validation.                          |
| Production  | Live environment. Use approvals and careful rollouts.          |

## SDK Keys

Each environment has its own **SDK key**, which your application uses to connect to AccessIQ and fetch flag values.

1. Open the environment settings.
2. Copy the **SDK Key**.
3. Use this key when initializing the AccessIQ SDK in your application.

> **Important:** SDK keys are environment-specific. Make sure you use the correct key for each deployment stage.


---

# 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://accessiq.gitbook.io/accessiq-docs/feature-entitlements/projects-and-environments.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.
