Skip to content

Business product domain

When to update: Business app scaffolding, tenant rules, invoicing, or org membership changes.

The business product line covers organization operations: employees, scheduling, invoicing, and (later) accounting via TigerBeetle. It runs on the business isolation plane — separate Worker, D1, R2, KV, and auth from personal.

  • Personal vehicles, journal, or personal finance
  • Shared auth with personal
  • Direct TigerBeetle wire protocol from Workers (use ledger-bridge in phase 3)
  • Marketing site content or public customer docs
AreaPathStatus
Web SPAapps/business-web/Base scaffold
API Workerapps/business-api/Base scaffold (GET /health)
Binding manifestapps/business-api/bindings.manifest.jsonD1 / KV / R2 names for provisioner
Binding provisionerpackages/cloudflare-provision/Auto-creates remote bindings on deploy
Migrationsapps/business-api/db/migrations/Initial schema (employees)
Shared UI tokenspackages/ui/App shell, nav, core components

Business D1 (business-db): organizations, members, roles, employees, schedules, invoices, customers. PDFs and exports in R2 (business-assets).

Every business row includes org_id for future per-customer isolation and Workers for Platforms.

  1. Never read or write personal D1, R2, KV, or auth secrets
  2. Every query filters by org_id (and role where applicable)
  3. Do not invent accounting/ledger behavior without ADR and bridge service
  4. Audit-sensitive changes (invoices, schedules) must be traceable