Preskočiť na obsah

Právny zástupný text

Vyhlásenie o bezpečnosti

Technické a organizačné opatrenia chrániace službu RavSolutions — prenos, prihlásenie, relácie, oddelenie pracovných priestorov, súbory, ochrana pred zneužitím, logovanie a reakcia na incidenty — a rovnako otvorene aj to, čo nemáme.

Naposledy aktualizované
2026-08-04
Verzia
1.0.0
Čas čítania
12 min čítania

1. Čo je toto vyhlásenie

Toto vyhlásenie opisuje technické a organizačné opatrenia, ktoré chránia službu RavSolutions a údaje v nej uložené. Je napísané tak, aby sa dalo overiť: pomenúva opatrenia, ktoré sú skutočne implementované, a časť 15 rovnako otvorene uvádza, čo nemáme.

Nie je zárukou a nezakladá žiadny záväzok úrovne služieb; zmluvné podmienky sú v Obchodných podmienkach. Ak sa rovnaké opatrenie objavuje aj v informácii GDPR alebo v informáciách o spracúvaní údajov, má vyjadrovať vecne to isté.

Vzťahuje sa na službu, ktorú prevádzkujeme. Bezpečnosť účtov, zariadení a hesiel vo vlastnom pracovnom priestore predplatiteľa je jeho zodpovednosťou; žiadne tu opísané opatrenie nechráni pracovný priestor, ktorého prihlasovacie údaje boli zdieľané alebo opakovane použité.

2. Ako je služba postavená

Služba pozostáva z troch frontendov — webovej stránky, aplikácie a portálu zákazníka —, jedného API, databázy PostgreSQL, inštancie Redis a objektového úložiska. Frontendy sa k API dostávajú iba cez HTTPS.

Všetko okrem objektového úložiska beží za reverzným proxy na infraštruktúre RackForest Zrt. v Hungary (EU). Databáza a Redis sú pripojené iba k internej sieti a nezverejňujú žiadny port, takže ani jedno z nich nie je dosiahnuteľné z internetu; hovoriť s nimi môže iba API.

Nahraté súbory sa neuchovávajú na serveroch aplikácie, ale v objektovom úložisku Cloudflare R2 nakonfigurovanom pre European Union. Bucket je súkromný: nemá verejný prístup ani vlastnú doménu pred sebou a každý súbor sa doručuje cez odkaz, ktorý podpisuje API.

Tajomstvá — poverenia databázy, podpisovacie kľúče, API kľúče poskytovateľov — sa poskytujú cez prostredie pri nasadení a nikdy sa nezaznamenávajú do zdrojového repozitára.

3. Bezpečnosť prenosu

Všetka prevádzka na webovej stránke, v aplikácii, na portáli a API sa poskytuje cez HTTPS. Certifikáty vydáva a obnovuje automaticky Let's Encrypt a bežné HTTP požiadavky sa presmerúvajú na HTTPS.

Reverzný proxy posiela HTTP Strict Transport Security s max-age jeden rok, vrátane subdomén a s preload, takže prehliadač, ktorý stránku raz videl, sa nevráti k nezašifrovanému spojeniu.

Odpovede obsahujú X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, prísnu politiku referrer strict-origin-when-cross-origin a politiku oprávnení, ktorá odopiera kameru, mikrofón a geolokáciu. Hlavičky identifikujúce server a framework sú odstránené. API prijíma medzidoménové požiadavky iba z pôvodov aplikácie a portálu.

Webová stránka, aplikácia a portál sú poskytované s politikou Content Security Policy. Skripty sa môžu načítavať iba zo samotnej služby a v aplikácii aj z Google Identity Services na prihlásenie cez Google; webová stránka a portál nepovoľujú žiadny skript tretej strany. Vloženie do rámca, obsah pluginov a prepísanie základu dokumentu sú odmietnuté a API odpovedá politikou, ktorá nepovoľuje vôbec nič.

4. Prihlásenie a heslá

