Interní dokument v1.0 | 2026-05-01

SCALIX
Projektový návrh

Kompletní návrh SaaS platformy — architektura, tech stack, moduly, RBAC, integrace, DevOps, roadmapa. Pohled seniorního business analytika a product developera.

1. Filosofie produktu

Modularita
Každá funkcionalita je modul. Moduly se zapínají/vypínají per tenant. Update jednoho modulu neovlivní ostatní.
1:1 aktualizace
Jeden codebase, jedna databáze, jeden deployment = update pro všechny. Žádné tenant-specific forky.
Custom bez forku
Custom řešení přes konfiguraci, feature flags a plugin hooks. Nikdy přes fork kódu.
Trust-first AI
AI navrhuje, člověk schvaluje. Žádná akce bez souhlasu. Kompletní audit trail.
Data sovereignty
Data patří klientovi. Export kdykoliv. GDPR-first. Anti lock-in.
Czech-first, global-ready
Nativní české integrace, ale architektura připravená na expanzi.
Co SCALIX NENÍ
Není to workflow builder (Zapier/Make) — má vlastní inteligenci a paměť
Není to jen CRM/ERP — je to vrstva NAD stávajícími systémy
Není to AI chatbot — jsou to specializovaní agenti s reálnými daty
Není to consulting — je to produkt s jasným SaaS modelem

2. High-level architektura

┌─────────────────────────────────────────────────────────────┐
│                    KLIENT (Browser / Mobile)                │
└─────────────────────┬───────────────────────────────────────┘
                      │ HTTPS
┌─────────────────────▼───────────────────────────────────────┐
│                 EDGE / REVERSE PROXY                        │
│           Caddy + TLS + Rate Limiting                       │
│           Tenant routing (subdomain → tenant_id)            │
└─────────────────────┬───────────────────────────────────────┘
                      │
┌─────────────────────▼───────────────────────────────────────┐
│                    API GATEWAY                               │
│  Auth · RBAC · Request validation · Rate limiting · Audit   │
└──────┬──────────┬──────────┬──────────┬─────────────────────┘
       │          │          │          │
  ┌────▼───┐ ┌───▼────┐ ┌───▼────┐ ┌───▼────┐
  │ Core   │ │ Modules│ │ Agent  │ │ Integ. │
  │ Service│ │ Service│ │ Runtime│ │ Gateway│
  └────┬───┘ └───┬────┘ └───┬────┘ └───┬────┘
       │         │          │          │
  ┌────▼─────────▼──────────▼──────────▼──────┐
  │              MESSAGE BUS                    │
  │         BullMQ + Redis Streams              │
  └────────────────────┬──────────────────────┘
                       │
  ┌────────────────────▼──────────────────────┐
  │              DATA LAYER                    │
  │  PostgreSQL (RLS) · Redis · MinIO (S3)     │
  │  Qdrant (vectors) · ClickHouse (analytics) │
  └────────────────────────────────────────────┘

Multi-tenancy model

Standard (Starter, Business)
Shared PostgreSQL cluster s Row-Level Security
Shared Redis (key prefix: tenant:{id}:)
Shared S3 bucket (path prefix: tenants/{id}/)
Shared Qdrant (metadata filter: tenant_id)
Shared compute (Node.js workers)
Enterprise (dedikovaný)
Dedicated PostgreSQL instance
Dedicated Redis + S3 + Qdrant
Optionally dedicated compute
Možnost on-premise
Plná izolace

Tenant resolution

1. Subdomain: {tenant-slug}.app.scalix.cz → tenant_id
2. Custom domain: crm.firma.cz → CNAME → tenant_id lookup
3. API header: X-Tenant-ID pro API-only přístup
Request → Caddy → API Gateway → resolve tenant_id → SET app.tenant_id (PG session) → RLS auto-filter

3. Tech stack

Backend

