composable data

Where the
decisions live.

A key collection is a named body of configuration that the running system reads. Between them, six collections describe who may do what, what runs when, what is recorded, how the product behaves, which privileges apply, and whatever else this particular product needs.

ONE
primitive underneath all six collections

A namespaced key, a value, and the scope it applies to. Adding a key is authoring data, never editing a parser.

the six

One shape, six uses.

A switch is a key whose value is on or off. A limit is a key whose value is a quantity, usually over a timeframe. Because the shape is uniform, the code that reads any collection is the same code.

permissionkeys

what an identity is entitled to

Answers one question: is this identity entitled to this, and how much of it? Divides into switches, on or off for a tier, and limits, carrying a quantity and usually a timeframe. Nothing about tiers is compiled into the client — it asks whether it holds a key and renders accordingly, so a tier can be added, renamed or repriced without touching it.

lifecyclekeys

what runs, and how often

Declares the system's recurring work: which task runs, on what interval, and in what order relative to the others. Clients and backbone functions both consult them, so a background refresh can be retimed, suspended or introduced without a release. Ordering constraints that matter are declared rather than implied.

transactionkeys

what is recorded

The measurement vocabulary. Each names an action worth recording — a navigation, a setting change, a feature use, a purchase — and fixes the grain at which it is written. Because instrumentation is declared rather than coded, a feature that becomes interesting can be measured without being modified, and a noisy one quieted the same way.

behaviorkeys

how the product acts

The product's manners: defaults, thresholds, orderings, copy, and the small presentation decisions that otherwise accumulate into a codebase full of conditionals. This is the collection that grows fastest in practice, because it absorbs exactly the changes that used to require a release for a one-line difference.

privilegekeys

what an operator may do

Permissionkeys pointed inward. They scope what an operator may see and do in administrative tooling — which records, which actions, which destructive operations. Keeping them in their own collection means the internal surface can be tightened with no risk of disturbing customer entitlements.

bespoke keys

the acknowledged escape hatch

Every product has configuration the five standard collections do not describe, and forcing it into one of them distorts both. A bespoke collection is namespaced to the product, read by the same machinery, and expected either to stay bespoke or to graduate into a standard collection once the pattern proves general.

Distributed together on a short refresh cycle, so a change made once is in force everywhere.