Skip to content

GDPR: e-maily a notifikace

Stránka navazuje na Inventuru e-mailů a notifikací a hodnotí ji z pohledu ochrany osobních údajů. Není to právní posudek, je to podklad pro záznamy o činnostech zpracování a pro rozhodnutí, co v kódu upravit.

Kategorie údajů, které opouštějí aplikaci

Section titled “Kategorie údajů, které opouštějí aplikaci”
Kategorie Kde se objevuje
Identifikační údaje (jméno, příjmení, název týmu) rezervace, objednávky, poptávky, přihlášky, Slack reporty
Kontaktní údaje (e-mail, telefon) potvrzení rezervace, poptávky, přihlášky na pozici, Slack reporty o moderátorech
Adresa a doručovací údaje e-shopové e-maily (položky a doprava), převzetí výhry v lize
Údaje o účasti a výsledcích potvrzení rezervací, Reservation\OnboardAnonymous, výsledky týmu
Volný text od uživatele kontaktní formulář, poptávka, poznámka k rezervaci, komentáře k tématům
Finanční údaje odměny moderátorů a autorů témat, ceny objednávek, uplatněné vouchery
Kompletní výpis účtu příloha merge_log.json u User\UserMerged a User\AccountDeletedDueToMerge

Zvláštní kategorie údajů podle článku 9 GDPR aplikace v notifikacích neposílá. Životopis uchazeče zůstává v úložišti (JobApplication.cv_path), do e-mailu se nepřikládá.

Skupina notifikací Titul Poznámka
Rezervace, potvrzení, připomínky, zrušení plnění smlouvy, respektive opatření před uzavřením smlouvy bez těchto zpráv nelze rezervaci provozovat
E-shopové stavové e-maily plnění smlouvy posílají se automaticky podle stavu objednávky
Reset hesla, dokončení registrace, sloučení účtů plnění smlouvy a oprávněný zájem na bezpečnosti účtu
Provozní zprávy moderátorům a autorům témat plnění smlouvy o spolupráci
Slack a interní reporty oprávněný zájem na řízení provozu vyžaduje minimalizaci, viz rizika
Newsletter souhlas double opt-in přes Mailing\NewsletterConfirmSubscription, potvrzení tokenem
Reservation\OnboardAnonymous oprávněný zájem navazuje na odehraný kvíz, obsahuje výsledky a nabídku účtu
Potvrzení kontaktního formuláře, poptávky a přihlášky plnění opatření před uzavřením smlouvy kopie údajů jde zpět odesílateli
Příjemce Co k němu odchází Umístění
SMTP mail.chytrykviz.cz veškerý obsah e-mailů vlastní server, EU
Slack provozní reporty včetně jména, e-mailu a telefonu moderátorů mimo EU, standardní smluvní doložky
Asana firemní poptávky, úkol zakládá job CreateAsanaTaskForInquiry mimo EU
Ecomail e-mail, jméno a příjmení odběratelů newsletteru EU (ČR)
Sentry chybové kontexty, mohou obsahovat identifikátory a e-maily; send_default_pii není v config/sentry.php zapnuté mimo EU

Interní adresy (config('kviz.admin_email'), kontakt z CompanyPageSettings) jsou skupinové schránky. Přístup k nim je potřeba držet v souladu s tím, kdo skutečně poptávky a přihlášky řeší.

Značka je jedna, firmy dvě. Zákazník to nepozná, ale z pohledu GDPR jde o dva samostatné správce, mezi kterými osobní údaje přecházejí.

Co Provozuje Proč tak
Web, rezervace, ligy, účty hráčů Chytrykviz s.r.o. hlavní provoz aplikace
Platební brána ChytrýKvíz Ostravsko smluvní vztah s poskytovatelem brány
E-shop ChytrýKvíz Ostravsko e-shop má běžet jako neplátce DPH

Sedm stavových zpráv e-shopu a všechno kolem plateb tedy odesílá tatáž aplikace, ale za jiný subjekt než rezervační e-maily. Doručovací adresa zadaná v e-shopu končí u jiného správce než rezervace téhož člověka.

Kdo si jednou rezervoval kvíz, dostává potvrzení, připomínky, výzvy k potvrzení stálé rezervace i oznámení o zrušení a nemá jak se odhlásit. V aplikaci není žádné nastavení notifikací a v kódu ani odhlašovací odkaz, opt-out existuje pouze pro mailing listy (MailingSubscription, tedy newsletter). Část zpráv je nutná k plnění smlouvy, ale připomínky a výzvy stojí na oprávněném zájmu, proti kterému lze vznést námitku. Bez přepínače nebo odkazu nemá subjekt údajů jak to právo uplatnit.

Doporučení: rozdělit zprávy na nutné a nepovinné. K nepovinným přidat podepsaný odhlašovací odkaz a v profilu hráče přepínač. U rezervací bez účtu stačí odkaz v patičce, který vypne další připomínky pro danou adresu.