Heslo musí mať aspoň osem znakov a obsahovať veľké písmeno, malé písmeno a číslicu. Heslá sa ukladajú iba ako kryptografický hash so soľou vytvorený nástrojom ASP.NET Core Identity password hasher; nikdy sa neukladajú vo forme, ktorú by bolo možné spätne prečítať, a zabudnuté heslo nevieme obnoviť, iba resetovať.

Po desiatich neúspešných pokusoch o prihlásenie sa účet na pätnásť minút uzamkne. Počet sa vedie voči účtu, nie volajúcemu, takže pokus rozptýlený medzi mnohými adresami sa zastaví, aj keď každá adresa zostane pod limitom rýchlosti pre jedného volajúceho.

Prihlásenie cez účet Google je dostupné. Identitný token vydaný Googlom sa overí voči Googlu skôr, než sa vytvorí akákoľvek relácia, a heslo Google nikdy nedostávame.

Registrácia posiela potvrdzovaciu správu na zadanú adresu a adresa sa označí ako potvrdená, keď sa použije odkaz v nej. Zabudnuté heslo sa resetuje prostredníctvom jednorazového odkazu poslaného na registrovanú adresu; úspešný reset zároveň zruší existujúce uzamknutie, pretože uzamknutie je zvyčajným dôvodom na reset.

5. Relácie a tokeny

Prístupové tokeny sú JSON Web Tokens platné pätnásť minút. Pri každej požiadavke sa kontroluje vydavateľ, príjemca, podpis a platnosť, bez akejkoľvek tolerancie hodín.

Obnovovací token má šesťdesiatštyri bajtov z kryptografického generátora náhodných čísel. Databáza uchováva iba jeho hash SHA-256, takže samotný token nemožno prečítať z kópie databázy.

Každé obnovenie token rotuje: predchádzajúci sa odvolá a vydá sa nový. Obnovovacie tokeny vypršia po tridsiatich dňoch a odhlásenie token okamžite odvolá.

Obnovenie sa odmietne, ak bol používateľ deaktivovaný alebo pracovný priestor zneaktívnený, takže odobratie niekoho prístupu nadobúda účinnosť najneskôr pri vypršaní jeho aktuálneho prístupového tokenu.

6. Riadenie prístupu a oddelenie pracovných priestorov

Každý používateľ má v pracovnom priestore rolu a koncové body ju kontrolujú. Funkcie závislé od plánu sú navyše chránené vlastnými autorizačnými politikami, takže funkciu mimo predplateného plánu API odmietne, nielen skryje v rozhraní.

Pracovné priestory sú oddelené na úrovni údajov: každý záznam nesie identifikátor pracovného priestoru, do ktorého patrí, a každý dotaz je obmedzený na pracovný priestor volajúceho. Záznam patriaci inému pracovnému priestoru nie je vo výsledku skrytý — nikdy sa doň nevyberie.

Pracovný priestor sa berie z tvrdenia (claim) v podpísanom prístupovom tokene a rieši sa na serveri. Identifikátoru pracovného priestoru poskytnutému klientom sa nedôveruje na nič.

Pripojenia v reálnom čase používajú rovnakú autentifikáciu ako zvyšok API; pripojenie bez platného tokenu sa odmietne, veľkosť prichádzajúcej správy je obmedzená a podrobné informácie o chybe sa vracajú iba vo vývojovom prostredí.

7. Prístup do portálu zákazníka

Zákazník dostane odkaz obsahujúci náhodne vygenerovaný token, ktorý patrí k jednej zákazke a nesie dátum platnosti. Token otvára iba túto jednu zákazku a nič iné v pracovnom priestore.

Pred zobrazením zákazky musí návštevník potvrdiť e-mailovú adresu alebo telefónne číslo zaznamenané pre tohto zákazníka. Úspešné potvrdenie vytvorí dôkaz platný dvanásť hodín, podpísaný pomocou HMAC kľúčom odvodeným od — no kryptograficky nezávislým od — serverového podpisovacieho tajomstva, a overovaný v konštantnom čase.

