Tenant Isolation
Every tenant in its own context.
Roots HQ is designed so that each business operates in a fully scoped environment — separate data, separate files, separate security policies, and separate reporting. Platform administration does not share the tenant login path.
Design intent
The descriptions below reflect how the system is designed and built. They are not a claim of independent certification or a guarantee of any specific compliance posture.
Data isolation
One tenant's data does not touch another's.
Records — contacts, orders, products, campaigns, and reports — are associated with a tenant identifier at creation. Queries that would cross tenant boundaries are not permitted by the data access layer.
- All records associated with a tenant identifier
- Data access layer enforces tenant scope on queries
- No shared tables that cross tenant boundaries without filtering
- File storage is scoped per tenant
Security policy isolation
Each tenant controls its own security posture.
GeoIP rules, IP allowlists/blocklists, brute-force thresholds, MFA requirements, and session timeouts are configured per tenant and stored per tenant. One tenant's security settings are invisible to another.
- GeoIP, IP rules, and brute-force settings per tenant
- MFA and session policy per tenant
- Settings stored in tenant-scoped configuration
- No tenant can read or affect another's policy
Host resolution
Unknown hosts are rejected at the edge.
Incoming requests are resolved to a tenant by hostname. If a hostname cannot be matched to a valid tenant, the request is rejected before reaching any application logic. This prevents host-header attacks and accidental data exposure.
- Every request resolved to a tenant by hostname
- Unresolvable hostnames return a rejection
- Prevents host-header probing
- No default fallback to a shared tenant context
Platform administration
Platform admin is a separate context from tenants.
The platform master-admin — used for provisioning tenants, system-level configuration, and cross-tenant oversight — operates on a different authentication path. Tenant admins cannot elevate to platform-admin, and platform-admin actions do not run in a tenant context.
- Platform-admin has a separate login path
- Tenant admins cannot escalate to platform-admin
- Platform-admin actions logged separately
- No route from tenant context to platform-admin
See how Roots HQ fits your business.
A guided walkthrough of the platform, mapped to how you sell.
