Documentation Index
Fetch the complete documentation index at: https://docs.mmmytics.com/llms.txt
Use this file to discover all available pages before exploring further.
Multi-brand Portföy
v0.7.65 (Phase 24) ile gelen multi-brand portföy desteği, birden fazla markaya sahip organizasyonların ve dijital ajansların tek hesaptan tüm markalarını yönetmesine olanak tanır. Aktif marka bağlamı dropdown selector ile değiştirilir; veri yüklemeleri, model run’ları ve raporlar seçili marka altına kaydedilir.
Genel Bakış
Tek hesap, çoklu marka
Aynı Clerk hesabıyla organizasyonunuzdaki tüm markalara erişin. Her marka için ayrı DQS, ayrı model run’ları, ayrı raporlar.
Rol bazlı erişim
CEO/CMO org’daki tüm brand’leri görür. Agency yalnızca assigned_brand_ids array’inde belirtilen markalara erişir.Cross-org isolation
PostgreSQL RLS (Row Level Security) garantilenir. Bir markanın verisi başka markaya sızmaz; cross-org leak fiziksel olarak imkansız.
Backward compatible
Tek markalı organizasyonlarda dropdown gizlenir (
brands.length > 1 koşulu). Mevcut single-brand kullanıcılar değişiklik hissetmez.Roller ve Erişim
| Rol | Erişim Kapsamı | Brand Listesi |
|---|---|---|
CEO | Org içindeki tüm brand’ler | created_at DESC sırasında |
CMO | Org içindeki tüm brand’ler | created_at DESC sırasında |
Analytics | Org içindeki tüm brand’ler (read-only) | created_at DESC sırasında |
Agency | Yalnızca users.assigned_brand_ids içindekiler | Atanan brand’ler |
platform_admin | Tüm org’lardaki tüm brand’ler | Cross-org full access |
Marka Seçici Nasıl Kullanılır?
Marka seçici dropdown'u
brands.length > 1 ise dropdown otomatik render edilir. Liste CEO/CMO için org’daki tüm brand’leri, Agency için yalnızca atananları gösterir.Marka seçin
Aktif marka bağlamı değiştirilir. UI state
selectedBrandId ile güncellenir, ardından bağımlı veriler (override’lar, benchmark’lar) refetch edilir.GET /api/v1/brands Endpoint
Frontend marka listesini bu endpoint’ten alır:
assigned_brand_ids ile filtrelenmiş subset döner. platform_admin rolü cross-org tüm brand’leri görür.
Cross-org Isolation (PostgreSQL RLS)
MMMytics tüm tablolarda Row Level Security (RLS) aktif:brands.organization_id = current_user_org_id()RLS policymodel_runs.brand_id IN (SELECT id FROM brands WHERE ...)cascadereports.run_idüzerinden brand isolation
RLS database seviyesinde uygulanır — application bug olsa bile cross-org leak imkansız. Auditor’a karşı bu garanti SOC 2 / ISO 27001 kapsamında dokümante edilmiştir. Detay: Güvenlik.
Sorun Giderme
Dropdown görünmüyor
Sebep: Organizasyonda yalnızca 1 brand var (brands.length === 1).
Çözüm: Backward compat — single-brand org’larda dropdown gizlenir, ekstra UI yüklemez. Yeni brand eklemek için Platform Admin’den talep edin.
”Failed to load brands” hatası
Sebep:GET /api/v1/brands 401 (JWT expired) veya 500 (backend).
Çözüm:
- Logout + login (Clerk JWT yenilenir)
status.mmmytics.comkontrol (backend down mı)- Hala devam →
destek@mmmytics.com
Agency olarak müşteri brand’ime erişemiyorum
Sebep:users.assigned_brand_ids array’ine ilgili brand UUID eklenmemiş.
Çözüm: Platform Admin’den assignment iste — destek@mmmytics.com üzerinden hangi brand’lere erişim gerektiğini bildirin. Admin atamayı yaptıktan sonra logout + login.
Sonraki Adım
Per-Brand Benchmark Override
Marka-spesifik KPI eşik değerleri tanımlayın
L7 Reports
Marka bazında CEO Brief PDF üretin