Overview
Data permissioning in Upsolve AI ensures that each end user only sees the data that’s relevant and authorized for them. This is essential for multi-tenant applications where you need to provide secure, isolated data access across different customers, organizations, or user groups.Core Concepts
Multi-Tenancy
Upsolve AI supports multi-tenancy out of the box, allowing you to serve multiple customers or organizations from a single deployment while ensuring complete data isolation between them.Tenants
A Tenant represents a distinct group of end users that share the same data access permissions and filters. In practice, tenants typically correspond to:- Organizations or Companies: Each customer organization gets their own tenant
- User Groups: Different departments within the same company
- Geographic Regions: Regional data access requirements
- Permission Levels: Admin vs. standard user access
How Data Permissioning Works
1. Tenant Registration
When users authenticate in your application, you register them as tenants with Upsolve using the register-tenant endpoint. This process:- Associates users with their tenant identity
- Defines what data they can access via prefilters
- Issues a secure JWT for dashboard access
2. Prefilters and Data Isolation
Prefilters are automatically applied filters that restrict data access based on tenant properties. For example:- Users from “acme-corp” only see their company’s data
- Regional restrictions are enforced
- Access levels control data sensitivity
3. Dashboard-Level Security
Once registered, tenants access dashboards through secure URLs that:- Validate their JWT token
- Apply tenant-specific prefilters
- Render data relevant to their permissions
Key Benefits
Security & Compliance
Security & Compliance
- Data Isolation: Complete separation between tenant data
- Access Control: Granular permissions based on user roles
- Audit Trail: Track who accessed what data and when
- Compliance: Meet SOC 2, GDPR, and industry-specific requirements
Scalability
Scalability
- Multi-Tenant Architecture: Serve thousands of customers from one deployment
- Performance: Efficient filtering at the database level
- Resource Optimization: Shared infrastructure with isolated data
Flexibility
Flexibility
- Dynamic Permissions: Change user access without rebuilding dashboards
- Multiple Data Sources: Apply tenancy across different databases
- Custom Logic: Implement complex permission rules via prefilters
Developer Experience
Developer Experience
- Simple Integration: One-time setup with your authentication system
- Automatic Application: Filters applied transparently
- Consistent API: Same patterns across all embedded dashboards
Implementation Flow
To implement data permissioning in your embedded BI setup:- Set up Tenancy Management - Understand tenant concepts and configuration
- Configure Tenant Properties - Define the data fields for filtering
- Backend Setup - Implement tenant registration in your auth flow
- Frontend Integration - Embed dashboards with tenant context
Best Practices
Tenant Design
- Keep it Simple: Start with basic company/user ID filtering
- Plan for Growth: Design tenant structure that scales with your business
- Performance: Use indexed columns for prefilter fields
Security
- Validate Everything: Never trust client-side tenant information
- Regular Audits: Review tenant access patterns periodically
- Principle of Least Privilege: Give users minimum necessary access
Development
- Test Thoroughly: Verify data isolation between tenants
- Monitor Performance: Track query performance with tenant filters
- Document Decisions: Keep clear records of permission rules