Organizations & Instance Management

One installation, many organizations, each fully isolated — and the one screen that manages all of them.

What Is an Organization?

An organization is the top-level tenant boundary. Every SmartTable, user, role, folder, and attribute belongs to exactly one organization, and normal application use has no cross-organization query path — a user in one org cannot see or reach another org's data, even by ID guessing, because every read/write is scoped by the org the requesting user belongs to.

A single PersivApps installation can host multiple organizations side by side. On this instance, for example: KP, SOLEX, Persivx, and Swastik each run as fully separate tenants on the same install.

Instance Management

Reached from the profile menu (top right) → Instance Management — visible only to the literal systemadmin account, not just anyone with a System Admin role. This is the one screen that sees across all organizations at once, rather than being scoped to a single org like everything else in the product.

Instance Management screen
SectionWhat it shows / does
LicenseExpiry date and max RAM usage allowed for this installation — enforced server-side on every backend startup, not just displayed here for information
Organizations tableEvery org on this install, with live counts: users, system admins, SmartTables created
+ New OrganizationCreates a new tenant — see below
Get DB DumpTriggers the encrypted, install-wide database backup — see Security & Compliance for the encryption details (AES-256 with RSA-wrapped key)

Creating a New Organization

New Organization modal
FieldDescription
Organization NameThe tenant's display name
Total License CountHow many user seats this org is allowed
SmartTable PermissionsOrg-wide default capability toggles — Create, Edit, View, Settings, Delete
⚠️ This only creates the shell Creating an organization here does not create an initial user, a folder, or any SmartTable access — those all need to be set up separately afterward (typically an initial systemadmin-equivalent user for that org, via User Management).

License Enforcement

The license itself is a signed file, not just a value in a database row — it's cryptographically verified (signature + product code + expiry) on backend startup and re-checked periodically while running, so a license can't be extended by editing a database row directly. Two limits are enforced: the expiry date and a maximum RAM ceiling for the whole installation, both visible (but not directly editable — that requires a new signed license file) from the Instance Management screen above.

SharePoint / Microsoft Graph Credentials, Per Organization

SmartTable schema (the SharePoint Excel sheets) is read via the Microsoft Graph API, which requires an Azure AD app registration — a Tenant ID, Client ID, and Client Secret. There's an installation-wide default set of credentials, but each organization can override all three with its own Azure AD app registration.

ℹ️ When you need this Use per-org credentials when an organization's SharePoint files live in a different Microsoft 365 tenant than the platform's default — e.g. onboarding a client whose SharePoint is in their own company's Microsoft tenant, not yours. Without an override, every organization on the install reads SharePoint through the same default app registration.

Contact your System Admin to have per-org Microsoft Graph credentials configured — this is a backend-level setting on the organization record, not something exposed in a self-service UI on this version.

Backups

Get DB Dump (Instance Management) triggers a full database backup for the installation: dumped with mydumper, compressed, then encrypted with AES-256 where the encryption key itself is RSA-wrapped — so the dump is only ever transmitted/stored in encrypted form, and decrypting it requires the corresponding private key, not just possession of the file. Delivered as a downloadable archive with no separate backup infrastructure to provision or maintain.