Feature flags
Feature flags turn storefront and admin features on or off per store, as
data — no rebuild. They live in the tenant config as a JSON map,
feature_flags, that the storefront and admin read at runtime.
Where they’re set
Section titled “Where they’re set”Deep-ops console → Core → Tenant configs → Feature flags (the feature_flags
field). It’s a plain JSON object of flag: true|false:
{ "wishlist": true, "collections": true, "reviews": false, "loyalty": false}The storefront and admin read known keys; a flag that’s absent falls back to its safe built-in default. So you only need to list the flags you’re changing.
The flags
Section titled “The flags”These are the flags the storefront and admin recognise. The default column is the safe posture a store ships with (also what the reference BellTex seed sets).
| Flag | Purpose | Default |
|---|---|---|
wishlist |
Customer wishlists / save-for-later | on |
collections |
Curated product collections on the storefront | on |
completeTheLook |
“Complete the look” cross-sell on product pages | on |
oto |
One-time-offer / one-tap-order upsell flow | on |
reviews |
Product reviews & ratings | off |
loyalty |
Loyalty / points program | off |
How a flag reaches the apps
Section titled “How a flag reaches the apps”Flags are published in the public runtime config the frontends read
(GET /api/v1/config/ → features), so a change takes effect when the frontends
refresh (~5 minutes) or immediately after
docker compose restart storefront admin. No image rebuild —
see Store settings & branding.