RuntimeNode.js 22 + TypeScript
FrameworkFastify
ORMDrizzle ORM
QueueBullMQ + Redis
CacheRedis 7
Vector searchQdrant
Analytics DBClickHouse
AIClaude API (Anthropic)
StorageMinIO (S3-compat)

Frontend

FrameworkNext.js 15 (App Router)
UI Kitshadcn/ui + Tailwind
StateZustand + TanStack Q.
Real-timeSSE
ChartsRecharts
EditorTiptap (WYSIWYG)
FormsRHF + Zod

Infrastruktura

ServerHetzner Dedicated
OSUbuntu 24.04 LTS
ContainersDocker + Compose
ProxyCaddy (auto TLS)
CI/CDGitHub Actions
MonitoringGrafana + Prometheus
BackupRestic → StorageBox

4. Modulární architektura

CORE (vždy aktivní)
Auth
Login, SSO, 2FA
RBAC
Role, oprávnění
Tenant
Multi-tenancy
Users
Správa uživatelů
Audit
Audit log
Notifications
In-app + push
Settings
Nastavení
Files
S3 management
CRM
Kontakty (firmy + osoby) + custom fields
Pipeline (stages, deals, drag & drop)
Aktivity (poznámky, úkoly, follow-upy)
E-mailový klient (2-way sync)
Kampaně (sequences, hromadné e-maily)
Intelligence
Business analytika (cash flow, LTV, marže)
Anomaly detection (odchylky, rizika)
AI Advisor (proaktivní doporučení)
Health Score (composite 0-100)
Predikce (churn, cash flow, pipeline)
Agents
Claude API runtime + tool calling
Process editor (WYSIWYG) + executor
Schvalovací workflow (Trust Model)
Scheduler (plánované spouštění)
Marketplace šablon procesů
Knowledge
Firemní paměť (verzovaná)
Správa dokumentů
Sémantický search (Qdrant)
Šablony (nabídky, e-maily, smlouvy)
Integrations
ERP: Pohoda, ABRA, Helios, Money S3
E-mail: Gmail, Microsoft 365
Datové schránky (ISDS)
Registr: ARES, ISDOC
E-commerce, platby, chat, custom
Reporting + Invoicing + Meetings
Custom dashboardy + PDF reporty
Fakturace + ISDOC + upomínky
Meeting Intelligence (Fireflies.ai)
Kalendář + přepisy + action items

Customizace hierarchie (bez forku kódu)

1KonfiguraceTenant settings v UI — pipeline stages, custom fields, branding
2Feature FlagsPer-tenant toggles — beta features, A/B testing
3Custom FieldsJSONB pole ke kontaktům, dealům — indexovatelné
4Webhooks + APINapojení vlastních systémů klienta
5Custom ProcessesWYSIWYG editor — klient sám definuje AI procesy
6Custom MCPVývoj custom konektoru (placená služba)
7DedicatedKompletně izolovaná instance (Enterprise)

5. RBAC systém

Permission model

{module}.{resource}.{action}[:{scope}]
crm.contacts.read           → Číst kontakty
crm.deals.read:own        → Pouze vlastní dealy
crm.deals.read:team       → Dealy svého týmu
crm.deals.read:all        → Všechny dealy
agents.processes.approve    → Schvalovat AI návrhy
integrations.connections.manage → Spravovat integrace

Systémové role

RolePrávaScope
OwnerPlná práva vč. billing. 1 per tenant.all
AdminVše kromě billing a tenant deletion.all
ManagerR/W v přiřazených modulech. Schvalování.all (r/w)
MemberR/W k vlastním + týmovým datům.team
ViewerRead-only. Žádné schvalování.read-only
CustomTenant si definuje (Business+ tier).configurable

8. Agent Runtime & Trust Model

