Appearance
Custom Domains (White-Labeling the App)
A custom domain lets you host the entire app on a domain you own. Instead of pointing clients to dashboard.localvisibilitylab.io/storefront/your-slug, they see app.youragency.com everywhere — sign-in, storefront, customer portal, approval pages, the works. The platform's branding is replaced by yours.
Quick facts
| Where | Settings → Branding → White Label section (owner only, agency-partner orgs only) |
| Cost | Billed monthly per domain (added as a line item to your subscription) |
| Setup time | 10–30 minutes for DNS verification + SSL provisioning |
| What changes for users | The URL, the logo, the colors. App behavior is identical. |
What customers see
After setup:
- They visit
app.youragency.com(instead ofdashboard.localvisibilitylab.io). - The sign-in page shows your logo and colors.
- All emails the platform sends ("Your post is ready for approval") link to
app.youragency.com. - The browser tab shows your favicon and the page title format you set.
- The storefront homepage is
app.youragency.com/storefront/<your-slug>— or, if you set the apex as the storefront, justapp.youragency.com.
The agency-side dashboard is identical to the non-white-label version; just the URL and branding swap.
Setup walkthrough
Step 1 — Pick a domain
Most agencies use a subdomain like:
app.youragency.comclients.youragency.comportal.youragency.com
You can also use the apex (youragency.com) but only if you don't have a main site on it.
Step 2 — Add it in the platform
Settings → Branding → White Label section → Add Domain. Type the hostname (app.youragency.com). Click Add.
The domain enters the pending_dns state. The platform shows you the CNAME you need to add to your DNS.
Step 3 — Configure your DNS
In your DNS provider (Cloudflare, Route53, GoDaddy, etc.):
- Type: CNAME
- Name:
app(or whatever subdomain) - Value:
saas-target.simpleseo.biz(or whatever the platform shows you) - Proxy / orange-cloud (Cloudflare only): DNS-only / gray cloud is fine — Cloudflare custom hostnames handle SSL upstream.
- TTL: 5 minutes is fine while testing.
Save. DNS propagation takes 1–10 minutes typically; the platform polls every 10 minutes and updates the status.
Step 4 — Wait through the state transitions
The platform automatically advances the domain through six states:
pending_dns— waiting for your CNAME to propagate.dns_verified— CNAME found; provisioning Cloudflare custom hostname.ssl_pending— Cloudflare is issuing the SSL certificate.ssl_active— SSL cert issued; provisioning the auth satellite (so sign-in works on your domain).active— done. Domain is live.failed— something went wrong. The platform shows a clear error and a Retry button.
You can refresh the page; it auto-updates. From pending_dns to active typically takes 10–30 minutes.
Step 5 — Update your storefront URL
Once active, share app.youragency.com (instead of dashboard.localvisibilitylab.io/storefront/your-slug) with new prospects. Existing storefront links keep working — they redirect to the custom domain automatically.
Billing
- A line item is added to your platform subscription for each custom domain.
- Pro-rated for the partial month when you add or remove.
- Removing a domain immediately stops billing.
Removing a domain
Settings → Branding → White Label section → row → Remove.
- Cloudflare custom hostname is deleted.
- Clerk satellite domain is deleted.
- The domain stops resolving to your workspace immediately.
- Existing client bookmarks fall back to
dashboard.localvisibilitylab.io. - Billing line item is removed.
Limitations
- Email sender domain is separate. Custom-domain branding does not automatically change the From: email address for platform-sent emails. To send emails as
support@youragency.com, set up your sender identity in Settings → Email Sender Identity (each org can configure its own SPF / DKIM verified domain). - One custom domain per org for the auth surface. You can add multiple domains for redirects / vanity URLs, but only one is the primary white-label.
- Custom domains lock the org context. A user signing in at
app.youragency.comcannot switch to a different organization while on that domain. They'd need to go back todashboard.localvisibilitylab.io.
Troubleshooting
| Status / Symptom | What's happening |
|---|---|
Stuck in pending_dns > 1hr | CNAME not detected. Re-check the record value, lower TTL, try a DNS-propagation checker. |
ssl_pending > 1hr | Cloudflare issuance delay (rare). Click Retry. |
failed | Error message tells you what — usually a CNAME / proxy misconfiguration. |
| Custom domain loads but sign-in fails | Clerk satellite domain isn't ready. Look at the state — should be active, not ssl_active. |
| 302 redirect loop | Cloudflare proxy (orange cloud) is on with default settings. Switch the record to DNS-only. |
Next: The Service Marketplace