The whole point of PLATFORMA is that it's invisible. Your customers don't know we exist. They see your company name, your logo, your domain, your support email. The portal looks and feels like something you built in-house with a team of 20 engineers.
Making this work required solving three problems: visual customization, domain isolation, and data separation.
Theme Engine
Every client gets a theme configuration that controls: primary and secondary colors, logo (light and dark variants), favicon, font selection from our supported set, and custom CSS overrides for clients who need pixel-perfect control.
The theme is applied at build time for static assets and at runtime for dynamic content. We use CSS custom properties extensively — changing the primary color means updating one variable, and it cascades through every button, link, and accent in the portal.
Custom Domains
Each client's portal runs on their own domain: cloud.yourcompany.com. We handle SSL certificate provisioning via Let's Encrypt, DNS verification, and automatic renewal. The client points a CNAME record to our edge, and we route requests to the correct tenant based on the hostname.
This is more complex than it sounds. Each custom domain needs its own SSL certificate, its own CORS configuration, and its own cookie domain. We use a reverse proxy layer that inspects the Host header, looks up the tenant, and injects the correct theme configuration before rendering.
Data Isolation
The portal only shows data belonging to the authenticated tenant. This is enforced at the API layer — every request is scoped to the tenant ID extracted from the session. There is no query parameter or URL path that can access another tenant's data. The isolation is architectural, not just a filter.
We run regular penetration tests specifically targeting tenant isolation. Can tenant A see tenant B's VMs? Can they access each other's invoices? Can they manipulate URLs to leak data? So far, zero cross-tenant data exposure in 18 months of production.
What Clients Customize Most
In practice, clients care most about three things: the login page (it's the first thing their customers see), the order flow (they want to match their existing sales process), and the invoice template (finance teams are very particular about how invoices look).
We provide sensible defaults for everything and let clients override what matters to them. Most clients spend about 2 hours customizing their portal during onboarding. The result is a professional, branded experience that would take months to build from scratch.