Přejít na obsah

Zabezpečení

Verze 2026-06-30 · Naposledy aktualizováno 2026-06-30

Tato stránka shrnuje technická a organizační opatření („TOMs", zmíněná v naší smlouvě o zpracování osobních údajů), která JobMistr uplatňuje na Službu. Údaje jsou poskytovány v dobré víře a odpovídají současné praxi; konkrétní kontroly se vyvíjejí s tím, jak se mění hrozby a naše technologie.

1. Hosting a platforma

  • Aplikace: Vercel (region EU – primárně Frankfurt).
  • Autentizace a real-time data: Convex (region EU). Relace zpracovávány na serveru; tokeny nikdy nejsou přístupné z JavaScriptu přes document.cookie.
  • Hlavní databáze: spravovaný PostgreSQL s automatickými denními snapshoty a point-in-time obnovou.
  • Úložiště souborů: Cloudflare R2 s řízením přístupu na úrovni objektů a presigned URL pro nahrávání.
  • Platby: Stripe Payments Europe, Ltd. (PCI-DSS Level 1). Čísla karet systémy JobMistr nikdy neprochází.

2. Šifrování

  • TLS 1.3 při přenosu na všech endpointech. HTTP-only cookies s příznakem Secure. HSTS s preload pro hlavní doménu.
  • Šifrování citlivých dat v klidu na úrovni jednotlivých polí algoritmem AES-256-GCM — osobní údaje jako e-mailové adresy, telefonní čísla, poštovní adresy, bankovní údaje, obsah zpráv a podpisová data, a dále OAuth refresh tokeny, přihlašovací údaje připojených schránek, TOTP secrets a záložní kódy. Šifrovací klíče držíme výhradně v šifrovaném úložišti tajemství poskytovatele hostingu a nikdy je necommitujeme do zdrojového kódu.
  • AES-256 šifrování v klidu na úrovni poskytovatele pro databázi, objektové úložiště i zálohy.
  • Hesla uživatelů hashujeme moderním paměťově náročným algoritmem (scrypt) v naší autentizační vrstvě. Nikdy nelogujeme ani neukládáme hesla v plain-textu.

3. Autentizace a správa účtu

  • Přihlášení e-mailem + heslem s rate-limitingem pokusů; OAuth přihlášení přes Google, Microsoft (Entra ID) a Apple.
  • Dvoufaktorovou autentizaci (TOTP) lze zapnout u libovolného účtu; její vynucení při každém přihlášení máme v plánu.
  • Záložní kódy se generují se 128 bity entropie.
  • Podpisové odkazy pro faktury, nabídky a smlouvy používají dlouhé neuhodnutelné tokeny s expirací (typicky devadesát (90) dní) a po vypršení platnosti jsou odmítnuty.
  • Role-based access control (Owner / Admin / Member / Bookkeeper / Viewer) v rámci pracovního prostoru. Tenant isolation přes providerId na každém datovém řádku.
  • Ochrana proti podezřelé aktivitě včetně rate-limitingu na IP i endpoint, detekce zneužití při registraci a auditního logování privilegovaných operací.

4. Síťové a aplikační zabezpečení

  • HTTP response hlavičky: HSTS (1 rok, includeSubDomains, preload), X-Content-Type-Options, X-Frame-Options: SAMEORIGIN, Referrer-Policy: strict-origin-when-cross-origin, Permissions-Policy, Cross-Origin-Opener-Policy, Content Security Policy.
  • Validace vstupu na serveru pomocí Zod schémat; rich-text obsah procházíme přes striktní allowlist HTML sanitizace (DOMPurify).
  • Webhookové integrace ověřují podpisy poskytovatele (Stripe-Signature aj.) a idempotency keys proti replayi.
  • Auditujeme open-redirect, XSS a SSRF; přesměrování jsou omezena na same-origin nebo explicitní whitelist.

5. Audit, logování a monitoring

  • Citlivé operace (změny rolí, fakturační změny, mazání dat, vydání podpisových tokenů, platební události) zapisujeme do auditního logu (append-only) uchovávaného standardně sedm set třicet (730) dní; déle, pokud je to potřeba pro obranu právních nároků.
  • Auditní log obsahuje snapshot aktéra (user id, jméno a e-mail), takže záznam je užitečný i poté, co je aktér později smazán dle čl. 17 GDPR.
  • Chyby aplikace a bezpečnostní události putují do monitoringu. Plánujeme hlubší pokrytí přes Sentry / Datadog pro background procesy.

6. Zálohování a disaster recovery

  • Denní automatické snapshoty databáze s point-in-time obnovou v rolovacím 30denním okně.
  • R2 objektové úložiště využívá nativní odolnost poskytovatele; lifecycle pravidla uchovávají historické verze klíčových souborů třicet (30) dní.
  • Cíl obnovy: RPO ≤ 24 hodin; RTO ≤ 8 hodin pro výpadek regionu. Tyto cíle jsou závazky vůči nám samým, nikoli smluvní SLA, dokud nedokončíme fázi beta.

7. Change management a bezpečný vývoj

  • Veškeré změny procházejí code review před nasazením.
  • Statická analýza: TypeScript strict mode a cílený linting.
  • Závislosti spravujeme přes lockfile; sledujeme bezpečnostní oznámení.
  • Přístup do produkce je omezen; tajemství spravujeme přes šifrované env. proměnné poskytovatele a nikdy je necommitujeme do zdrojového kódu.

8. Reakce na incidenty

Udržujeme runbook pro reakci na incidenty. Pokud zjistíme porušení zabezpečení osobních údajů spadající pod čl. 33-34 GDPR, oznámíme to příslušnému dozorovému úřadu bez zbytečného odkladu, a kde je to vyžadováno, do sedmdesáti dvou (72) hodin. Dotčené uživatele informujeme bez zbytečného odkladu, pokud porušení pravděpodobně představuje vysoké riziko pro práva a svobody.

9. Hlášení zranitelností

Vítáme odpovědné hlášení od bezpečnostních výzkumníků. Pište na security@jobmistr.com s dostatečnými detaily pro reprodukci. Odpovíme do tří (3) pracovních dnů. Prosíme, nepřistupujte k datům, která vám nepatří, neprovádějte útoky, které by zhoršily provoz pro ostatní uživatele, a počkejte s veřejným zveřejněním, dokud nedostaneme přiměřenou možnost zranitelnost odstranit.

10. Penetrační testování a externí ujištění

Nezávislé penetrační testování budeme provádět ročně po výstupu z bety. Bezpečnost zpracovatelů ověřujeme přes jejich zveřejněné certifikace (např. Stripe PCI-DSS Level 1, Cloudflare ISO 27001 a SOC 2) a smluvními povinnostmi ve smlouvě DPA.

11. Kontakt

Bezpečnostní hlášení: security@jobmistr.com. Obecné dotazy: legal@jobmistr.com.