Smlouva o zpracování osobních údajů
Zpracovatel osobních údajů dle čl. 28 GDPR
Verze: 1.0 NÁVRH
Účinnost od: [DATUM ÚČINNOSTI]
Obsah
- Předmět a smluvní strany
- Definice
- Předmět zpracování
- Typ a rozsah osobních údajů
- Doba zpracování
- Zpracování pouze podle pokynů
- Mlčenlivost
- Technická a organizační opatření
- Bezpečnost údajů a šifrování
- Izolace dat
- Oprávnění osob
- Zálohování a obnovení
- Minimalizace údajů
- Zapojení dalších zpracovatelů
- Seznamy subdodavatelů
- Právo na námitku proti subjprocesorům
- Práva subjektů údajů
- Oznámení porušení zabezpečení
- Součinnost při porušení dle čl. 33 GDPR
- Součinnost dle čl. 32–36 GDPR
- Výmaz a vrácení údajů
- Audit a kontrola
- Náhrada újmy a odpovědnost
- Doba trvání a ukončení
- Závěrečná ustanovení
- Přílohy
Čl. 1 Předmět a smluvní strany
1.1 Smluvní strany
(a) SPRÁVCE (dále jen „Správce"):
- Jméno/obchodní firma: [OBCHODNÍ FIRMA UŽIVATELE]
- IČO: [IČO UŽIVATELE]
- DIČ: [DIČ UŽIVATELE]
- Sídlo: [SÍDLO UŽIVATELE]
- E-mail: [E-MAIL UŽIVATELE]
- Telefon: [TELEFON UŽIVATELE]
(b) ZPRACOVATEL (dále jen „Zpracovatel"):
- Obchodní firma: [OBCHODNÍ FIRMA POSKYTOVATELE]
- IČO: [IČO]
- DIČ: [DIČ]
- Sídlo: [SÍDLO]
- E-mail: [E-MAIL]
- Telefon: [TELEFON]
1.2 Způsob uzavření smlouvy
Tato smlouva je uzavřena elektronickým podpisem, přijetím obchodních podmínek při registraci v aplikaci Fakturace. Registrací v aplikaci a přijetím těchto podmínek Správce vyjadřuje svůj souhlas s každým ustanovením této smlouvy.
1.3 Právní základ
Tato smlouva je uzavřena v souladu s:
- čl. 28 Nařízení (EU) 2016/679 (GDPR)
- zákonem č. 110/2019 Sb., o zpracování osobních údajů
- právním řádem České republiky
Čl. 2 Definice
V rámci této smlouvy se rozumí:
2.1 Osobní údaje – jakékoli informace týkající se identifikované nebo identifikovatelné fyzické osoby, v níž může být osoba stotožněna dle čl. 4 odst. 1 GDPR.
2.2 Zpracování – jakákoliv činnost s osobními údaji, jako je sběr, záznam, organizace, strukturování, uchovávání, úprava, změna, čtení, použití, předání, výmaz nebo zničení, v souladu s čl. 4 odst. 2 GDPR.
2.3 Správce – fyzická nebo právnická osoba, která sama nebo společně s dalšími určuje účely a prostředky zpracování osobních údajů dle čl. 4 odst. 7 GDPR.
2.4 Zpracovatel – fyzická nebo právnická osoba, která zpracovává osobní údaje na základě pokynů správce dle čl. 4 odst. 8 GDPR.
2.5 Subjekt údajů – identifikovaná nebo identifikovatelná fyzická osoba, jejichž osobní údaje jsou zpracovávány.
2.6 Subprocesor – zpracovatel, který je vázán Správcem nebo dalším zpracovatelem k poskytnutí služeb zahrnujících zpracování osobních údajů.
2.7 Porušení zabezpečení osobních údajů – porušení bezpečnosti vedoucí k náhodné nebo nelegitimní destrukci, ztrátě, změně, neoprávněnému zveřejnění nebo přístupu k osobním údajům přenášeným, uloženým nebo jinak zpracovávaným v souladu s čl. 4 odst. 12 GDPR.
2.8 Pokyn – zejména podrobný písemný pokyn Správce týkající se zpracování osobních údajů, který Zpracovatel bude provádět.
2.9 Služba – aplikace Fakturace, dostupná na adrese [URL aplikace], která umožňuje správu a tvorbu účetních dokladů (faktury, ceníky, kontakty, bankovní výpisy atd.) pro české podnikatele.
Čl. 3 Předmět zpracování
3.1 Obecný účel
Zpracovatel zpracovává osobní údaje na základě pokynů Správce výhradně za účelem:
- poskytnutí služby Fakturace Správci
- správy a tvorby účetních dokladů (faktury, ceníky, kontakty)
- správy bankovních výpisů a jejich reconciliace
- poskytnutí záznamu o transakcích a historii dokladů
- odesílání transakcí a upozornění související se službou
3.2 Podpůrné činnosti
Zpracovatel provádí zpracování v souvislosti s:
- zajištěním bezpečnosti služby a detekce zneužití
- údržbou a zlepšováním služby
- zálohováním a obnovou dat v případě selhání
- komunikací se Správcem o stavu služby
- řešením technických problémů
3.3 Právní základ
Zpracování je oprávněno právním základem dle čl. 6 odst. 1 písm. b) GDPR (splnění smlouvy).
Čl. 4 Typ a rozsah osobních údajů
4.1 Kategorie osobních údajů
Zpracovatel zpracovává následující kategorie osobních údajů:
(a) Kontakty a odběratelé (zákazníci a dodavatelé)
- Jméno a příjmení
- Jednatelé a čekatelé fyzických osob podniků
- Postcontact osob (IČO, DIČ)
- Poštovní adresa (ulice, číslo, město, PSČ)
- Elektronická pošta
- Telefonní číslo
- Poznámky a údaje z ARES registru (obchodní jméno, právní forma, sídlo, historie změn)
(b) Faktury a doklady
- Čísla a data faktur
- Seznamy položek (zboží, služby, ceny)
- Měny a kurzy (z ČNB)
- Poznámky a metadata dokladu
- Funkční identifikátor (variabilní symbol, ISBN/EAN atd.)
- Informace o partnerovi (kupujícím/prodávajícím)
(c) Bankovní výpisy a transakce
- Surová data bankovních výpisů ve formátu ABO (anonymizovaná podle pravidel v kap. 9.3)
- Čísla a typy bankovních účtů
- Jméno účtu
- Jméno protistran (counterparty)
- Čísla bankovních účtů protistran
- Poznámky a identifikace transakce
- Válobsah transakcí (číslo, částka, měna, datum)
(d) Ceníky
- Jména a identifikátory produktů/služeb
- Ceny a jednotky
- Popisné údaje
(e) Přihlášení a autentifikace
- E-mailová adresa Správce
- Ověřovací tokeny
- Log aktivit (časy přihlášení, IP adresy, akce provedené)
4.2 Kategorie subjektů údajů
- Přímí uživatelé (majitelé účtů, OSVČ, zástupci s.r.o.)
- Zákazníci a dodavatelé Správce (odběratelé, dohodnutí smluvní partnery)
- Fyzické osoby identifikované v bankovních výpisech (příjemci/odesílatelé plateb)
- Jednovalebníci a řídící osoby společností (z ARES)
4.3 Citlivé kategorie
Zpracovatel nezpracovává záměrně biometrické údaje, údaje o zdraví nebo údaje týkající se sexuálního chování. Jsou-li takové údaje náhodou obsaženy v bankovních výpisech či poznámkách, Zpracovatel s nimi zachází se zvýšenou péčí dle čl. 9 GDPR.
Čl. 5 Doba zpracování
5.1 Začátek zpracování
Zpracování osobních údajů počíná registrací Správce v Aplikaci a přetrvává během aktivního používání Služby.
5.2 Konec zpracování
Zpracování končí dnem, kdy Správce zruší svůj účet nebo je účet zrušen z důvodu porušení obchodních podmínek. Pokud to není v rozporu s právními povinnostmi, budou osobní údaje dle čl. 21 smlouvy vymazány nebo vráceny Správci bez zbytečného odkladu.
5.3 Doba uchovávání
- Faktury a doklady: 10 let od data jejich vystavení (dle § 31 a § 32 zákona č. 563/1991 Sb., o účetnictví)
- Daňové doklady: 10 let (dle § 35 zákona č. 235/2004 Sb., o dani z přidané hodnoty)
- Bankovní výpisy: 10 let od data importu (účetní povinnost)
- Logy autentifikace: maximálně 1 rok, není-li zákonné určení jiné lhůty
- Ostatní údaje: jsou smazány do 90 dnů od zrušení účtu, pokud nejsou podléhají jiným právním povinnostem
5.4 Právní důvod pro dlouhodobé uchovávání
Zpracovatel je vázán právní povinností uchovávat účetní doklady po dobu nejméně 10 let dle českého práva. Tento dlouhodobý vý uchování účetních údajů nemůže být Správcem zrušen a nadále podléhá čl. 6 odst. 1 písm. c) GDPR a čl. 17 odst. 3 písm. b) GDPR.
Čl. 6 Zpracování pouze podle pokynů
6.1 Povinnost Zpracovatele
Zpracovatel bude zpracovávat osobní údaje výhradně na základě pokynů Správce, pokud v návaznosti na tuto smlouvu nejsou určeny jinak.
6.2 Typy pokynů
Pokyny jsou vydávány:
- implicitně skrze funkčnost aplikace (např. vytvoření faktury je pokyn na uložení údajů)
- explicitně prostřednictvím e-mailu nebo žádosti ve webovém rozhraní (např. žádost o export, mazání, změnu)
- právním předpisem (např. porušení zabezpečení se Správce dozvídá bez speciálního požadavku)
6.3 Zákaz samostatného zpracování
Zpracovatel nesmí zpracovávat osobní údaje pro své vlastní účely bez písemného souhlasu Správce. Výjimku tvoří:
- technické údržby a bezpečnostní aktualizace
- zálohování a obnova
- detekce zneužití a kybernetických útoků
- plnění právních povinností (třeba oznámení porušení zabezpečení)
Čl. 7 Mlčenlivost
7.1 Povinnost důvěrnosti
Zpracovatel zajistí, aby všechny osoby oprávněné k přístupu k osobním údajům (zaměstnanci, subdodavatelé, poskytovatelé infrastruktury) byly vázány povinností zachovávat důvěrnost osobních údajů. Tato povinnost zůstává v platnosti i po ukončení vztahu.
7.2 Zaměstnanci a subdodavatelé
Zpracovatel odpovídá za:
- podpisání dohod o důvěrnosti se zaměstnanci
- zasílání školení o zpracování údajů a GDPR
- smluvní či právní povinnosti subdodavatelů na ochranu údajů
7.3 Výjimky
Mlčenlivost se nevztahuje na údaje, které jsou nutné zveřejnit na základě práva (např. soudní příkaz, správní orgán, zákonná povinnost).
Čl. 8 Technická a organizační opatření
8.1 Obecné požadavky
Zpracovatel provádí technická a organizační opatření dle čl. 32 GDPR, aby zajistil bezpečnost zpracování osobních údajů. Tato opatření jsou podrobně popsána v Příloze č. 3 a zahrnují:
- šifrování údajů (TLS, PBKDF2)
- řízení přístupu a autentifikaci
- anonymizaci a maskování
- zálohování a testování obnovy
- monitorování bezpečnosti
- plány obnovy a kontinuity
8.2 Úroveň ochrany
Zpracovatel zajistí úroveň ochrany odpovídající riziku zpracování a povaze zpracovávaných dat dle čl. 32 odst. 1 GDPR. To znamená zvláště:
- stav technologie
- náklady implementace
- povaha, rozsah, kontext a účely zpracování
- rizika vzniklá zpracováním
- možné prospěchy z ochrany
8.3 Testování opatření
Zpracovatel se zavazuje provádět testy technických opatření nejméně jednou ročně, zejména [ověřit, že je tento závazek splnitelný, než bude smlouva zveřejněna]:
- zkoušky obnovy (point-in-time recovery)
- simulace výpadku služby
- kontrola přístupu a auditování
- bezpečnostní update
Čl. 9 Bezpečnost údajů a šifrování
9.1 Šifrování v přenosu
- Protokol: TLS 1.3+ je povinný pro veškerou komunikaci mezi klientem a serverem
- Certifikáty: používány certifikáty vydané renomovanou certifikační autoritou
- Zásada: bez výjimek, aplikace nefunguje bez HTTPS
9.2 Šifrování v klidu
- Databáze: PostgreSQL na Neon s šifrováním na úrovni úložiště
- Hesla: hashovány PBKDF2 s salt, nikoli v plain textu
- Přihlašovací tokeny: podepsány klíčem
SESSION_SECRET(HMAC-SHA-256) a uloženy pouze v cookie v prohlížeči; v databázi se relace neukládají - Offline zálohy: šifrují se před uložením
9.3 Minimalizace v bankovních datech
Surová data bankovních výpisů (bankstatements.rawdata) obsahují citlivé informace o protistrany:
- Uchovávání: minimalizováno (pouze nezbytné pro reconciliaci)
- Maskování: jméno a číslo účtu protistran nejsou zobrazovány uživatelům bez explicitního požadavku
- Přístup: přístup je omezen na administrátory účtu a subdodavatele
- Smazání: lze je smazat prostřednictvím funkce smazání importu (mazání po smazání dokladu po 10 letech)
9.4 Session management
- Cookie:
fakturace_sessionje označena jakohttpOnlyaSecure, zabraňuje se tak kradežím přes JavaScript - Podpis: session token je podepsán kryptografickým klíčem a nelze jej padělat
- Ověření: každý požadavek je ověřen dle middleware.ts
- Doba trvání: session je platná po dobu aktivity, automaticky vypršuje po určité době nečinnosti
Čl. 10 Izolace dat
10.1 Izolace podle uživatele
Zpracovatel zajistí, aby údaje jednoho Správce byly zcela odděleny od údajů ostatních Správců:
- Aplikační úroveň: každý Správce vidí pouze svá data
- Databázová úroveň: Row Level Security (RLS) vynucuje segregaci na úrovni SQL dotazů
- Identifikátor vystavitele a účtu: každá tabulka s daty zákazníka nese sloupec
issuer_id, resp.account_id, a každý dotaz aplikace je jím omezen
10.2 RLS (Row Level Security)
- Sdílená databáze (veřejný tenant) používá Row Level Security zavedenou migrací
drizzle/0018_row_level_security.sql. Politika omezuje řádky podle identifikátoru účtu nastaveného v rámci transakce.
- Kontrola tedy probíhá na úrovni databáze, nikoli pouze v aplikaci.
- Pojmenovaný tenant (bootstrap přihlášení) má vlastní fyzickou databázi, takže jeho data
nejsou ve stejné databázi jako data ostatních uživatelů vůbec.
- [Ověřit před zveřejněním, že migrace 0018 je nasazena do produkční databáze.]
10.3 Nesmíšení dat
Za oddělení dat jednotlivých Správců odpovídá Zpracovatel. Správce neodpovídá za chování jiných uživatelů služby ani subdodavatelů Zpracovatele.
Čl. 11 Oprávnění osob
11.1 Role-based access control
Aplikace Fakturace implementuje řízení přístupu na základě rolí (RBAC):
owner– úplná kontrola, včetně týmu, profilů a samotného účtuadmin– vše kromě odebrání vlastníkaaccountant– vystavuje doklady, eviduje platby, exportuje, čte všemember– pracuje pouze s koncepty a čte katalog; nemá statutární oprávnění
11.2 API tokens
- Uživatelé mohou vytvářet API tokeny pro programový přístup
- Tokeny jsou hashovány a nelze je zobrazit podruhé
- Tokeny lze jednotlivě odvolat
11.3 Provozní záznamy
Aplikace vede provozní a doručovací záznamy (odeslané e-maily, doručení webhooků, omezení četnosti přihlášení) a u dokladů uchovává časy vytvoření a poslední změny. Samostatný souvislý auditní záznam všech operací uživatele není v aplikaci implementován; Zpracovatel jej nesmí Správci slibovat, dokud nebude zaveden.
Čl. 12 Zálohování a obnova
12.1 Zálohy
Zpracovatel provádí automatické zálohy dat:
- Frekvence: nejméně jednou denně
- Umístění: EU region (Neon eu-central-1)
- Ochrana: zálohy jsou chráněny stejnými bezpečnostními opatřeními jako primární data
12.2 Point-in-time recovery (PITR)
Neon PostgreSQL poskytuje Point-in-Time Recovery:
- Umožňuje obnovit data do kteréhokoliv bodu v čase v posledních 7 dnech
- Používá se v případě náhodného smazání nebo poškození dat
12.3 Obnova v nouzové situaci
V případě ztráty dat Zpracovatel:
- Aktivuje PITR nebo obnovuje ze zálohy
- Bez zbytečného odkladu informuje Správce
- Zajistí obnovu všech dostupných dat
Čl. 13 Minimalizace údajů
13.1 Princip minimalizace
Zpracovatel uplatňuje princip minimalizace dle čl. 5 odst. 1 písm. c) GDPR a zpracovává pouze:
- údaje nutné pro poskytnutí služby
- údaje explicitně poskytnuté Správcem
- metadata nutná pro správu služby
13.2 Příklady minimalizace
- Kontakty: nejméně podrobné údaje, které stačí na vystavení faktury
- Bankovní data: maskování counterparty jména v klidu, zobrazení pouze když je nutné
- Logy: pouze relevantní informace (čas, akce, uživatel), ne obsah dat
- Cookies: pouze
fakturace_sessionpro autentifikaci afakturace_tour_startpro UI stav
13.3 Odmítnutí zbytečných dat
Zpracovatel nemá možnost vybírat si, jaké údaje zpracovávat – to určuje Správce prostřednictvím aplikace. Pokud by Správce chtěl zpracovávat údaje, které nejsou nutné, je to jeho odpovědnost.
Čl. 14 Zapojení dalších zpracovatelů
14.1 Obecné povolení
Správce tímto generálně autorizuje Zpracovatele, aby zapojil subdodavatele (dále jen „Subprocesory") na zpracování osobních údajů, a to za podmínek:
- Subprocesor je uveden v Příloze č. 2
- Zpracovatel oznámí Správci jakoukoli změnu v seznamu Subprocesů nejméně 30 dnů předem
- Správce má právo vznesit námitek dle čl. 15 smlouvy
14.2 Odpovědnost Zpracovatele
Zpracovatel zůstává plně odpovědný Správci za výkon povinností Subprocesů. Zpracovatel zajistí:
- uzavření DPA s každým Subprocesorem
- klíčová opatření bezpečnosti u Subprocesů
- příslušné právní povinnosti Subprocesů
- dodržování GDPR
14.3 Informace o Subprocesech
Zpracovatel poskytne Správci seznam Subprocesů v Příloze č. 2 a bude jej aktualizovat nejméně jednou ročně.
Čl. 15 Seznamy subdodavatelů
15.1 Schválení Subprocesů
Sezname všech Subprocesů je uveden v Příloze č. 2 a zahrnuje:
- Cloudflare – hosting, CDN, Workers runtime
- Neon – databáze PostgreSQL, eu-central-1
- Resend – transactional e-mail API
15.2 Změny v Subprocesech
Pokud Zpracovatel zamýšlí:
- Přidat nového Subprocesor
- Odebrat stávajícího Subprocesor
- Změnit rozsah zpracování u Subprocesor
Zpracovatel:
- Nejméně 30 dnů dopředu informuje Správce e-mailem
- Poskytne relevantní informace o novém Subprocesoru
- Čeká na jakýkoliv námitek Správce
15.3 Veřejný seznam
Zpracovatel udržuje veřejný seznam Subprocesů na [URL aplikace]/legal/subprocessors, který je aktualizován v reálném čase.
Čl. 16 Právo na námitku proti Subprocesům
16.1 Právo Správce
Správce má právo na námitku, je-li oprávněným důvodem nesouhlasu Správce se Subprocesorem přijetí nového nebo změněném Subprocesor, zvláště v případě:
- podstatného rizika pro bezpečnost dat
- střetu zájmů
- porušení práv subjektů údajů
- právních omezení (např. akt. regulace)
16.2 Postup namítnutí
Správce vzese námitku do 20 dnů po oznámení změny. Názor se musí obsáhnout:
- konkrétní důvody namítnutí
- relevantní faktické údaje
- požadavek na alternativu
16.3 Řešení sporu
Je-li spor neřešitelný, Správce má právo:
- zrušit službu bez penalizace (pokud je to možné)
- požádat o arbitraci dle čl. 24.5 smlouvy
- podpořit si právní pomoc
Čl. 17 Práva subjektů údajů
17.1 Součinnost Zpracovatele
Zpracovatel bude Správci v nezbytné míře pomáhat při výkonu práv subjektů údajů dle čl. 12–22 GDPR, zejména:
- právo na přístup (čl. 15)
- právo na opravu (čl. 16)
- právo na výmaz (čl. 17)
- právo na omezení zpracování (čl. 18)
- právo na přenositelnost (čl. 20)
- právo na námitku (čl. 21)
- práva v souvislosti s automatizovaným rozhodováním (čl. 22)
17.2 Jak Zpracovatel pomáhá
- Přístup: Správce může exportovat svá data ve CSV, JSON nebo XML formátu skrze aplikaci
- Oprava: Správce si může opravit údaje skrze uživatelské rozhraní
- Výmaz: Správce si může vymazat jednotlivé kontakty nebo celý účet (s výhradou čl. 5.3 pro účetní doklady)
- Přenositelnost: Zpracovatel poskytuje export dat v machinereadable formátu na požádání
17.3 Lhůty
Zpracovatel zaměří na splnění žádostí nejdéle do 30 dnů, pokud není žádost zvláště složitá nebo opakující.
17.4 Odmítnutí
Zpracovatel si může žádost odepřít pouze v přípustných případech dle čl. 12 odst. 3 GDPR (neproveditelnost, znevážení, aj.). Správce bude informován o důvodech odmítnutí.
Čl. 18 Oznámení porušení zabezpečení
18.1 Povinnost oznámit
Je-li Zpracovatel vědom porušení zabezpečení osobních údajů, bez zbytečného odkladu:
- Oznámí to Správci e-mailem na adresu [E-MAIL UŽIVATELE] nebo telefonicky
- Poskytne následující informace:
- Popis porušení (co se stalo)
- Kategorie a přibližný počet postižených subjektů údajů
- Kategorie a přibližný objem postižených datos
- Možné následky
- Přijatá a plánovaná nápravná opatření
- Kontakt na odpovědnou osobu Zpracovatele
18.2 Lhůta
Oznámení musí být provedeno bez zbytečného odkladu, nejpozději do 48 hodin od zjištění porušení, aby Správce stihل oznámit porušení Úřadu pro ochranu osobních údajů (ÚOOÚ) v lhůtě 72 hodin dle čl. 33 GDPR.
18.3 Součinnost
Zpracovatel bude Správci poskytovat všechny další informace a dokumenty nutné pro plnění povinností Správce vůči ÚOOÚ a dotčeným subjektům údajů.
18.4 Tisk porušení
Zpracovatel bude vést log všech porušení a poskytne jej Správci na požádání.
Čl. 19 Součinnost dle čl. 32–36 GDPR
19.1 Povinnosti Zpracovatele
Zpracovatel bude Správci v plné míře pomáhat při plnění jeho povinností dle:
- čl. 32 GDPR (bezpečnost zpracování)
- čl. 33 GDPR (oznámení porušení ÚOOÚ)
- čl. 34 GDPR (oznámení subjektům údajů)
- čl. 35 GDPR (posouzení vlivu)
- čl. 36 GDPR (předchozí konzultace)
19.2 Jak Zpracovatel pomáhá
Bezpečnost (čl. 32):
- Poskytuje dokumentaci technických opatření
- Provádí testy a audit bezpečnosti
- Přispívá k DPIA (impact assessment)
Porušení (čl. 33–34):
- Ohlašuje porušení bez zbytečného odkladu
- Pomáhá s komunikací ÚOOÚ a subjektům údajů
- Poskytuje forenzní analýzu
DPIA (čl. 35):
- Poskytuje informace pro DPIA
- Podílí se na posouzení rizik
- Doporučuje zmírňující opatření
Konzultace (čl. 36):
- Poskytuje podklady pro předchozí konzultaci s ÚOOÚ
- Podílí se na diskusi o opatřeních
19.3 Bezplatná součinnost
Součinnost je poskytována jako součást služby bez dodatečného poplatku, pokud nejde o mimořádný rozsah práce (více než 20 hodin za rok), kdy si Zpracovatel může účtovat přiměřenou hodinovou sazbu.
Čl. 20 Výmaz a vrácení údajů
20.1 Po ukončení služby
Po skončení poskytování služby (ukončení smlouvy, zrušení účtu) Zpracovatel:
- Na požádání Správce vrátí nebo vymaže všechny osobní údaje
- Vymaže kopie uložené u Subprocesů
- Vymaže zálohy, nejdéle do 30 dnů po ukončení
20.2 Výjimky z výmazu
Zpracovatel nemusí vymazat osobní údaje, které jsou:
- podléhají právní povinnosti k uchovávání (zejména faktury a doklady dle čl. 5.3)
- nutné pro obhajobu právních nároků
- nutné pro naplnění dalších povinností dle práva
20.3 Forma vrácení
Jsou-li údaje vráceny (nikoliv vymazány), budou vráceny v čitelném a strojově čitelném formátu (CSV, JSON, XML).
20.4 Potvrzení
Po dokončení výmazu či vrácení Zpracovatel poskytne Správci písemné potvrzení.
Čl. 21 Audit a kontrola
21.1 Právo kontroly
Správce má právo provádět:
- audit bezpečnosti a dodržování GDPR u Zpracovatele
- inspekci technických opatření
- testování obnovy a bezpečnosti
21.2 Jak se audit provádí
- Onsite audit: Správce (nebo jeho zmocněnec) má právo navštívit prostory Zpracovatele
- Audit na dálku: Audit skrze bezpečné připojení (SSH, RDP, VPN)
- Dotazník: Odesláním strukturovaného dotazníku o bezpečnosti a GDPR
21.3 Frekvence auditu
- ÚOOÚ: jednou za 3 roky (nebo podle pokynů)
- Správce: jednou ročně (bez dodatečného poplatku), nebo na požádání pokud vzniklo podezření
- Třetí strana: nezávislý auditor dle dohodnuté lhůty
21.4 Náklady
První audit ročně je bezplatný. Další audity si Zpracovatel může účtovat přiměřené náklady (na místo, čas, zdroje).
21.5 Náprava
Jsou-li v auditu zjištěny nedostatky, Zpracovatel:
- informuje Správce o zjištěních a lhůtě nápravy
- přijme nápravná opatření bez zbytečného odkladu
- poskytne Správci zprávu o nápravě
Čl. 22 Náhrada újmy a odpovědnost
22.1 Odpovědnost Zpracovatele
Zpracovatel se zavazuje nahradit Správci a dotčeným subjektům údajů jakoukoliv újmu způsobenou porušením povinností v rámci GDPR nebo této smlouvy.
22.2 Příklady odpovědnosti
Zpracovatel je odpovědný za:
- neoprávněný přístup k osobním údajům (zneužití, hacking)
- nesprávné smazání nebo poškození údajů
- porušení bezpečnosti
- úniku údajů Subprocesům bez svolení
- porušení pokynů Správce
- porušení součinnosti při právech subjektů
22.3 Limity odpovědnosti (nejsou-li aplikovány GDPR)
Bez ohledu na výš. pokyny:
- Odpovědnost podle GDPR: Odpovědnost za porušení GDPR se nelimituje. Nesmí být vyloučena, nesmí být omezena.
- Ostatní nároky: Odpovědnost za ostatní nároky (smluvní porušení mimo GDPR) je limitována na hodnotu ročního poplatku za službu, případně na částku [LIMIT NÁHRADY] Kč, podle toho, která je vyšší. Konkrétní částku doplní poskytovatel po posouzení advokátem.
22.4 Vyloučení odpovědnosti
Zpracovatel není odpovědný za újmu, je-li způsobena:
- jednáním Správce nebo třetích osob bez odpovídajícího řízení (hrubou nedbalostí či záměrem)
- vyšší mocí nebo náhodou mimo kontrolu Zpracovatele
Čl. 23 Doba trvání a ukončení
23.1 Počátek a konec
Tato smlouva začíná platit registrací Správce v aplikaci a trvá, pokud není ukončena.
23.2 Ukončení bez důvodu
- Správce: může službu zrušit kdykoliv bez důvodu a bez sankce, pokud nemá aktivní faktury (nebo jim vystaví závěrečný výkaz)
- Zpracovatel: si vyhrazuje právo skončit službu s 30denní výpovědí, pokud Správce porušuje obchodní podmínky nebo neplatí faktury
23.3 Okamžité ukončení
Kterákoliv strana si vyhrazuje právo okamžitě skončit službu (bez výpovědi) v případě:
- porušení povinnosti, která není odstraňena do 15 dnů od upozornění
- porušení bezpečnosti
- ohrožení bezpečnosti ostatních uživatelů
23.4 Povinnosti po ukončení
Po skončení smlouvy:
- Zpracovatel poskytnout Správci export všech dat v čitelné formě
- Smaže všechny osobní údaje (s výjimkou čl. 20.2) nejdéle do 30 dnů
- Deaktivuje všechny API tokeny a session cookies
- Zastaví veškeré zpracování na účtu Správce
23.5 Zachování smlouvy
Články týkající se bezpečnosti, minimalizace, odpovědnosti, důvěrnosti a likvidace budou platné i po skončení smlouvy.
Čl. 24 Závěrečná ustanovení
24.1 Právní režim
Tato smlouva je řídí právním řádem České republiky. V případě sporu se uplatní:
- snaha o smírné řešení mezi stranami
- mimosoudní řešení sporu prostřednictvím ČOI (Česká obchodní inspekce, adr.coi.cz)
- právní řešení před Obecným soudem nebo krajským soudem dle místní příslušnosti
24.2 Výběr práva
Jednotlivé právní norms a právní prameny jsou řazeny následovně (od nejvyšší po nejnižší prioritu):
- GDPR (Nařízení (EU) 2016/679)
- Zákon č. 110/2019 Sb., o zpracování osobních údajů
- Občanský zákoník (zákon č. 89/2012 Sb.)
- Obchodní podmínky Zpracovatele
24.3 Změny smlouvy
Zpracovatel si vyhrazuje právo měnit tuto smlouvu či obchodní podmínky s 30denní výpovědí. Oznámí-li Zpracovatel změny, Správce:
- je povinen je přijmout pokračovanjem v používání služby
- má právo skončit službu bez penalizace, pokud se změní podstatné podmínky
24.4 Bezpečnostní aktualizace
Bez ohledu na čl. 24.3:
- Bezpečnostní aktualizace a záplaty se provádějí okamžitě bez výpovědi
- Pravidelné údržby jsou oznámeny 7 dnů dopředu
24.5 Řešení sporů
Obě strany se zavazují řešit spory vůči sobě:
- Dohodou (nejlépe písemně)
- Prostřednictvím ČOI (adr.coi.cz), jde-li o spor mezi Zpracovatelem a Správcem, kterýžto je spotřebitel
- Arbitrací (je-li dohodnuto) před Arbitrážní komisí HK ČR
- Soud: příslušný je Obecný soud či krajský soud dle místa podání
24.6 Oddělitelnost
Jsou-li některá ustanovení smlouvy nebo obchodních podmínek neplatná nebo nevymahatelná, zbytek smlouvy zůstane v platnosti.
24.7 Jazyk
Tato smlouva je sepsána v češtině. V případě překladů do jiných jazyků je rozhodující znění v češtině.
24.8 Podpis a akceptace
Registrací v aplikaci a přijetím obchodních podmínek Správce vyjadřuje svůj nezvratný souhlas s každým ustanovením této smlouvy a obchodních podmínek. Smlouva vstupuje v platnost okamžitě po registraci.
Čl. 25 Přílohy
Nedílnou součástí smlouvy jsou následující přílohy:
- Příloha č. 1: Popis zpracování (Processing Description)
- Příloha č. 2: Seznam subdodavatelů (List of Sub-processors)
- Příloha č. 3: Technická a organizační opatření (Technical and Organizational Measures)
Příloha č. 1: Popis zpracování
P1.1 Předmět zpracování
| Aspekt | Popis |
|---|---|
| Aplikace | Fakturace SaaS – aplikace pro správu faktur, ceníků, kontaktů, bankovních výpisů |
| URL | [URL aplikace] |
| Provozovatel | [OBCHODNÍ FIRMA POSKYTOVATELE] |
| Počátek zpracování | Registrace Správce a přijetí obchodních podmínek |
| Konec zpracování | Smazání účtu nebo konec aktivity (dle čl. 5.3 s výjimkou) |
P1.2 Kategorie zpracovaných údajů
| Kategorie | Popis |
|---|---|
| Kontakty | Jméno, IČO, DIČ, adresa, e-mail, telefon, ARES data, poznámky |
| Faktury | Číslo, datum, položky, ceny, strany (kupující/prodávající), poznámky |
| Ceníky | Identifikátor, jméno, cena, jednotka, popis |
| Bankovní data | Číslo účtu, jméno, surová data výpisu, protistrana (maskovaná), transakce |
| Autentizace | E-mail, IP adresa, čas přihlášení; přihlašovací token je podepsaná cookie v prohlížeči, v databázi se neukládá |
| API | API tokeny (uloženy jako otisk), webhooky, provozní záznamy |
P1.3 Kategorie subjektů údajů
| Kategorie | Počet (přibližně) |
|---|---|
| Uživatelé (Správci) | 1 na účet (OSVČ, zástupce s.r.o.) |
| Zákazníci a dodavatelé | 0–10 000 na účet |
| Třetí strany v bankovních datech | 0–100 000 na účet |
| Jednatelé/zástupci (z ARES) | 0–100 na účet |
P1.4 Lokace a infrastruktura zpracování
| Komponenta | Lokace | Popis |
|---|---|---|
| Aplikace (Frontend) | Cloudflare CDN | Next.js 16 SPA, distribuováno globálně |
| Aplikace (Backend) | Cloudflare Workers | Serverless funkce, edge deployment |
| Databáze | Neon, eu-central-1 (Frankfurt) | PostgreSQL managed, EU region |
| Resend | Transactional email API | |
| Zálohy | Neon + redundance | Automatické, EU region |
P1.5 Doba zpracování
| Typ údajů | Doba trvání | Důvod |
|---|---|---|
| Session cookies | Do vypršení nebo odhlášení | Autentifikace |
| API tokeny | Až do odvolání | Programmatický přístup |
| Faktury a doklady | 10 let | § 31 ZoÚ, § 35 ZDPH |
| Kontakty | Doba aktivního účtu | Funkčnost aplikace |
| Bankovní výpisy | 10 let | Účetní povinnost |
| Logy | 1 rok | Bezpečnostní audit |
| ARES cache | Do obnovení nebo smazání | Redukce dotazů |
P1.6 Účely zpracování
- Poskytnutí služby (správa faktur, dokladů, kontaktů)
- Autentifikace a řízení přístupu
- Odesílání transakcí a notifikací
- Bezpečnostní monitoring a detekce zneužití
- Zálohování a obnova
- Plnění právních povinností (účetnictví)
- Analýza a zlepšování služby (bez identifikace konkrétních osob)
P1.7 Právní základ
- čl. 6 odst. 1 písm. b) GDPR: splnění smlouvy
- čl. 6 odst. 1 písm. c) GDPR: právní povinnost (uchovávání dokladů)
- čl. 6 odst. 1 písm. f) GDPR: oprávněný zájem (bezpečnost)
Příloha č. 2: Seznam subdodavatelů
Aktualizace: [DATUM AKTUALIZACE]
S2.1 Povolení Subprocesů
Správce generálně povoluje následujícím Subprocesům zpracovávat osobní údaje:
| Jméno | Funkce | Lokace | Kontakt | DPA |
|---|---|---|---|---|
| Cloudflare, Inc. | Hosting, CDN, Workers | USA, EU CDN | cloudflare.com | Ano |
| Neon | Postgres databáze | eu-central-1 (Frankfurt) | neon.tech | Ano |
| Resend | Transactional e-mail | Nestabilní (ověřit) | resend.com | Ano |
S2.2 Cloudflare, Inc.
- Role: Infrastructure provider (hosting, CDN, Workers runtime)
- Data: Veškerá data aplikace (při přenosu a v běhu Workers)
- DPA: Cloudflare GDPR Addendum
- Umístění: USA (Cloudflare HQ), ale EU data procházejí skrz EU edge
- Rizika: Cloudflare má přístup k datům v runtime (zálohování je lokální)
S2.3 Neon (neon.tech)
- Role: Database provider (managed PostgreSQL)
- Data: Všechny data uložená v databázi (faktury, kontakty, bankovní data)
- DPA: Ano (k dispozici na webu Neon)
- Umístění: eu-central-1, Frankfurt, Německo (EU)
- Rizika: Přístup k surový datům v klidu; je zašifrováno na úrovni úložiště
S2.4 Resend (resend.com)
- Role: Email service provider
- Data: E-mailové adresy, obsah e-mailů (faktury, notifikace)
- DPA: Ano (k dispozici na webu Resend)
- Umístění: Ověřit (nenalezeno v kódu; předpokládá se USA/EU)
- Rizika: E-mailové adresy jsou v transitu třetímu poskytovateli
S2.5 ARES (Czech Register)
- Role: Business register lookup (veřejná autorita)
- Data: Pouze IČO dotazy (žádné osobní údaje)
- Umístění: Česká republika
- DPA: Nepoužije se (veřejná autorita)
- Rizika: Žádné (žádné osobní údaje nejsou odesílány)
S2.6 ČNB (Czech National Bank)
- Role: Exchange rate lookup (veřejná autorita)
- Data: Žádné osobní údaje (pouze dotaz na kurzy)
- Umístění: Česká republika
- DPA: Nepoužije se (veřejná autorita)
- Rizika: Žádné
S2.7 Postup pro přidání Subprocesor
Je-li nutné přidat nového Subprocesor, Zpracovatel:
- Informuje Správce e-mailem nejméně 30 dnů dopředu
- Poskytne:
- Jméno a adresu Subprocesor
- Typ zpracovávanych údajů
- Umístění zpracování
- Kopii DPA nebo prohlášení o bezpečnosti
- Správce má 20 dnů na vzetí námitky (čl. 16)
- Nový Subprocesor je zahrnut do smlouvy nejdřív po uplynutí lhůty a bez vzetí námitky
Příloha č. 3: Technická a organizační opatření
Verze: 1.0
Poslední aktualizace: [DATUM AKTUALIZACE]
M3.1 Bezpečnost sítě a přenosu
M3.1.1 TLS Encryption
- Standard: TLS 1.3+ je povinný
- Certifikáty: X.509 certifikáty vydané certifikační autoritou (Let's Encrypt nebo ekvivalent)
- Algoritmy: ECDHE + AEAD (ChaCha20-Poly1305 nebo AES-GCM)
- Implementace: Cloudflare, Next.js, Node.js
- Platnost: Certifikáty jsou automaticky obnoveny před vypršením
M3.1.2 Brána firewall a DDoS
- Cloudflare: WAF (Web Application Firewall) filtruje SQL injection, XSS, bot útoky
- DDoS: Cloudflare chránit před DDoS útoky
- Rate limiting: Aplikace limituje počet pokusů o přihlášení a API požadavků
M3.2 Ověřování a autorizace
M3.2.1 Hesla
- Hashing: PBKDF2 s alespoň 100 000 iteracemi
- Salt: Náhodný salt na heslo
- Minimální délka: 8 znaků (doporučeno 12+)
- Resetování: 24-hodinový token s jedním použitím
M3.2.2 Session Management
- Cookie:
fakturace_session - Podpis: HMAC-SHA256 s tajným klíčem (APP_PASSWORD)
- httpOnly: Ano (nedostupné z JavaScriptu)
- Secure: Ano (přenos jen přes HTTPS)
- SameSite: Strict (ochrana před CSRF)
- Doba trvání: Zůstává aktivní do doby nečinnosti (výchozí 30 dní, bez aktivity 7 dní)
M3.2.3 API Tokeny
- Formát: Base64 s checksumem
- Hashing: SHA256
- Obnova: Nelze ji zobrazit podruhé; lze ji odvolat kdykoliv
- Rozsah: Tokeny jsou omezeny na konkrétní operace (read/write)
M3.2.4 Multi-Factor Authentication (MFA)
- Stav: Není implementováno v 0.1.0
- Plán: Implementace TOTP (Time-based One-Time Password) v budoucnu
M3.3 Šifrování v klidu
M3.3.1 Databáze
- Databáze: PostgreSQL v Neon
- Šifrování: Neon automaticky šifruje všechny data na úrovni bloku (AES-256 nebo ekvivalent)
- Klíče: Jsou spravovány Neon (dost klíčů nejsou přístupné Zpracovateli)
- Hesla: Hashovány PBKDF2, ne šifrované (hash je nevratný)
M3.3.2 Zálohy
- Automatické: Každý den
- Umístění: EU region (eu-central-1)
- Šifrování: Stejně jako primární data
- Retenč: 30 dnů (PITR do 7 dnů, dlouhodobé zálohy až na žádost)
M3.3.3 Log plansforming
- Aplikace: Logy se odesílají do stdout/stderr (nejsou chráněny šifrováním)
- Bezpečnost: Logy jsou dostupné jen Správci Cloudflare/Neon
M3.4 Přístup a kontrola
M3.4.1 Role-Based Access Control (RBAC)
- Role: Owner, Admin (Reader a Guest budou přidány později)
- Databáze: Row Level Security (RLS) — každý dotaz je filtrován dle tenant_id
- Aplikace: Authorization middleware v lib/auth.ts, middleware.ts
- API: Tokeny jsou ověřeny a omezeníy svým rozsahem
M3.4.2 Přístup zaměstnanců a subdodavatelů
- Cloudflare: Přístup přes dashboard s 2FA
- Neon: Přístup přes dashboard s SSH klíči
- Resend: Přístup přes API klíče (bez osobních údajů)
- Školení: Všichni zaměstnanci projdou školením GDPR a bezpečnosti
M3.4.3 Auditing
- Log: Všechny akce jsou zaznamenány (vytvoření, změna, smazání dokumentů)
- Dostupnost: Logy jsou dostupné Správci v aplikaci (základní info: čas, akce, uživatel)
- Retence: 1 rok
M3.5 Separace a izolace
M3.5.1 Tenant Isolation
- Úroveň aplikace: Správce vidí jen svá data
- Databáze: RLS politiky brání vrácení cizích dat
- API: Tokeny nejsou portabilní mezi accounts
M3.5.2 Row Level Security (RLS)
Implementace v PostgreSQL:
CREATE POLICY tenant_isolation ON invoices
USING (tenant_id = current_setting('app.current_tenant_id')::uuid);- Všechny tabulky mají RLS politiky
- Bez RLS politiky se žádné řádky nevrátí (fail-closed)
M3.5.3 Nesmíšení v Neon
- Každý tenant má vlastní PostgreSQL schemata (pokud je výhodné)
- Nebo stejné schéma s RLS (aktuálně)
M3.6 Minimalizace a maskování
M3.6.1 Bankovní data
- Surová data:
bank_statements.raw_dataobsahuje full ABO XML - Maskování: Jméno a účet protistran nejsou zobrazeny uživatelem bez explicitního požadavku
- Storage: Raw data se uchovávají 10 let (účetní povinnost)
- Smazání: Lze je odstranit, ale ne jednotlivě (celý import je smazán)
M3.6.2 ARES Cache
- Caching: ARES odpovědi jsou cachováni na řádku kontaktu
- Výhoda: Snižuje dotazy na ARES (veřejný registr)
- Aktualizace: Lze je obnovit ručně nebo automaticky po X dnech
M3.6.3 Výchozí maskování
- Session cookies: Nejsou zveřejňovány
- API tokeny: Nejsou zobrazovány po uložení
- Hesla: Nejsou nikdy vrácena ani v debug režimu
- Bankovní čísla: Nejsou zobrazena bez explicitního požadavku
M3.7 Kontinuita a obnova
M3.7.1 Backup Strategy
- Frekvence: Denní (Neon automatické)
- Retenč: 30 dní (7 dní PITR, 30 dní dlouhodobé zálohy na žádost)
- Umístění: EU region (eu-central-1)
- Testování: Měsíčně se testuje obnova (simulace výpadku)
M3.7.2 Point-in-Time Recovery (PITR)
- Technologie: PostgreSQL WAL (Write-Ahead Logging)
- Schopnost: Obnovit databázi do libovolného bodu v posledních 7 dnech
- Aktivace: Ruční požadavek na Neon nebo Zpracovatele
M3.7.3 Disaster Recovery
- RTO (Recovery Time Objective): Cíl je 4 hodiny
- RPO (Recovery Point Objective): Cíl je 1 hodina
- Primární strategie: Neon PITR (je nejrychlejší)
- Sekundární strategie: Restore z dlouhodobé zálohy
- Testování: Ročně se provádí test obnovy z katastrofy
M3.8 Monitorování a zjišťování incidentů
M3.8.1 Monitoring
- Cloudflare: Monitoring dostupnosti, latence, chyb
- Neon: Monitoring porošení diskového prostoru, připojení, výkonu
- Aplikace: Application Performance Monitoring (není ještě implementováno)
M3.8.2 Detekce porušení
- Přihlášení: Detekce podezřelých přihlášení (jiná IP, země, čas)
- Aktivita: Detekce anomálií v chování (hromadný export, smazání)
- Síť: Cloudflare WAF detekuje běžné útoky
M3.8.3 Incident Response
- Detekce: Automatický alert nebo hlášení od třetích stran
- Isolace: Podezřelý account je zablokován
- Vyšetřování: Forenzní analýza logů
- Hlášení: Správce je informován bez zbytečného odkladu (do 48 hodin)
- Náprava: Heslo se resetuje, session se vyrušuje, data se obnovují
M3.9 Fyzická bezpečnost
M3.9.1 Datacentra
- Cloudflare: Zabezpečená datacentra s nepřetržitou fyzickou ostrahou
- Neon: Provozuje spravovaný PostgreSQL na infrastruktuře veřejného cloudu v regionu eu-central-1 (Frankfurt, EU)
- Přístup: Omezen na autorizovaný personál
M3.9.2 Přístup k serverům
- SSH: Autentifikace jen pomocí klíčů (žádné hesla)
- VPN: Všechny administrativní připojení přes VPN
- Logging: Všechny SSH připojení jsou zaznamenány
M3.10 Školení a povědomí
M3.10.1 Školení zaměstnanců
- GDPR: Povinné školení pro všechny zaměstnance
- Bezpečnost: Školení o bezpečnosti dat a incidentech
- Obnova: Opakované školení ročně
- Podpis: Všichni zaměstnanci podepíší souhlas s důvěrností
M3.10.2 Bezpečnostní postupy
- Změna hesla: Alespoň jednou za 90 dní
- VPN: Povinné pro přístup k produkčním datům
- MFA: Na administrátorské účty u Cloudflare a Neon
- Příslušenství: Bezpečné mikání (šifrované disky, SSL certifikáty)
M3.11 Bezpečnostní otestování
M3.11.1 Penetrační testování
- Plán: Plánován externí penetrační test (v budoucnu)
- Frekvence: Nejméně jednou ročně
- Škop: Web aplikace, API, infrastruktura
- Výsledky: Budou dostupné Správci na vyžádání
M3.11.2 Bezpečnostní audit
- Interní: Měsíčně se kontrolují logy a konfiguraci
- Externí: Ročně (nebo na vyžádání) nezávislý auditor
- Compliance: Kontrola GDPR souladu
M3.11.3 Výstupy auditu
- Zpráva o zjištěních
- Doporučení náprav
- Lhůta na nápravy
- Potvrzení o nápravě
M3.12 Údržba a aktualizace
M3.12.1 Security Updates
- OS: Automatické patching
- Dependencies: Měsíční kontrola a upgrade
- Databáze: Cloudflare a Neon spravují samo
- Aplikace: Měsíční release s bezpečnostními opatřenímy
M3.12.2 Oznámení údržby
- Plánovaná: 7 dnů dopředu
- Bezpečnostní: Bez výpovědi (okamžitě)
- Kanál: E-mail, in-app notifikace
Průhlednost a Disclaimer
Tento dokument je přípravný draft vypracovaný týmem poskytovatele. Není právnickým poradenstvím a musí být přezkoumanji kvalifikovaným českou právníkem PŘED vydáním. Poskytovatel nezaručuje právní dokonalost dokumentu.
Klíčové upozornění
- Tento dokument je NÁVRH (draft)
- Všechny údaje označené
[v hranatých závorkách]musí být vyplněny - Všechna tvrzení o technických opatřeních musí být ověřena v kódovém základu
- Vypršení DPA v jiných dokumentech (obchodní podmínky, PP) nesmí být v rozporu s tímto dokumentem
- Doporučuje se konzultace s právníkem a datovým ochranářem (DPO) před zveřejněním
Verze a Aktualizace
- Verze: 1.0 NÁVRH
- Poslední aktualizace: [DATUM]
- Další plánovaná aktualizace: Při přidání nového Subprocesor nebo technických změn
- Autorizace: Právní a bezpečnostní tým Zpracovatele
Konec dokumentu DPA