Dokumentace
Centrum nápovědyBezpečnostThreat model
docs/cs/04-security/threat-model.md

Threat model

Tento dokument shrnuje klíčové bezpečnostní hrozby pro OPORA a očekávaný mitigations posture pro multi-tenant B2B SaaS.

Co chránit (assets)

  • Tenant-owned business data (Projekty, výsledky, exporty, assets, blueprints).
  • Uživatelské identity a session.
  • Billing a subscription stav.
  • Exportní artefakty (PDF/tabulky), které mohou obsahovat citlivé detaily projektu.

Primární kategorie hrozeb

1) Selhání multi-tenant izolace

Hrozby

  • IDOR: přístup k projektu jiného tenanta hádáním identifikátorů.
  • Leaky joins: dotazy bez organizationId filtrů.

Mitigace

  • Povinný aktivní org kontext pro /app/*.
  • Ownership check pro každý přístup ke zdroji (org-scoped).
  • Defense-in-depth přes DB omezení a volitelné row-level security politiky.

2) Útoky na autentizaci a session

Hrozby

  • Session fixation, krádež tokenů, CSRF (pokud relevantní).
  • Credential stuffing a brute-force.

Mitigace

  • Secure cookies a server-side validace session.
  • Rate limiting a postupné zavedení anomaly detection.
  • Neexponovat secrets do client runtime.

3) Authorization bypass (RBAC)

Hrozby

  • Uživatelé volají write/export akce bez oprávnění.
  • UI-only omezení, která lze obejít.

Mitigace

  • Server-side enforcement pro všechny akce a citlivá čtení.
  • Centrální pořadí guard logiky: auth → org → ownership → RBAC → subscription.

4) Zneužití subscription/billing

Hrozby

  • Volání gated funkcí bez entitlementu.
  • Manipulace s indikátory plánu.

Mitigace

  • Plan entitlements vynucované server-side.
  • Billing stav odvozený z autoritativních eventů billing providera.

5) Rizika export pipeline

Hrozby

  • Neautorizovaný přístup k exportu.
  • Persistované artefakty dostupné cross-tenant.
  • Injection do exportních šablon (pokud se templating používá).

Mitigace

  • Exporty brát jako privilegované akce s RBAC + plan gating.
  • Artefakty ukládat s tenant-scoped access controls.
  • Sanitizovat a validovat exportní vstupy; neprovádět neověřený obsah.

6) Supply chain a závislosti

Hrozby

  • Zranitelné závislosti, škodlivé balíčky.

Mitigace

  • Dependency scanning a “update hygiene”.
  • Locked dependencies a runtime s minimálními oprávněními.

Bezpečnostní roadmapa (nezávazná)

  • Přidat audit logování pro privilegované akce (změny členů, exporty, billing změny).
  • Přidat security review pro změny výpočetního enginu, které ovlivňují compliance výstupy.
  • Přidat incident response runbooky pro typické failure módy.