# Klor > Remote config, feature flags, and mobile update gating for React and React Native. Flags are edited in a dashboard, published as immutable JSON snapshots to the edge, and evaluated on-device, so reads are synchronous, work offline, and never send user context anywhere. Install `@klor/react`, create a client with a public API key, wrap the app in `KlorProvider`, and read values with `useFlag(key, fallback)`. Rules, rollouts, and update gating are configured in the dashboard, not in code; the app only reads the result. For the complete reference in a single request, fetch https://klor.dev/llms-full.txt ## Getting started - [Overview and quickstart](https://klor.dev/docs): what Klor is, how publishing works, and the two kinds of API key. - [Integrate with an agent](https://klor.dev/docs/agent): a paste-ready brief for a coding agent. - [React](https://klor.dev/docs/react): provider, hooks, client options, server rendering. - [React Native](https://klor.dev/docs/react-native): the two options RN needs, and offline behaviour. - [Server](https://klor.dev/docs/server): reading flags from Node, Bun, or a Worker with a private key. ## Concepts - [Flags and rules](https://klor.dev/docs/flags): typed values, ordered rules, attributes, percentage rollouts, sensitive flags. - [Update gating](https://klor.dev/docs/update-gating): minimum and latest versions per platform, blocked builds, version parsing. - [Publishing](https://klor.dev/docs/publishing): snapshots, rollback, and how quickly changes reach apps. ## Pricing - [Pricing](https://klor.dev/pricing): Free includes 1M config reads a month and one project; Pro ($25) 20M, Team ($99) 100M, then $2 per million reads. Seats are unlimited on every plan, update gating is on every plan, and going over never cuts an app off. ## Reference - [HTTP API](https://klor.dev/docs/http-api): the endpoints the SDK calls, for writing your own client. ## Guides - [Force update in React Native](https://klor.dev/guides/react-native-force-update): version comparison that does not break at 2.10, blocking one bad build, and a prompt people do not resent. - [Feature flags in Expo](https://klor.dev/guides/expo-feature-flags): AsyncStorage and AppState wiring, EAS build profiles per environment, and how flags relate to OTA updates. - [Migrating from Firebase Remote Config](https://klor.dev/guides/migrate-from-firebase-remote-config): exporting parameters, mapping types, running both for one release, and removing Firebase safely. ## Comparisons - [Which tool to pick](https://klor.dev/compare): the short version, including the cases where Klor is the wrong answer. - [Klor and Firebase Remote Config](https://klor.dev/compare/firebase-remote-config): where Firebase stops and where Klor is and is not a better fit. - [Klor and LaunchDarkly](https://klor.dev/compare/launchdarkly): what enterprise governance buys, and what a small mobile team pays for and does not use. - [Klor and Statsig](https://klor.dev/compare/statsig): why Klor does not do experimentation, and how to run one anyway. - [Klor and ConfigCat](https://klor.dev/compare/configcat): the nearest neighbour, and the narrow differences that matter.