This meant you could roll features out to:
- Specific user IDs
- Every user ID in a specific group
- Every object owned by a specific user ID (feature flags might apply to nested objects in the system)
- Requests from IP addresses in certain countries
- Requests served by specific website TLDs
- Users who are paid members of a specific plan
- etc etc etc
It was an enormously complicated system, that had evolved over 5-10 years.
Not saying that level of complexity is recommended, but that's what we had.
Looks like I gave a talk about this back in 2014: https://speakerdeck.com/simon/feature-flags