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
preloadpro 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
providerIdna 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.