Skip to content

Getting Started

Standalone vs. SaaS mode

This is one codebase that runs in one of two modes, chosen once during installation. The mode is stored in a single database row (platform_settings), not in a config file, so it's a data decision, not…

Last updated Aug 19, 2026 · 4 min read

This is one codebase that runs in one of two modes, chosen once during installation. The mode is stored in a single database row (platform_settings), not in a config file, so it's a data decision, not a code fork.

Standalone mode

You're running the app for your own business. There is exactly one tenant (one business, one set of users, one set of data). The landlord panel and public sign-up page don't exist as far as anyone can tell — they return a 404, not a login prompt, so a standalone install never even hints that a multi-tenant mode exists.

This is the right choice if you bought this to run your own CRM/ERP and have no intention of reselling access to it.

SaaS mode

You intend to resell subscriptions to your own customers, each getting their own isolated workspace (tenant). In this mode:

  • The landlord panel (/landlord/*) becomes reachable — a separate login, separate from any tenant's users, for you (the platform operator) to manage tenants and plans. See The landlord panel.
  • Public self-registration (/register-business) can let visitors create their own tenant without you doing anything manually — see below.
  • Every tenant is fully isolated from every other: a tenant's users, leads, invoices, stock, everything, is invisible to every other tenant. This isolation is enforced at the database query level on every tenant-owned table, and is covered by an automated test suite that fails the build if any table is ever exempted from it without a documented reason.

The user account you create in the installer's last step becomes both your first tenant's Owner and your first landlord login, using the same email and password — there's no separate "create your landlord account" step.

Public self-registration

SaaS mode has a second flag, independent of the mode itself: registration open/closed. A SaaS instance can stay in SaaS mode while keeping public sign-up closed — useful if you want to resell by invitation/manual onboarding only rather than letting anyone create a tenant.

  • registration_open = true (the default when you choose SaaS during install): anyone can visit /register-business, fill in a business name and their own admin details, and get a fully working tenant immediately, logged straight in. The tenant is seeded the same way as one created from the landlord panel or installer (currencies, roles, pipeline, tax rates, chart of accounts).
  • registration_open = false: that page 404s. You'd create tenants yourself from the landlord panel instead (/landlord/tenants/create).

Fortify's /register route is standalone-oriented (join/bootstrap the single tenant). In SaaS it redirects to /register-business when registration is open, and 404s when closed — so there is only one public SaaS signup path.

Changing the mode after install

There's currently no in-app settings page for this — the mode (and the registration-open flag) is set once during installation and stored in the single-row platform_settings table. If you need to change it afterward (e.g. you installed as Standalone but want to start reselling), update that row directly:

UPDATE platform_settings SET mode = 'saas', registration_open = 1 WHERE id = 1;

After changing mode, you'll still need a landlord account to log into the landlord panel — none exists yet if you installed as Standalone. Create one directly:

php artisan tinker --execute '\App\Domain\Tenancy\Models\LandlordUser::create(["name" => "Your Name", "email" => "you@example.com", "password" => "a-strong-password"]);'

Switching mode back to standalone doesn't delete any other tenants you may have created in the meantime — it just makes the landlord panel and registration page 404 again. If you have more than one tenant when you do this, only the mode toggle changes; nothing merges or deletes tenant data.

What's the same in both modes

Every module (CRM, Sales-to-Cash, Inventory, Accounting, HR), every role/permission, and the entire tenant-facing UI work identically regardless of mode. A tenant's Owner, Admin, and every other role never see anything different based on whether they're the only tenant on the install or one of thousands.

← All Coravo – AI CRM & ERP Software for Growing Businesses documentation

We use cookies to understand how visitors use this site. Cookie Policy