Skip to content

Architecture

You don't need to be a developer to run the platform, but understanding how it keeps tenants apart makes everything else — plans, custom domains, the cross-tenant views — make sense. This page explains the model in plain terms.

What you'll learn

  • How one installation serves many tenants
  • How each tenant's data stays private
  • How the super admin sees across all tenants

One platform, many tenants

There is a single Krayin installation. Every business on it is a tenant (internally, a "company"), and every tenant shares that one installation — you don't run a separate copy of Krayin per customer.

What makes each tenant feel like they have their own CRM is two things: a web address of their own, and strict data separation.

Addresses: subdomains and custom domains

Each tenant is reached at their own subdomainacme.yourplatform.com, northwind.yourplatform.com, and so on. The subdomain is the tenant's username, chosen when they register. The platform reads the address on every request and serves that tenant's CRM.

A tenant can also point their own domain at the platform — crm.acmeconsulting.com instead of acme.yourplatform.com. That's covered on Custom Domains.

TIP

This is why usernames must be unique and URL-safe: the username is the address. Two tenants can't share one, just as two websites can't share a domain.

Data separation: how tenants stay private

All tenants' data lives in one shared database, but each record is stamped with the tenant it belongs to. When someone is signed in to a tenant's CRM, the platform automatically limits every query to that tenant's own records — a tenant simply cannot see, or reach, another tenant's leads, contacts or quotes. The separation is enforced for them at the data layer, so there's nothing a tenant can do to step outside their own CRM.

A handful of genuinely shared reference tables — the list of countries and states, and the directory of tenants itself — sit outside this scoping, because they're common to everyone.

Another way to separate tenants

This is the single-database edition, where separation is enforced in software. Krayin also offers a multi-database edition that gives each tenant a database of its own — see Multi-Database for how the two compare.

The super admin sees everything

You, signed in to the super-admin panel, are the exception. The per-tenant limit doesn't apply to you: that's precisely why you can see all tenants on the dashboard, and browse Leads and Quotes from every tenant in one list.

So there are two vantage points, by design:

A tenant's adminThe super admin
Signs in attenant.yourplatform.com/admin/loginyourplatform.com/super/login
SeesOnly their own CRMEvery tenant
ManagesTheir leads, quotes, contacts, teamTenants, plans, subscriptions, invoices

Where to go next