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 one founder with three side projects or an agency running thirty client brands.

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 with separate accounts, separate billing and 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.
One switch. Everything updates.
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 and 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. A brand's production CMS and its staging CMS 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.
Workspace-level physical isolation
Beneath brands, your workspace lives in its own isolated database and object storage. Brands inside a workspace share the database; brands across workspaces are physically separated.
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 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.
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
- Per-brand member scoping (restrict a team member to specific brands, enforced server-side)
Next
- Custom role creation (roles today come from a fixed system set)
- Bulk operations across brands (copy a status set, clone an SEO index)
- Cross-brand analytics rollup for agencies