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.

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.
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, 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.
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.
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