Skip to main content
Version: Config V2

Main Concepts

Feature Flag or Setting

A Setting is an essential bit of ConfigCat. It can be of multiple types, such as an on/off switch (bool), number (int, double) or any text (string). You can use it to change your application's behavior remotely, without a new deployment.

A Feature Flag is a Setting of type Bool.

Anatomy of a Feature Flag or Setting

PropertiesDescription
NameA human readable name that differentiates the Setting on the ConfigCat Dashboard. e.g., My Cool Feature enabled.
KeyA variable name within your code. e.g., isCoolFeatureEnabled.
TypeType of information you'd like to keep in the Setting. e.g., On/Off Toggle, Text, Number
ValueThe actual value of your Setting. e.g., true, false. Can be different in each environment.

About Setting types

Setting KindSetting TypeDescription
On/Off ToggleBooleantrue/false, usually referenced as Feature Flag, Feature Toggle or Feature switch.
TextStringAny string, max. 100000 characters, can't be empty.
Whole NumberIntegerAny whole number within the range of Int32.
Decimal NumberDoubleAny decimal number within the range of double.

Free-form values vs predefined variations

ConfigCat supports two value-modes for feature flags:

  • Free-form values: Allows you to enter a feature flag's exact value each time you set it. Best for simple, one-off configurations or quick experiments.

    Clone feature flag

  • Predefined Variations: Allows you to define a set of reusable values upfront when creating a feature flag. These variations can then be selected from a dropdown when setting up flag rules. Choose this mode to ensure consistency across rules, prevent typos in complex values (like JSON configurations), and provide self-documenting configurations for your team.

    Clone feature flag

tip

Learn more about predefined variations, including when to use this value-mode, how to convert between the two value-modes, and best practices.

Config

A Config is a collection of Settings. Configs help you organize settings around topics, or around your software components. A Config is like an online version of a traditional config file.

Environment

An environment in ConfigCat represents an environment in your development lifecycle (like production, staging, development etc.). Different environments have the same settings but can have different values.

info

Each environment-config pair has its own SDK Key which must be used to initialize the ConfigCat SDK within your application.

Product

A collection of Configs, Environments and Team members. A Product typically represents your application (or your service) and the people working on it. It might be a good idea to invite others to your Product to collaborate.

Organization

An Organization represents a collection of preferences that are valid for all the Products and Members who belong to an Organization. Like billing information, authentication rules or data privacy preferences.