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

# Feature Flags

Several new features usually start out as `experimental` features before moving to `general availability`. These features are disabled by default, and needs to be specifically enabled to use. They may be enabled by default in future versions.

Experimental features aren't stable yet and their behaviour and API are subject to change in future releases, so enable them with care. All changes are communicated via our [Changelog](/changelog/releases).

Convoy supports feature flags at two levels:

* **System-wide**: Controlled via CLI flags or environment variables, affecting the entire system
* **Organization-level**: Controlled per organization, either system-controlled or user-controlled via the UI

## Feature Flag Types

### System-wide Features

These features are controlled system-wide using the `--enable-feature-flag` flag or `CONVOY_ENABLE_FEATURE_FLAG` environment variable with a comma separated list of features.

### Organization-specific Features

These features can be enabled per organization:

* **System-controlled**: Managed by the system based on license or configuration
* **User-controlled**: Can be toggled by users in the organization settings UI

## Features

### Prometheus Metrics

`--enable-feature-flag=prometheus` <br />
This is Convoy native metrics that enable you observe the internal state of the data plane from the ingestion pipeline to the delivery pipeline. See the [docs](/product-manual/metrics).

### Read Replicas

`--enable-feature-flag=read-replicas` <br />
Distribute database read queries across multiple replicas to improve scalability and performance while keeping write operations on the primary database. See the [docs](/product-manual/read-replicas).

### Circuit Breaker

`--enable-feature-flag=circuit-breaker` <br />
Identify and automatically disable bad endpoints. See the [docs](/product-manual/endpoints#circuit-breaker).

### Early Adopter Features

Early Adopter features are experimental features that can be enabled individually in the organization settings UI. These features are available before general availability and may change before being released to all users.

**Available Early Adopter Features:**

* **mTLS**: Mutual TLS support for secure endpoint communication
* **OAuth Token Exchange**: OAuth token exchange functionality for endpoint authentication
* **Basic authentication (endpoints)**: HTTP Basic auth on outbound webhook deliveries to destination URLs (feature key `basic-auth-endpoint`; requires the matching license entitlement)
* **Endpoint URL Templates**: Template tokens in an endpoint's path/query for one-to-many routing (Premium)
* **Credential Encryption**: Encryption at rest for sensitive credentials

**How it works:**

* Navigate to Organization Settings → Early Adopter Features
* You'll see a list of all available early adopter features
* Toggle each feature individually to enable or disable it
* Each feature can be controlled independently

### mTLS

Mutual TLS (mTLS) support for secure endpoint communication.

### OAuth Token Exchange

OAuth token exchange functionality for endpoint authentication.

### Basic authentication (endpoints)

HTTP Basic authentication for **destination** endpoints. When enabled for the organisation and licensed, you can configure `authentication.type: basic_auth` on an endpoint so deliveries include `Authorization: Basic`.

### Endpoint URL Templates

Template tokens (single-brace `{token}`) in an endpoint's path or query, so one endpoint definition routes events to many concrete destinations. Requires a Premium license. See [Endpoint URL templates](/product-manual/endpoints#endpoint-url-templates).

### Credential Encryption

Encryption at rest for sensitive credentials.
