MATIH Platform is in active MVP development. Documentation reflects current implementation status.
7. Tenant Lifecycle
Branding & Customization
Overview

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

ComponentControllerBase Path
Theme & Visual IdentityTenantBrandingController/api/v1/tenants/{tenantId}/branding
Custom DomainsCustomDomainController/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

FilePath
Branding Controllercontrol-plane/tenant-service/src/main/java/com/matih/tenant/controller/TenantBrandingController.java
Domain Controllercontrol-plane/tenant-service/src/main/java/com/matih/tenant/controller/CustomDomainController.java
Branding Servicecontrol-plane/tenant-service/src/main/java/com/matih/tenant/service/TenantBrandingService.java
Domain Servicecontrol-plane/tenant-service/src/main/java/com/matih/tenant/service/CustomDomainService.java
Branding Entitycontrol-plane/tenant-service/src/main/java/com/matih/tenant/entity/TenantBranding.java
Domain Entitycontrol-plane/tenant-service/src/main/java/com/matih/tenant/entity/CustomDomain.java