Pokusy o potvrdenie sú obmedzené rýchlostným limitom podľa volajúceho, a zámerne nie podľa tokenu: obmedzenie podľa tokenu by komukoľvek umožnilo zablokovať zákazníka z jeho vlastnej zákazky jednoduchým vyčerpaním jeho limitu.

8. Nahraté súbory

Nahrávanie je obmedzené na pevný zoznam typov súborov — JPEG, PNG, WebP, PDF, DOCX, XLSX a čistý text — a na maximálnu veľkosť závislú od predplateného plánu. Obrázky sa pred uložením na serveri prekódujú.

Súbory sa doručujú prostredníctvom krátko platných podpísaných odkazov generovaných API. Keďže samotný bucket je súkromný, vypršaný alebo pozmenený odkaz neposkytuje vôbec nič.

Nahrávanie a sťahovanie majú samostatné rýchlostné limity podľa volajúceho, takže unikajúci odkaz alebo nekontrolovaný klient nemôže bez obmedzenia vyčerpať úložisko ani prenosovú kapacitu.

Uložené súbory šifruje poskytovateľ úložiska.

9. Ochrana pred zneužitím

API uplatňuje rýchlostné limity rozdelené podľa volajúceho — podľa pracovného priestoru a používateľa v tokene, ak existuje, a inak podľa adresy klienta. Prihlásenie, prihlásenie cez Google, reset hesla a potvrdenie portálu sú obmedzené na desať pokusov za minútu; registrácia na päť.

Obmedzovače čítajú skutočnú adresu volajúceho z presmerovacích hlavičiek proxy a dôveruje sa iba samotnému proxy, že ich nastavuje. Bez tejto konfigurácie by sa každá požiadavka javila, akoby pochádzala z proxy, a jeden limit by zdieľali všetci, čo by z ochrany urobilo výpadok.

Reverzný proxy uplatňuje ďalší celkový rýchlostný limit pred aplikáciou, takže prevádzka je obmedzená ešte skôr, než sa vôbec dostane k API.

Prichádzajúce údaje sa validujú na serveri skôr, než sa dostanú do doménovej logiky, a chyby sa vracajú ako štruktúrované správy: klientovi sa neposielajú žiadne stack trace, databázové správy ani interné cesty.

10. Údaje v pokoji

Databáza a Redis sú iba na internej sieti a prijímajú pripojenia výlučne od API; žiadne z nich nie je vystavené internetu.

Objektové úložisko šifruje uložené súbory v pokoji a bucket nie je verejne čitateľný.

Zálohy sa vytvárajú pravidelne a ich obnova sa testuje. Údaje vymazané na konci predplatného miznú zo záloh, keď tieto zálohy vypršia v rámci svojej bežnej rotácie, a dovtedy sa nepoužívajú na žiadny iný účel.

11. Logovanie a sledovateľnosť

Aplikácia zapisuje serverové logy a každý pracovný priestor má históriu aktivít zaznamenávajúcu, ktorý používateľ čo a kedy zmenil. História je pre predplatiteľa viditeľná v aplikácii.

Serverové, aplikačné a bezpečnostné logy sa uchovávajú 90 dní, s výnimkou prípadu, keď je konkrétny záznam uchovávaný dlhšie pre prebiehajúce bezpečnostné vyšetrovanie.

Logy existujú na prevádzku služby a vyšetrovanie incidentov. Neloguujeme heslá, tokeny relácie ani údaje o platobných kartách.

12. Prevádzka

Prístup k produkčným systémom a produkčným údajom je obmedzený na personál, ktorý ho potrebuje na prevádzku alebo podporu, na základe princípu najnižších potrebných oprávnení a povinnosti mlčanlivosti, ktorá pokračuje aj po skončení jeho pôsobenia.

Závislosti tretích strán sú pripnuté a spravované centrálne, takže verzia sa mení na jednom mieste; bezpečnostné aktualizácie na platformu a jej závislosti uplatňujeme hneď, ako sú dostupné.

Zmeny schémy databázy sa uplatňujú ako verziované migrácie pri štarte služby, takže schéma v produkcii vždy zodpovedá kódu, ktorý na nej beží.

