---
title: "Feature Manger"
description: "Use the feature manager to control which wallet API features are enabled at service startup. This reduces complexity and the risk of misconfigurations."
stack: "Community Stack (open source) — version 0.21.0"
stack_version: "0.21.0"
stack_comparison: https://docs.walt.id/community-vs-enterprise.md
canonical_url: https://docs.walt.id/community-stack/wallet/configurations/feature-manager
generated: 2026-07-20
---
# Feature Manger

Use the feature manager to control which wallet API features are enabled at service startup.
This reduces complexity and the risk of misconfigurations.

## Feature Types

The feature manager offers two types **Base** and **Optional**.

### Base Features

Base features are generally always enabled and do not require additional configuration in most cases. They provide
critical functionalities expected to be available by default.

### Optional Features

Optional features can either be enabled or disabled based on requirements.

1. **Enabled by Default**: These features do not need additional configuration to be useful. E.g. Health Checks operate
   without any need for specific configs.
2. **Disabled by Default**: These features require specific configuration to function. E.g. the Entra Integration needs
   access credentials and API URLs.

**Note:**

Each feature may have zero, one, or multiple configurations associated with it.

## How the Feature Manager Works

The Feature Manager ensures efficient and error-free initiation of services through the following steps:

1. **Initialization with Feature Catalogs**: Services are passed one or more Feature Catalogs when initialized.
2. **Determination of Active Features**: The initializer identifies explicitly enabled or disabled features and
   determines the default states of optional features.
3. **Loading Configurations**: Configurations for base features and explicitly enabled optional features are loaded,
   including default-enabled optional features.

**This process results in:**

- Loading only necessary configurations, reducing mental complexity and avoiding unused features.
- Minimizing required configuration through defaults, easing the setup process.
- Preventing invalid configurations from reaching production by validating during initialization.

## Feature Configuration

Configure features by updating the `_features.conf` file as
explained [here](https://docs.walt.id/community-stack/wallet/configurations/config-files/features.md). A list of available features can be found
here.
