Skip to content
Ritesh FirodiyaGet in touch

Work / Imposter / Wiki / Entities

pro-purchase

Entitycanonicalverified 2026-10-02

PURCHASE.PRO

Summary

What is sold. One non-consumable, bought once, on both stores.

Canonical values

Key Value Source
Product ID imposter_pro_lifetime PRO_PRODUCT_ID in src/data/categories.ts
Entitlement pro PRO_ENTITLEMENT in src/data/categories.ts
Kind non-consumable App Store Connect, Play Console
Price USD 4.99 on every store RevenueCat, 2026-09-20
RevenueCat offering default RevenueCat
RevenueCat package $rc_lifetime — "All 10 packs, one payment" RevenueCat
Packs in the app 10 src/data/packs/
Free packs 3 — Everyday, Food & Drink, Animals src/data/categories.ts
Packs the purchase unlocks the other 7, and every pack added later —
The player's own word pack free, not in the registry CUSTOM_WORDS_ARE_FREE

Word and hint counts are not here. src/data/categories.ts owns them, the UI and the wireframes read the real number, and registry.test.ts holds every pair to one hand-written hint. A count copied into a wiki page is a count that is wrong the day a pack grows.

Rules

  • There is no subscription, no consumable and no second product.
  • Nothing may be added that undercuts "No subscription. No ads. Ever." — see CLAUDE.md, "The one thing this app is for".
  • Restore Purchases is on the paywall header and in Settings.

Where it is set up

Account ids, console links and where the keys live are in .context/ops/setup.md. What each store holds today is in .context/ops/release.yml. The App Store review screenshot is described in .context/listing/ios/iap.md.

Related

Sources

  • src/data/categories.ts
  • The root STATUS.md of 2026-09-20, split on 2026-10-02 (git show main:STATUS.md)

Every project of mine is written down like this.

Read the résumé