White-labelling Apache Superset means embedding its dashboards in your SaaS without the Superset brand being visible. It's a prerequisite for B2B publishers wanting a coherent product experience. This guide details technical options in 2026.
1. Three white-labelling levels
| Level | Effort | Result |
|---|---|---|
| Logo + colors | A few hours | Minimal branding |
| Custom CSS theme | 1-3 days | Visual identity |
| Embedded SDK + theme | 1-2 weeks | Invisible Superset |
If you want turnkey white-label, TVL Managed Superset offers a white-label option on Pro+ instances.
2. Level 1 — Logo and colors
In superset_config.py:
APP_NAME = "MyCompany Analytics"
APP_ICON = "/static/assets/images/my-logo.png"
APP_ICON_WIDTH = 100
LOGO_TARGET_PATH = "/dashboard/list/"
LOGO_TOOLTIP = "MyCompany Analytics"
FAVICONS = [{"href": "/static/assets/images/my-favicon.ico"}]
Customize the main colors:
THEME_OVERRIDES = {
"colors": {
"primary": {"base": "#FF6600"},
"success": {"base": "#34D399"},
"warning": {"base": "#FBBF24"},
"error": {"base": "#EF4444"},
},
"typography": {
"families": {"sansSerif": "'Inter', sans-serif"},
},
}
3. Level 2 — Custom CSS theme
Override Superset CSS via a custom file mounted in the image:
# Dockerfile
FROM apache/superset:5.0.0
COPY ./custom-theme.css /app/superset/static/assets/custom-theme.css
And inject it in HTML via HTML_STRING_INJECTION:
HTML_STRING_INJECTION = '''
<link rel="stylesheet" href="/static/assets/custom-theme.css">
<style>
.ant-layout-header { background-color: #1a1a1a; }
.header { font-family: 'Inter', sans-serif; }
</style>
'''
4. Level 3 — Embedded SDK with theme
The embedded SDK allows hiding all Superset chrome and styling the iframe:
embedDashboard({
id: dashboardUuid,
supersetDomain: "https://bi.example.com",
mountPoint: ref.current,
fetchGuestToken,
dashboardUiConfig: {
hideTitle: true,
hideTab: true,
hideChartControls: true,
filters: { visible: false, expanded: false },
},
});
This configuration is applied by default on TVL Managed Superset, which follows community best practices.
5. Custom domain
For complete white-label, the Superset instance must be accessible via your domain:
analytics.mycompany.com(custom subdomain);- Configure DNS CNAME to the Superset instance;
- Let's Encrypt TLS certificate;
- Align CORS and CSP accordingly.
6. Localization
Superset supports 20+ languages. For an international SaaS, configure:
BABEL_DEFAULT_LOCALE = "fr"
LANGUAGES = {
"en": {"flag": "us", "name": "English"},
"fr": {"flag": "fr", "name": "Français"},
"es": {"flag": "es", "name": "Español"},
}
7. White-label email reports
Scheduled reports carry Superset identity by default. Customize:
SMTP_MAIL_FROM = "reports@mycompany.com";- Custom HTML email template in
EMAIL_REPORTS_SUBJECT_PREFIX; - Logo in email header;
- Optional or removed "powered by" link.
8. Legal aspects
Apache Superset is under Apache 2.0 license. You can white-label without constraint. Mention of Apache Software Foundation copyright recommended in legal pages for transparency, but not mandatory in the UI.
9. Common pitfalls
- Theme broken at each Superset update (internal CSS changes) → prefer the embedded SDK;
- Cross-domain cookies badly configured;
- No custom favicon: the browser tab keeps the Superset logo;
- Email sender not aligned with domain: spam risk.
10. Conclusion
White-labelling Apache Superset is entirely possible and commonly done by B2B SaaS publishers. The level of effort depends on the desired result: a few hours for minimal branding, a few weeks for total invisible integration. The embedded SDK is the sustainable path for serious SaaS.
Want the benefits of Apache Superset without the friction of installation and maintenance? Deploy your instance in 3 clicks with TVL Managed Superset, hosted in Europe (OVHcloud, Roubaix, France), white-label option available.
For more: embedded dashboards, iframe integration, public dashboards.