13. Poskytovatelia

Poskytovatelia, ktorí v našom mene spracúvajú údaje — hosting, objektové úložisko, doručovanie e-mailov, platby a fakturácia — sú s ich rolou a regiónom uvedení v časti 5 informácie GDPR a časti 8 informácií o spracúvaní údajov.

Nového poskytovateľa oznamujeme aspoň 30 dní pred začatím spracúvania, aby mal predplatiteľ, ktorý namieta, čas konať.

14. Reakcia na incidenty

Vedieme interný register porušení ochrany osobných údajov a postupujeme podľa postupu zahŕňajúceho zisťovanie, posúdenie, obmedzenie a oznámenie.

Ak je pravdepodobné, že porušenie povedie k riziku pre práva a slobody fyzických osôb, bezodkladne — a ak je to možné, do 72 hodín od zistenia — o tom informujeme príslušný dozorný orgán (čl. 33 GDPR); ak je riziko vysoké, zrozumiteľným jazykom informujeme aj dotknuté osoby (čl. 34 GDPR).

Ak konáme ako sprostredkovateľ, bezodkladne po zistení porušenia informujeme predplatiteľa konajúceho ako prevádzkovateľa a pomáhame mu s jeho vlastnými oznamovacími povinnosťami.

15. Čo nemáme

Žiadnu online službu nemožno urobiť absolútne bezpečnou. Táto stránka opisuje opatrenia, nie záruky, a Obchodné podmienky neposkytujú žiadny záväzok dostupnosti ani úrovne služieb.

Nemáme certifikáciu ISO/IEC 27001 ani správu SOC 2 a služba nebola podrobená nezávislému penetračnému testu. Ak sa to zmení, práve táto časť to uvedie.

Dvojfaktorová autentifikácia pre používateľské účty zatiaľ nie je dostupná. Bezpečnosť účtu preto spočíva na sile hesla, uzamknutí účtu a rýchlostných limitoch opísaných vyššie, a preto žiadame heslo, ktoré sa nepoužíva nikde inde.

Služba beží v jedinom regióne bez zálohovania medzi regiónmi, a ak tento región zlyhá, služba je nedostupná, kým sa neobnoví. Uvádzame to preto, lebo bezpečnostné vyhlásenie, ktoré uvádza iba prednosti, nemožno použiť na rozhodovanie.

16. Nahlásenie zraniteľnosti

Ak nájdeš zraniteľnosť, napíš prosím na info@ravsolutions.eu s popisom, krokmi potrebnými na jej reprodukciu a dotknutou adresou. Prijatie potvrdíme a povieme ti, ako ju plánujeme riešiť.

Daj nám prosím primeranú príležitosť problém opraviť skôr, než ho zverejníš. Počas testovania nepristupuj k údajom, ktoré nie sú tvoje, neupravuj ich ani nemaž, nezhoršuj službu pre ostatných a nepoužívaj sociálne inžinierstvo proti nášmu personálu ani našim poskytovateľom.

Neprevádzkujeme platený program bug bounty. Voči osobe, ktorá koná v dobrej viere a v uvedených hraniciach, nepodnikneme žiadne kroky.

17. Zmeny tohto vyhlásenia

Toto vyhlásenie udržiavame aktuálne so službou. Číslo verzie a dátum účinnosti v hornej časti stránky ukazujú, ktorý text je platný, a staršie verzie sú dostupné na požiadanie.

Keď sa zmení tu opísané opatrenie, mení sa s ním aj táto stránka. Otázky týkajúce sa obsahu možno posielať na info@ravsolutions.eu.

Preferencie cookies

Používame nevyhnutne potrebné súbory cookie na prihlásenie, na zabezpečenie a na zapamätanie vašej voľby. S vaším súhlasom meriame na verejnej webovej stránke a v aplikácii aj návštevnosť a používanie pomocou Google Analytics; načíta sa iba vtedy, ak prijmete analytickú kategóriu — dovtedy sa od Googlu nič nevyžaduje. Žiadny marketingový nástroj nepoužívame.

Prečítať zásady cookies