Skip to main contentOverview
Tenancy management ensures each user only sees their relevant data through configurable filters. A tenant represents a group of users sharing the same data access permissions.
Tenants can be registered via the Backend Setup endpoint or created manually through the interface.
Filtering Types
Schema-Level Filtering
Isolates tenants to separate database schemas/databases.
- When to use: Complete data separation, compliance requirements, performance isolation
- Benefits: Maximum security, database-level isolation
- Example:
customer_schema_1, tenant_db_123
Column Pre-Filtering
Filters data using column values within shared schemas.
- When to use: Shared database with tenant identifiers, flexible multi-column filtering
- Benefits: Granular control, multiple filter combinations
- Example:
customer_id = 'user_123' AND region = 'us-east'
Creating Tenants
Navigate to Home → Deploy → Registered Tenants → Create tenant
Required Fields
Tenant Display Name
- Human-readable identifier
- Example:
Customer ABC Corp
Filtering (Choose one or both)
- Schema Pre-filter: Database/schema name for schema-level filtering
- Column Pre-filters: Column name + value pairs for row-level filtering
- Multiple filters supported (AND logic)
- Required if no schema pre-filter specified
Optional Configuration
You can register a tenant by following the Backend Setup instructions.
Tenant Editing Permissions
- Add/Remove/Create/Edit Charts
- Add Filters
- AI Insights
Custom Metadata
- Key-value pairs for additional tenant information
- Example:
billing_tier: premium, region: us-east
If you have completed the Backend Setup, you can view the dashboard as one of your customers.
Validation Rules
- Tenant name required
- Either schema OR Column Pre-Filtering must be configured
- Empty filter names/keys not allowed
- Warning: No filtering = admin access to all data
Preview Mode
Test tenant configurations by previewing dashboards as specific tenants.
Sample Dataset Examples
Column Pre-Filtering:
- Name:
Customer-1
- Column Pre-Filter:
CustomerID = User_1
Schema Filtering:
- Name:
Schema-Customer
- Schema:
customer_schema_1
Best Practices
- Index Column Pre-Filter columns for performance
- Grant minimal permissions required
- Validate all tenant configurations to prevent admin access
- Schema filtering generally performs better than complex Column Pre-Filtering
- Regular audits of tenant permissions and access