type: decision
status: active
timestamp: 2026-06-20
tags: [subscription, billing, firebase, entitlement]

ONE subscription unlocks every site and every extension

Single Razorpay sub in Firestore unlocks all paid features

ONE subscription unlocks every site and every extension

Decision

A single subscription per user — paid through Razorpay, stored at users/{uid}/subscription in Firestore — unlocks paid features across every site AND every extension in the family. There are no per-site or per-extension subscriptions.

Why

Per-product subscriptions multiply checkout friction and confuse users who can’t tell where the family ends. A single subscription amortises the billing infra (one webhook, one entitlement doc, one churn metric) and turns every new site or extension into a free multiplier of the subscription’s perceived value. This applies the package-isolation rule at the entitlement level: every consumer reads the same Firestore doc.

Implications

Cross-refs


Edit on GitHub · Back to index