Skip to content

Platform overview

The platform is everything shared across domains that isn’t itself a sellable vertical: identity, notifications, files, integration credentials, licensing, analytics, and the LLM plumbing under Copilot. The one rule that makes this useful: the platform never imports a domain. A domain can depend on the platform; the platform never depends back — so any combination of domains boots against the same platform underneath, and removing a domain never breaks it.

JWT sessions, social login (Google, Facebook, LinkedIn), email and phone verification, MFA, device/session tracking, and the role/permission system behind Users & roles. Five role presets (owner, manager, orders staff, inventory staff, custom) sit over a permission catalog you can tailor — enforced server-side, not just hidden from the menu.

Email, SMS, push and in-app notifications with store templates and event-driven triggers (order placed, tracking link, back in stock). Listens for domain events (a commerce restock, a CRM lead) without importing the domain that raised them.

  • File manager — the shared upload/asset store every domain’s media picker (product images, blog featured images, CMS assets) draws from.
  • Media Studio (apps.platform.media) — image/video processing behind the scenes.

AppIntegration is the one place third-party credentials live — encrypted at rest (Fernet), keyed by provider, never echoed back by any API response. See Provider packages for how a domain resolves which provider is active and pulls its credentials from here.

Deployments check in to Nudova’s license control-plane and cache a signed verdict; if the server is unreachable, a deployment keeps running on its last good verdict for 72 hours. See License server status. The license also names which capability packages, capabilities, optional platform groups and finer-grained feature packs (e.g. Blog’s AI-read capability, each Marketing channel) are actually entitled, not just installed — see Entitlements.

Plans, subscriptions, invoices and a card ledger — the optional group behind running Nudova as a multi-tenant SaaS rather than a single self-hosted store.

  • Analytics — a subject-agnostic event store ((subject_type, subject_id) pairs, never a foreign key into a domain) that both Commerce (conversion KPIs, attach rate, one-time-offer stats) and CMS (homepage click-through) read from, without either domain importing the other.
  • Brand — the store’s brand profile and voice signals, used to keep AI-assisted content (Copilot, Blog Autopilot) on-brand.
  • LLM — the provider-routing layer (OpenAI, Anthropic, Google) behind every AI feature, with per-role model selection and usage recording.
  • Embeddings — shared vector storage so Blog and Copilot can each do similarity search without importing one another.

Every meaningful write is attributable to a user, an action and a timestamp — the data behind the admin’s staff activity timeline and GDPR self-serve data export.

Related: Domains overview · Provider packages · Users & roles · Deployment shape.