How Flagsmith Combines Feature Flags with Remote Config

Flagsmith treats every feature flag as a potential remote config value. A flag decides whether a feature is on; remote config decides what that feature does once it's on. Because both live in the same flag, you can change a button's color, swap checkout payment options, or adjust a numeric limit in real time without editing code or shipping a new build. This matters most when you want to test variations quickly or when a change would otherwise wait on app store approval.

The two mechanisms, side by side

Feature flag Remote config
Question it answers Is this feature enabled for this user? What value or appearance should this feature have?
Typical output On / off A string, number, boolean, or JSON value
Change requires a deploy? No No
Example Show the new chat widget Set the chat widget's theme to dark

A feature flag alone gives you a toggle. Remote config alone gives you a value. Flagsmith's point is that you don't have to choose — the same flag carries both.

How they work together in Flagsmith

According to Flagsmith's own description, all feature flags in Flagsmith are capable of being configured for remote config. That single design decision is what makes the combination useful:

  1. Wrap a section of code with a flag. You identify the feature you want to control.
  2. Toggle the flag to decide whether that code path runs for a given user, segment, or percentage.
  3. Attach a remote config value to the same flag to define what the feature looks like or how it behaves.
  4. Change the value from the dashboard — no code change, no deployment, no app store review.

The result is that a flag is no longer just a switch. It becomes a small, live configuration channel tied to a specific feature.

What you can actually change without deploying

Flagsmith's documentation gives concrete examples of remote config targets:

  • Checkout payment options — change which payment methods appear.
  • Button color — adjust visual styling per user or segment.
  • Feature behavior values — customize values for a feature so functional and visual changes reach users without new code.

The stated benefit is that remote config lets you "alter an application in real-time, without having to wait for a deployment or app store approval." For mobile apps in particular, this sidesteps the review cycle entirely for anything that doesn't require new native code.

Why combining them beats using them separately

If you only had feature flags, you could turn a feature on or off but not tune it. If you only had remote config, you could change values but not cleanly gate who sees a feature. Combining them lets you do things like:

  • Canary deployments — enable a feature for a small percentage of users, then adjust its configuration as you learn.
  • A/B and multivariate tests — use a percentage split across two or more variations for A/B/n experimentation, with the variation values delivered through remote config.
  • Segment-specific behavior — configure features for individual users, segments, or development environments, and give each group different values.

Flagsmith also notes you can send flag data to your analytics platform, so the same flag that controls a feature can feed experiment results.

A minimal example

The initialization pattern Flagsmith shows is straightforward — you set up the client with an environment ID, then read flags in your components:

import flagsmith from 'flagsmith';

flagsmith.init({
  environmentID: 'QjgYur4LQTwe5HpvbvhpzK',
});

const App = () => (
  <Layout
    darkMode={flagsmith.hasFeature("dark_mode")}
    designV2={flagsmith.hasFeature("design_v2")}
  >
    {flagsmith.hasFeature("chat") && <ChatWidget />}
  </Layout>
);

Here hasFeature answers the flag question. The remote config side would let you, for example, define the chat widget's theme or the layout's spacing as a value on the same flag — changeable later from the dashboard without touching this file.

When this combination is the right fit

Choose Flagsmith's flag-plus-remote-config model when you need to:

  • Ship and tune features without redeploying.
  • Run experiments where the variation matters, not just on/off.
  • Push changes to mobile apps that would otherwise wait on store approval.
  • Manage flags across web, mobile, and server-side applications from one place.

It's less about replacing your deployment pipeline and more about removing the small, frequent changes from it — the ones where a full release is overkill but a hardcoded value is too rigid.

flagsmith.com
Flagsmith makes it easy to create and manage feature flags. Roll out, segment, and optimise. Stay secure with on-premise and private cloud hosting.