Every RevenueCat integration shares the same quiet liability: the string keys. Your entitlements, offerings, and packages live in the RevenueCat dashboard, and your Kotlin code reaches for them with raw strings like entitlements["premium_access"]. The compiler cannot verify those strings, the IDE cannot autocomplete them, and a single typo ships as a