Canonical Terms
Last reviewed: 2026-06-30
These names are used consistently across the backend, contracts, dashboard and docs.
| Term | Meaning | Current code anchors |
|---|---|---|
| Tenant | The account boundary that owns products, platform apps, provider credentials, customers, billing catalog and operational data. | TenantSchema, /v1/tenants |
| Product | The parent business entity, such as Scanner Ninja or Start Solids. A product can have multiple platform implementations. | Product OS navigation and tenant/app/product routes |
| Platform App | A concrete implementation of a product on one platform. The current contract has an iOS app model and backend support for additional billing platforms. | IosAppSchema, /v1/tenants/{tenantId}/apps |
| Platform Workspace | The admin workspace for platform-specific settings, runtime configuration, provider integrations and experiments. | dashboard platform filter, app-scoped API routes |
| Customer | A product user scoped to a tenant and app, with identities, purchases, entitlements, usage and support records. | CustomerSchema, customer API routes |
| Identity | The system that links anonymous installs, Firebase identities, app account tokens and provider identities to customers. | identity-auth.ts, usage-analytics.ts |
| Entitlement | A durable right granted to a customer by a purchase, manual source or imported provider state. | EntitlementSchema, entitlement validation routes |
| Store | An external commerce provider such as App Store, Play Store, Stripe, Paddle or manual billing. | billing provider schemas |
| Store Product | A provider-facing product identifier such as an App Store product id, Google product id, Stripe price or Paddle item. | ProductSchema, BillingProviderProductSchema |
| Offering | A sellable grouping of store products for presentation or decisioning. | OfferingSchema |
| Package | A runtime-renderable experience package containing template, localization, slots, compliance and analytics metadata. | ExperiencePackage |
| Paywall | A monetization experience rendered by the runtime, usually backed by store products and entitlements. | ExperienceType, /v1/paywall-entry |
| Placement | A named decision point where an experience can be shown. | PlacementSchema, placements routes |
| Experience | A versioned renderable unit such as a paywall, onboarding, upsell, winback or survey paywall. | ExperienceSchema |
| Entry Flow | A sequence that resolves first and optional second offers for a runtime surface. | EntryFlowSchema |
| Experiment | A traffic split assigning customers or sessions to experience variants. | ExperimentSchema |
| Runtime | The app-facing Worker surface for paywall entry, identity, entitlements, permissions, reviews, feedback and analytics ingestion. | createWorker("runtime") |
| Admin API | The authenticated control plane API for tenants, apps, catalog, experiences, support, settings and operations. | enterprise-admin-api.ts |
| Ingestion | The webhook/queue-oriented Worker surface for provider callbacks and analytics batches. | createWorker("ingestion") |
| Analytics Event | A normalized event written or queued with tenant, app, customer, device, context and revenue fields. | AnalyticsQueueMessage, AnalyticsEventInputSchema |
| Support Ticket | A customer support thread created manually, by runtime API or inbound email. | TicketSchema, tickets.ts |
Naming Rule
Section titled “Naming Rule”Use Product for the business entity and Platform App for an implementation. Do not use App when the concept is cross-platform product-level ownership.