Process Trigger  →  Orchestrator  →  Agent Worker (Claude API)
  (event/cron/       (routing,          (tool calling,
   manual/api)        context)           MCP servers)
                         │                     │
                  Context Builder          Trust Gate
                  (tenant cfg,         ┌──────────────┐
                   knowledge,          │ read → auto  │
                   history,            │ write → Q    │
                   permissions)        │ send → Q     │
                                       │ delete → Q   │
                                       │ Q = approval │
                                       └──────────────┘

Trust Gate — pravidla

Auto-approve
Čtení dat
Interní analýza
Vytvoření draftu
Interní notifikace
Require approval
Odeslání e-mailu
Vystavení faktury
Změna v CRM / ERP
Odeslání do datovky
Zápis do ext. systému
Manager approval
Mazání dat
Bulk akce (>10 záznamů)
Vysoká hodnota dealu
Finanční operace nad limit

9. Integrační vrstva (MCP Servery)

                    ┌──────────────────────┐
  AI Agent ────────▶│   INTEGRATION GW     │────▶ mcp-server-pohoda
  (Claude API)      │                      │────▶ mcp-server-abra
                    │  Connection Manager   │────▶ mcp-server-gmail
                    │  Credentials Vault    │────▶ mcp-server-isds
                    │  Rate Limiting        │────▶ mcp-server-ares
                    │  Circuit Breaker      │────▶ mcp-server-isdoc
                    │  Sync Engine          │────▶ mcp-server-crm
                    └──────────────────────┘────▶ mcp-server-shoptet
Bezpečnost credentials
AES-256-GCM šifrování s tenant-specific key (HKDF). Master key v Vault. Decrypt in memory → API call → zeroize. Nikdy v logu, nikdy v plain textu.
Open-source moat
České MCP servery (Pohoda, ABRA, ARES, ISDOC, Datovky) budou open-source pod brandem SCALIX. Vývojáři je najdou → bezplatný marketing + bariéra vstupu.

11. Deployment & DevOps

CI/CD Pipeline

LINT & TEST
ESLint, TypeScript, Vitest, Integration tests
BUILD
Docker images, multi-stage, cached, tagged
STAGING
Deploy, E2E (Playwright), smoke tests
PRODUCTION
Rolling update, health check, auto-rollback

Server (dedikovaný Hetzner)

App server
CPU: AMD EPYC / Xeon (16+ cores)
RAM: 128 GB ECC
Storage: 2x 1TB NVMe (RAID 1)
Network: 1 Gbit/s
Odhad měsíčních nákladů
App server: ~4 000 Kč
DB server: ~2 000 Kč
StorageBox (backup): ~250 Kč
Celkem: ~6 250 Kč/měsíc

Monitoring

P1 (SMS + call)
API down >1 min, DB fail, Error rate >5%, Disk >90%
P2 (Slack, 5 min)
Latency p99 >2s, Queue >1000, Claude API errors
P3 (daily digest)
Slow queries, token usage, cert expiry

12. Bezpečnost — Defense in Depth

Network
Firewall: 80, 443 only
SSH: key-only + fail2ban
Internal: localhost/Docker only
DDoS: Cloudflare/Hetzner
Application
Zod validation na každém EP
CSP headers, CSRF, XSS
Drizzle ORM (no SQL inject)
Rate limiting per tenant
Auth
Argon2id password hashing
JWT RS256, 15 min TTL
2FA: TOTP + WebAuthn
Brute force protection
Data
AES-256-GCM at rest
TLS 1.3 in transit
PostgreSQL RLS per tenant
Credential encryption (HKDF)
Audit
Complete audit trail
Immutable, append-only
GDPR data access logging
2 year retention
Compliance
GDPR: consent, portability, erasure
EU data residency (Hetzner DE)
DPA template ready
SOC 2 readiness

15. Feature matrix

