Data and engineering teams use dynamic configuration management (which changes application behavior without recompiling, redeploying, or redistributing code) for many use cases, including incremental rollout and experimentation. In this post, Andy Maule presents Uber’s dynamic configuration management system, Flipr – including its UI, backend API, gateway, host-agents, and client libraries. Unlike other configuration systems, Flipr has multiple values per key so it can represent more complex configuration use cases that depend on runtime information. Maule describes Flipr in the context of a feature flagging use case, where a new feature is rolled out to an expanding subset of users based on their city. He also discusses the features and processes that ensure that Flipr changes are safe, reliable, compliant, and observable.