# Setting up Feature Flags with Remix.js and Supabase

> The Makerkit feature flagging system allows you to control the visibility of certain features in your application. This is useful for testing new features, or for rolling out features to a subset of your users.

*Canonical: https://makerkit.dev/docs/remix-supabase/configuration/feature-flags*

---

Makerkit uses feature flags to let you control the visibility of certain features in your application. We use a feature flag when we think a feature may not be 100% ready or when it's too opinionated and we want to give you the option to turn it off.

NB: In following releases, some flags may be removed and the feature will be enabled by default. Other flags may be removed and the feature will be removed as well.

## How it works

By default, Makerkit uses the following feature flags, defined in the `src/configurations.ts.ts` file:

```ts
{
  enableThemeSwitcher: true,
  enableAccountDeletion: false,
  enableOrganizationDeletion: false,
}
```

### Enable Theme Switcher

The theme switcher allows users to switch between light and dark mode. It's enabled by default, but you can disable it by setting the `enableThemeSwitcher` flag to `false`.

### Enable Account Deletion

The account deletion feature allows users to delete their account.

It's disabled by default, but you can enable it by setting the `enableAccountDeletion` flag to `true` or setting the environment variable `ENABLE_ACCOUNT_DELETION` to `true`.

```
ENABLE_ACCOUNT_DELETION=true
```

### Enable Organization Deletion

The organization deletion feature allows users to delete their organization.

It's disabled by default, but you can enable it by setting the `enableOrganizationDeletion` flag to `true` or setting the environment variable `ENABLE_ORGANIZATION_DELETION` to `true`.

```
ENABLE_ORGANIZATION_DELETION=true
```
