The entitlements reference covers the existing service (entitlements-migrate), the queryEntitlements API used by ~50 product consumers, and the GRANTED/HELD/NONE derivation model.

Smart Checkout gates entitlements on payment confirmation, not subscription creation. This is the key shift — today, entitlements are granted when the subscription is created (before payment). After live payment ships, entitlements are granted when payment succeeds.

Event-Derived Entitlements

Entitlements derived from domain events — payment.succeeded, dunning.consequence, usage.threshold — rather than Stripe subscription state.

Unified Derivation Model

Maps billing atoms (plan, add-on, usage tier) to product capabilities (features, quotas, rate limits). No unified model exists today.

Entitlements never initiate billing actions. They react to outcomes from every other domain and translate them into access decisions. Everything upstream getting cleaner makes downstream derivation more reliable. Entitlements improve automatically as other domains mature.