Multi-brand workspace

One account. Many brands. Same architecture for one or thirty.

Every operational entity in m18t is brand-scoped. The brand-switcher in the sidebar re-shards the entire workspace. Encrypted per-brand secret vault. Per-brand integrations × environments. Same product whether you're a solo founder with three side projects or an agency running thirty client brands.

Multi-brand switcher interface
The problem this solves

Most tools assume you run one thing.

Most SaaS is designed for the single-brand customer. The moment you run two brands — a main product and a side project, an agency and its own brand, two client portfolios — the tool asks you to either sign up twice (separate accounts, separate billing, separate vocabulary) or upgrade to an "agency tier" that unlocks basic multi-brand support.

m18t is built the other way. Every operational entity has a brand column from the schema up. The brand-switcher in the sidebar is the same UI for a founder with two side projects and an agency with thirty clients. The architecture doesn't change.

Multi-brand is the unit, not the upgrade.

What the brand-switcher re-shards

One switch. Everything updates.

Content table (all content types)
Asset library
Channels (FB / IG / CMS)
Integrations × environments
Encrypted secret vault
SEO indices (per content type)
Custom content types
AI prompt library
Canvas sessions and assets
News sources and feed items
Email repository
Analytics event registry
PD entities (solutions, features, models, etc.)
Whiteboards / boards
Cron jobs and automation runs
Sync log (filtered to brand integrations)
What each brand carries

Per-brand metadata, by design.

Brand identity per brand

Each brand carries its own name, slug, primary color, palette JSON, logo URLs (default/dark/light), favicon, OG image, website URL, primary locale, storage bucket override.

Encrypted per-brand secret vault

API keys, social tokens, CMS tokens, storage credentials — all encrypted at rest, scoped per brand, resolved at runtime. No cross-contamination between brands.

Per-brand × per-environment integrations

Each brand can hold N integrations of N services × N environments. Strapi-production and Strapi-staging exist side by side. Brand A's Meta credentials are isolated from Brand B's.

Per-brand AI prompts

Your AI prompt library is brand-scoped (with platform-wide defaults available). Brand A's SEO prompt can have different instructions than Brand B's.

Per-brand locale and SEO defaults

Brand A operates in Arabic primary, Brand B in English. SEO indices per (brand × content-type) ensure consistency within each brand.

Tenant-level physical isolation

Beneath brands, the tenant itself lives in its own SQLite file and MinIO bucket. Brands inside a tenant share the database; brands across tenants are physically separated.

Pricing implication

Brands per account is the working pricing axis.

m18t's pricing isn't finalized, but the leading hypothesis is: meter on number of brands, not on seats, not on tokens, not on feature tiers. A solo founder with three side projects pays for three brands. An agency with thirty clients pays for thirty. Same product underneath; the metering scales with the value.

Why this matters: it means basic multi-brand support is never gated. There's no "professional tier" that unlocks the second brand. The product shape is the same at any scale.

Treat this as the working assumption, not a commitment.

State today

Where multi-brand stands.

Solid today

  • — Every operational entity brand-scoped
  • — Brand switcher re-shards the whole UI
  • — Per-brand encrypted secret vault
  • — Per-brand × per-environment integrations
  • — Per-brand SEO indices and content types
  • — Per-brand AI prompts and Canvas context

Coming

  • — Team features: per-brand role assignment (Q3 2026)
  • — Bulk operations across brands (copy a status set, clone an SEO index)
  • — Cross-brand analytics rollup for agencies

Frequently Asked Questions