Kill fake-tenant defaults, render the actual org's branding only

Fixkamolos
Shipped
May 18, 2026 at 3:34 AM UTC
Author
Kamo
Commit
8e654e2

Removes the Apex Mortgage demo I should never have added and the Kamo "default" fallback I replaced it with. Both were just papering over a missing-tenant condition with invented data. - lib/org/demoOrg.ts deleted. - public/demo-lender/ deleted. - fetchOrganizationForRequest returns null when no tenant org owns the hostname. No more synthetic fallback. - TenantSimulator presets renamed to "Sample Tenant A/B/C…" so the preview tool doesn't pretend specific lender brands either. - TestModeBanner no longer references a demo-tenant state. The branding pipeline is the same as kamo-internal's: hostname → SecurityService /api/security/org/domain/{host} for the org record, hostname → theme.<domain>/public/<bucket>/ for the MinIO assets (logo, config.json, favicons). Whatever the tenant has provisioned is what the page renders. When MinIO has the tenant's logo at <bucket>/img/logo-full.svg it displays. When SecurityService has the tenant's NMLS/phone/email/ tagline/colours, those render. When nothing's configured for the host, the page falls through to the K-leaf Kamo defaults shipped in public/logo.svg + public/logo-full.svg, same as kamo-internal.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing