Branding & Customization
The MATIH platform provides comprehensive white-label branding capabilities, allowing tenants to customize the visual identity of their workspace. This includes theme colors, logos, custom CSS, login pages, email templates, and custom domains with automated SSL provisioning.
Branding Components
| Component | Controller | Base Path |
|---|---|---|
| Theme & Visual Identity | TenantBrandingController | /api/v1/tenants/{tenantId}/branding |
| Custom Domains | CustomDomainController | /api/v1/tenants/{tenantId}/domains |
Theme Configuration
The TenantBranding entity stores all visual customization for a tenant:
- Colors: Primary, secondary, accent, background, text, sidebar, header colors (light and dark mode)
- Logo: URL and dimensions for both light and dark mode logos, plus favicon
- Typography: Font family, heading font, font size scale
- Custom CSS: Arbitrary CSS overrides (with enable/disable toggle)
- Login Page: Background image, welcome text, footer links
- Email Branding: Header/footer colors, logo, template overrides
Custom Domains
Tenants can configure custom domains with full DNS verification and automated SSL:
1. Add domain --> PENDING_VERIFICATION
2. Configure DNS records (TXT verification)
3. Verify domain --> DNS_VERIFIED
4. Confirm DNS --> DNS_CONFIRMED
5. Provision SSL --> ACTIVE (with auto-renewing certificate)Theme Presets
The platform includes built-in theme presets that tenants can apply as starting points:
# List available presets
curl http://localhost:8082/api/v1/tenants/{tenantId}/branding/presets \
-H "Authorization: Bearer $TOKEN"
# Apply a preset
curl -X POST http://localhost:8082/api/v1/tenants/{tenantId}/branding/presets/corporate-blue \
-H "Authorization: Bearer $TOKEN"Source Files
| File | Path |
|---|---|
| Branding Controller | control-plane/tenant-service/src/main/java/com/matih/tenant/controller/TenantBrandingController.java |
| Domain Controller | control-plane/tenant-service/src/main/java/com/matih/tenant/controller/CustomDomainController.java |
| Branding Service | control-plane/tenant-service/src/main/java/com/matih/tenant/service/TenantBrandingService.java |
| Domain Service | control-plane/tenant-service/src/main/java/com/matih/tenant/service/CustomDomainService.java |
| Branding Entity | control-plane/tenant-service/src/main/java/com/matih/tenant/entity/TenantBranding.java |
| Domain Entity | control-plane/tenant-service/src/main/java/com/matih/tenant/entity/CustomDomain.java |