Skip to Content
DocsCloud OSOrbit Pro

Orbit Pro

Orbit Pro is the paid tier for the Quazzar Orbit productivity suite (Docs, Sheets, Slides, Notes, and the Memory MCP sync layer). The free Community tier is fully usable for single-user work; Orbit Pro unlocks collaboration, advanced export, pivot tables, cross-node memory sync, and the full formula / chart / Slides-theme libraries.

Tier matrix

FeatureCommunityProBusinessEnterprise
Docs / Sheets / Slides / Notes editorsYYYY
Memory MCP (all read + write tools)YYYY
Semantic / hybrid search (Ollama-backed)YYYY
Basic Sheets charts (bar + line)YYYY
Sheets formulas 1-20YYYY
Markdown / JSON exportYYYY
Share links3 activeunlimitedunlimitedunlimited
Real-time collaboration (CRDT WebSocket)gatedYYY
Notes mind-map + filter toolbargatedYYY
Full formula library (21-80)gatedYYY
Pie / area / scatter chartsgatedYYY
Pivot tablesgatedYYY
Version history24 h90 d180 d365 d
Binary export (DOCX / PDF / PPTX / XLSX)gatedYYY
Slides themes + 7-layout gallerygatedYYY
Cross-node Memory MCP syncgatedYYY
Priority MCP rate limit30 / min120 / min600 / minunlimited

Memory MCP stays free. The entire tool surface (12 tools, 4 resources, 3 prompts) is free on every plan — including write, update, delete, and link. Semantic search via local Ollama is free. Only cross-node sync — replicating memories across multiple Cloud OS nodes through the Control Panel — requires Orbit Pro.

How gated features behave

Every gated capability is enforced server-side in the node’s license.Gate. When a Community-plan caller triggers a gated path the server returns HTTP 402 Payment Required with a canonical JSON body:

{ "error": "upgrade_required", "feature": "orbit_pivot", "current_plan": "community", "required_plan": "pro", "message": "Pivot tables require Orbit Pro.", "upgrade_url": "/api/billing/upgrade" }

The web client catches the 402 via isUpgradeError() and renders either an inline <UpgradePrompt> or opens a modal <OrbitUpgradeDialog> so you can upgrade without losing the edit. Nothing silently fails.

Feature keys

The server-side Gate uses stable feature keys so callers can map errors to upgrade CTAs:

Feature keyWhere it is enforced
orbit_collabDocs / Sheets / Slides CRDT WebSocket upgrade
orbit_graphNotes mind-map view (UI + server)
orbit_full_formulasSheets save with formulas 21-80
orbit_chartsSheets save with pie / area / scatter charts
orbit_pivotSheets save with a pivot table
orbit_historyVersion-history query beyond 24 hours
orbit_advanced_exportDOCX / PDF / PPTX / XLSX export
orbit_memory_syncCross-node Memory MCP sync enable / resync
orbit_unlimited_sharesShare-link creation past the 3-link Community cap
orbit_slides_themesSlides custom theme save and the 7-layout gallery

Every deny path calls Gate.LogDeny(feature) which emits a structured zerolog event (event=feature_blocked feature=<name> plan=<plan>). Operators can tail the node logs to see real-time upgrade demand with no external telemetry pipe.

Upgrade flow

  1. User clicks a gated control (for example Insert pivot).
  2. <GatedButton> opens <OrbitUpgradeDialog> with a 4-tier plan comparison.
  3. User picks a plan. The dialog POSTs /api/billing/upgrade, which proxies through the Control Panel to Stripe Checkout.
  4. Stripe redirects back to the returnTo URL with a session id.
  5. The CC agent picks up the new plan on the next heartbeat. The node’s license.Gate is wired to the agent’s plan accessor, so the feature unlocks on the next request — no restart required.

See Billing & Licensing for subscription mechanics, the Stripe Customer Portal flow, and invoice handling.

Subscription management

From a connected node

Settings -> Billing -> Subscription shows:

  • The current plan with a highlighted row in the 4-tier comparison.
  • An Upgrade button that opens Stripe Checkout.
  • A Customer Portal button for already-paid plans (update card, cancel, download invoices).

The tab is available both on nodes connected to a Quazzar-hosted Control Panel and standalone nodes that wire into a self-hosted CP.

From the Control Panel

Organisation admins can bulk-change plans for any node in the fleet from Control Panel -> Billing. Every change writes back to the node via mTLS on the next heartbeat.

API surface

  • GET /api/license/orbit-features — projection of the current plan’s feature gate map. Used by the web client to render gated controls before the user clicks them.
  • POST /api/billing/upgrade — starts a Stripe Checkout session. Returns { "checkout_url": "https://checkout.stripe.com/..." }. See Cloud OS API.

Community plan

The Community plan is fully usable and deliberately not time-limited:

  • Full Docs / Sheets / Slides / Notes editing for a single user.
  • The complete Memory MCP tool surface — read, write, update, delete, link.
  • Semantic search via local Ollama.
  • 3 active share links.

If you never hit a gated control, you will never see an upgrade dialog. The paid tier exists to unlock multi-user and high-end export use cases, not to paywall day-to-day productivity.