Táto stránka opisuje, čo Služba pre bezpečnosť vašich údajov naozaj robí. Uvádzame len to, čo je v zdrojovom kóde alebo v nastavení servera — nie to, čo by sa dobre čítalo.
Šifrovanie prenosu
- HTTPS/TLS — celá komunikácia medzi vaším zariadením a serverom je šifrovaná. Certifikáty vydáva Let's Encrypt.
- HSTS — server posiela hlavičku
Strict-Transport-Securitys platnosťou jedného roka vrátane podradených domén, takže prehliadač sa po prvej návšteve na nešifrované spojenie už nevráti.
Heslá
- Uložené len ako odtlačok. Používame bcrypt s parametrom náročnosti 12. Heslo v čitateľnej podobe nie je uložené nikde.
- Nevieme ho obnoviť. Vieme vám len umožniť nastaviť nové — aj prevádzkovateľka vidí iba odtlačok.
- Najmenej 8 znakov, najviac 128. Horná hranica nie je svojvoľná: bcrypt pracuje s prvými 72 bajtami a čokoľvek dlhšie už nepridáva bezpečnosť.
- Odkaz na obnovu hesla platí 1 hodinu, odkaz na overenie e-mailovej adresy 24 hodín. Potom je neplatný.
- Zmena hesla ukončí všetky prihlásenia na všetkých zariadeniach.
Prihlásenie a relácie
- Relácie spravuje knižnica Auth.js pomocou podpísaného tokenu v cookie.
- Prihlasovací formulár je chránený tokenom CSRF.
- Počet pokusov o prihlásenie je obmedzený, rovnako ako žiadosti o obnovu hesla (3 za 15 minút na adresu).
- Okrem hesla podporujeme prihlásenie cez Google, ak je zapnuté.
- Dvojfaktorové overenie zatiaľ nepodporujeme.
Bezpečnosť aplikácie
- Databázové dotazy stavia Prisma ako parametrizované — vstup sa nikdy nevkladá do SQL ako text.
- Výstup do stránky escapuje React automaticky; escapujeme aj hodnoty vkladané do e-mailových šablón.
- Vstupy sú kontrolované na typ, dĺžku aj formát.
- Zapisovacie rozhrania majú obmedzenie frekvencie volaní.
- Bezpečnostné hlavičky:
X-Frame-Options: DENY,Content-Security-Policy: frame-ancestors 'none',X-Content-Type-Options: nosniff,Referrer-Policy: strict-origin-when-cross-origin,Strict-Transport-SecurityaPermissions-Policy, ktorá aplikácii zakazuje kameru, mikrofón aj polohu.
Server a údaje
- Databáza nie je dostupná z internetu. Beží vo vnútornej sieti, ku ktorej sa zvonka nedá pripojiť.
- Údaje sú uložené na Slovensku, na vlastnom serveri. Podrobnosti sú v Zásadách ochrany osobných údajov.
- Zálohy sa vytvárajú pred nasadením novej verzie, sú prístupné len prevádzkovateľke a po 30 dňoch ich denná úloha maže.
Záznamy a audit
- Auditný záznam vzniká pri citlivých úkonoch — zmena hesla, zmena e-mailovej adresy, zmena nastavení, zrušenie účtu.
- Uchovávame ich 90 dní, potom sa mažú. Nie je to sľub: mazanie beží ako denná úloha a lehoty sú v kóde na jednom mieste.
- IP adresa a prehliadač sa zaznamenávajú len pri týchto bezpečnostných udalostiach.
- Chybové hlásenia zbierame bez hesiel, tokenov a bez obsahu vašich záznamov.
Čo prevádzkovateľka nevidí
V administrácii nie je vidieť obsah vašich záznamov — ani poznámky, ani príznaky, ani merania. Vidno len počty a nastavenia účtu.
Testovanie
- Bezpečnostné testy kódu robíme opakovane, ako súčasť vývoja.
- Sken tajomstiev (gitleaks) beží pri každej zmene v kóde aj nad celou históriou repozitára — aby sa do kódu nedostal prístupový kľúč ani heslo.
- Kontrola závislostí beží automaticky (Dependabot a
npm audit), aby sa o zraniteľnosti v použitých knižniciach vedelo hneď. - Penetračné testy sme zatiaľ nerobili. Píšeme to sem, lebo tvrdiť opak by bolo pohodlnejšie, ale nepravdivé.
Ako nahlásiť bezpečnostný problém
Ak ste našli zraniteľnosť, napíšte nám prosím súkromne — nie do verejného priestoru.
E-mail: michaela@tehujoga.sk
Predmet: „[SECURITY] Bezpečnostná zraniteľnosť“
Odpovieme do 48 hodín a budeme pracovať na oprave. Po oprave môžeme zraniteľnosť zverejniť — s poďakovaním vám, alebo anonymne, podľa toho, čo si budete priať.
Keď sa niečo stane
Pri bezpečnostnom incidente:
- okamžite oddelíme dotknuté systémy,
- zistíme, čoho sa incident týkal a ako dlho trval,
- do 72 hodín upozorníme dotknuté používateľky a ohlásime ho dozornému úradu, ak to GDPR vyžaduje,
- po oprave zverejníme, čo sa stalo — bez podrobností, ktoré by umožnili útok zopakovať.
Čo môžete urobiť vy
- Dlhé a jedinečné heslo. Nepoužívajte ho nikde inde.
- Na cudzom zariadení sa odhláste, prípadne si po návrate zmeňte heslo — tým sa ukončia všetky relácie.
- Prehliadač a operačný systém držte aktuálne.
- Pozor na zdieľanie. Kalendár uvidí len ten, koho sami pozvete, a rozsah určujete vy — ale komu ho dáte, to je vaše rozhodnutie.
Čím sa riadime
- GDPR — nariadenie (EÚ) 2016/679 a zákon č. 18/2018 Z. z.
- OWASP Top 10 — pri návrhu aj kontrole kódu.
Nemáme bezpečnostnú certifikáciu a netvrdíme, že máme.
Kontakt
E-mail: michaela@tehujoga.sk
Predmet: „[SECURITY]“