Product-Level Modules
Last reviewed: 2026-06-30
Product-level modules are cross-platform. They should not depend on a single platform implementation unless a specific operation requires app-scoped data.
Customers
Section titled “Customers”Customers represent product users. They can have multiple identities and operational records. Current APIs are app-scoped, but the product model should preserve a path to cross-platform customer views.
Identity
Section titled “Identity”Identity links anonymous installs, Firebase identifiers, app account tokens and explicit provider identities. Better Auth is a dependency in the repo, but the current implemented customer identity stack is the custom Product OS identity/auth experience code, not a completed Better Auth product surface.
Entitlements
Section titled “Entitlements”Entitlements are the durable access layer across purchase providers. Store-specific claims should normalize into entitlement state instead of becoming separate product truths.
Analytics
Section titled “Analytics”Usage and analytics events are normalized with tenant/app/customer context. The queue/R2 path is intended to feed ClickHouse analytics.
Support
Section titled “Support”Tickets can originate from admin-created records, runtime submissions or inbound email. Replies and status updates stay tenant/app scoped.