FeatureStarter
6 990 Kč
Business
19 990 Kč
Enterprise
59 990 Kč+
Uživatelé525Neomezeno
Agenti3NeomezenoNeomezeno
Claude tokeny/měsíc2M10M30M+
Integrace3NeomezenoNeomezeno + custom
Intelligence LayerZákladníPlnáPlná + custom
Health ScoreZákladníPlnýPlný + custom
Datové schránky
Custom role (RBAC)
SSO
InfrastrukturaSharedSharedDedicated opt.

16. Roadmapa

FÁZE 0FoundationMěsíc 1–2
Server setup, Docker, CI/CD, monorepo, API server, Auth (login, JWT, 2FA), RBAC, Tenant management (RLS), Audit log, Monitoring (Grafana), Frontend skeleton.
KPI: Uživatel se přihlásí, vidí dashboard, funguje RBAC + tenant isolation.
FÁZE 1CRM + KnowledgeMěsíc 3–4
Kontakty, firmy, pipeline, dealy, aktivity, custom fields. Firemní paměť, vektorový search (Qdrant), WYSIWYG editor procesů, šablony, dokumenty.
KPI: Firma spravuje kontakty, dealy, dokumenty, procesy v SCALIX.
FÁZE 2České ERP integraceMěsíc 5–6
Integration Gateway, MCP Server: Pohoda + ABRA + ARES + ISDOC. Sync engine, field mapping, connection wizard.
KPI: Faktury z Pohody v SCALIX, kontakty obohaceny z ARES.
FÁZE 3Agent RuntimeMěsíc 7–8
Claude API, tool calling, Trust Gate, process executor, scheduler, approval inbox, notifikace. První agenti: zpracování poptávek, kontrola pohledávek.
KPI: Agent zpracuje poptávku a připraví nabídku ke schválení.
FÁZE 4E-mail + Datové schránkyMěsíc 9–10
Gmail/M365 MCP server, 2-way sync, datové schránky (ISDS), AI e-mail drafty, klasifikace příchozích, monitoring datovek.
KPI: E-maily syncované, datovky monitorované, odpovědi od AI.
FÁZE 5Intelligence LayerMěsíc 11–12
ClickHouse + data pipeline. Analytics engine, anomaly detection, AI Advisor, Health Score, predikce, reporting, PDF generování.
KPI: Majitel otevře SCALIX a vidí Health Score + doporučení dne.
FÁZE 6Pilot programMěsíc 12–14
5 pilotních firem (agentura, e-shop, výroba, účetní, služby). Weekly feedback, iterace, bug fixing. Stripe billing. Case studies.
KPI: 5 pilotů aktivně používá, NPS > 40, churn < 3%.

17. Rizika & mitigace

RizikoDopadMitigace
Pohoda API nestabilníVysokýCache, retry, fallback na XML import
Claude API výpadekVysokýGraceful degradation, queue, fallback LLM
GDPR incidentKritickýRLS, encryption, audit, pen testing, DPA
Příliš vysoké API costsStředníToken budgeting per tenant, caching, prompt engineering
Pomalý sales (konzerv. SMB)StředníFree pilot program, partner channel (účetní)
Multi-tenant data leakKritickýRLS automated tests per migration, security audit

18. Klíčové principy

Ship fast, iterate faster
MVP pro každý modul. Feedback od reálných uživatelů > perfektní kód.
Boring technology
PostgreSQL, Redis, Node.js — osvědčené, dokumentované, rekrutovatelné.
Module boundaries are sacred
Komunikace POUZE přes eventy a API. Žádné cross-module SQL joiny.
RLS everywhere
Každá tabulka: tenant_id + RLS policy. Automatické testy cross-tenant.
Audit everything
Každá mutace → audit log. Žádné výjimky.
AI is a tool, not a product
SCALIX je business tool, který POUŽÍVÁ AI. Pokud Claude spadne, SCALIX funguje dál.
Customer data is sacred
Encrypt. Isolate. Audit. Export. Delete. No exceptions.
Measure everything
Business + performance + cost metriky. Pokud to neměříš, neexistuje to.