Arhitectura sub-workspaces — 1 agency, N clienți
Agency plan ($199/lună) deblocheaza model multi-tenant: workspace-ul agency e parent, fiecare client = child workspace izolat. Datele clienților NU se intersectează (DB-level isolation prin workspace_id index). Agency owner vede toate workspaces în «agency dashboard», switch instant între ele. Fiecare client workspace are propriul URL, branding, formulare, submissions, billing-uri (opțional pass-through clienților).
Per-client branding total
Per workspace client: logo upload, primary + secondary color (auto-generate palette), font choice (Google Fonts library), email sender name + reply-to, favicon, custom domain (vezi /features/custom-domains). Formularele publicate arată 100% brand-ul clientului — zero mențiune Megaforms (no «Powered by»). Pentru clienții care vor mențiune (ex. ONG-uri care vor să creditezeze tool-ul), opt-in available.
Custom CSS injection
Pentru control absolut, fiecare workspace client poate avea CSS injection (Agency only feature). Editor cu syntax highlight, preview live, validation contra XSS (CSP-safe). Util pentru match design system corporate complex. Recomandăm să copiezi CSS din site-ul existent al clientului pentru consistency.
/* Per-client CSS injection example */
.megaforms-input {
border: 2px solid var(--brand-primary);
border-radius: 12px;
font-family: 'Inter', sans-serif;
}
.megaforms-button-submit {
background: linear-gradient(135deg, #ff6b35, #f7c948);
color: white;
text-transform: uppercase;
letter-spacing: 0.05em;
}Billing model — agency-centralizat sau pass-through
**Centralizat** (default): agency plătește $199/lună flat la Megaforms, factuează clienții separat (suma & markup la latitudinea agency). **Pass-through**: fiecare client are propriul Stripe Customer, plătește direct. Agency primește commission 10% din MRR clienților prin Stripe Connect. Util pentru agency care nu vrea cash-flow burden, doar marja.
Onboarding nouă client — 5 minute
Agency dashboard → «Add Client» → introduci nume + logo + brand colors → sistem genereaza sub-workspace cu defaults aplicate → invite primary contact email (rol owner sub-workspace) → opțional setup custom domain. După 5 min, clientul are spațiu funcțional cu brand-ul lui.