2. Anonymní rezervace dostane pobídku k registraci

Section titled “2. Anonymní rezervace dostane pobídku k registraci”

Reservation\OnboardAnonymous posílá po kvízu výsledky a k tomu nabídku založení účtu s odkazem platným 14 dní. Účelem není informovat o odehraném kvízu, ale získat registraci, což je svou povahou blízko přímému marketingu, kde se právo na námitku uplatňuje bez výjimky. Důvod odeslání je přitom produktový: bez účtu nelze příště rezervovat pod stejným názvem týmu.

Doporučení: primárně umožnit opakovanou rezervaci pod stejným názvem týmu i bez účtu, tím pobídka ztratí důvod. Dokud to nejde, oddělit výsledky od nabídky registrace, posílat nabídku jen jednou a doplnit odhlašovací odkaz.

3. Údaje přecházejí mezi dvěma správci

Section titled “3. Údaje přecházejí mezi dvěma správci”

Web a rezervace provozuje Chytrykviz s.r.o., platební bránu a e-shop ChytrýKvíz Ostravsko. Aplikace je společná, správci jsou dva. Předání údajů mezi nimi musí pokrývat buď ujednání společných správců podle článku 26, nebo smlouva mezi samostatnými správci. Zásady zpracování musí jmenovat oba subjekty a u každé skupiny údajů určit odpovědnost.

Doporučení: ověřit, zda ujednání mezi oběma firmami existuje a pokrývá i platební bránu. Do zásad zpracování doplnit rozdělení rolí a v patičce e-shopových zpráv uvádět jako odesílatele ChytrýKvíz Ostravsko, ne obecnou značku.

4. Sloučení účtů posílá údaje druhé osobě

Section titled “4. Sloučení účtů posílá údaje druhé osobě”

User\UserMerged chodí na cílový účet a obsahuje jméno i e-mail rušeného účtu plus přílohu merge_log.json s výpisem přesunutých dat. Pokud jsou účty dvou různých osob, je to předání osobních údajů třetí osobě. User\AccountDeletedDueToMerge posílá stejnou přílohu na rušenou adresu.

Doporučení: přílohu neposílat, nebo ji omezit na počty přesunutých záznamů. Detailní log nechat pouze v administraci.

Internal\QuizzDownloaded a Internal\ResultEntered vypisují do Slacku e-mail a telefon moderátora, Moderator\QuestionaireSended e-mail kandidáta, VoucherRedeemed e-mail moderátora. Údaje tak trvale leží v historii kanálu, kterou nikdo nemaže a která je mimo dosah mazacích požadavků subjektů údajů.

Doporučení: ve Slacku nechat jméno a odkaz do administrace, kontaktní údaje vypustit.

ReservationConfirmed, ReservationReminder, ReservationInvited a StandingConfirmationRequested posílají odkazy s tokenem rezervace bez časové platnosti. Odkaz na zrušení (reservation.revoke) rezervaci maže rovnou v GET požadavku, potvrzení stálé rezervace naštěstí jen otevře formulář a mění stav až přes POST. Kdo má e-mail, může s rezervací manipulovat i po roce.

Doporučení: používat podepsané URL s expirací, jako to dělá OnboardAnonymous (14 dní) nebo TeamCaptainInvitation (týden).

  • Tabulka notifications (kanál database) není nijak prořezávaná, metadata včetně jmen podniků a částek zůstávají navždy.
  • Tabulka failed_jobs uchovává payload notifikací, tedy i osobní údaje. V plánovači není queue:prune-failed. Horizon si své vlastní záznamy maže po týdnu.

Doporučení: doplnit do plánovače prořezávání obou tabulek a lhůtu zapsat do záznamů o činnostech.

Admin\AdminMessage posílá libovolný HTML text, který admin napíše v odpovědi na feedback. Obsah se nikam neloguje, takže není dohledatelné, co bylo odesláno.

Doporučení: ukládat odeslanou odpověď k feedbacku.

  • Newsletter má double opt-in a potvrzení tokenem, bez potvrzení se nic neposílá.
  • Životopis uchazeče se do e-mailu nepřikládá.
  • E-shopové e-maily posílá observer jen tehdy, když má objednávka adresu, takže nehrozí odeslání na cizí kontakt z rozpracované objednávky.
  • Odkazy na detail objednávky používají hash, ne pořadové číslo.
  • V kódu nejsou natvrdo zadané osobní adresy příjemců, interní příjemci se berou z nastavení.
  1. Jaké údaje jsou v těle zprávy a jsou tam všechny opravdu potřeba?
  2. Kdo je příjemce a je jisté, že jde o subjekt údajů nebo oprávněnou osobu?
  3. Jde zpráva i do Slacku nebo jiné externí služby?
  4. Obsahuje odkaz token a má expiraci?
  5. Je k tomu právní titul a je zanesený v záznamech o činnostech zpracování?