Fermentation Tracker · bezpečnost
Jak chráníme data vašeho pivovaru
V systému jsou vaše várky, sklad, odběratelé, faktury, docházka i podpisy zákazníků. Tady je přehled, co je chrání před cizími lidmi, jinými pivovary i před chybami.
Vrstvy ochrany
Každá vrstva funguje samostatně
Od toho, co vidí prohlížeč, až po samotnou databázi. Chyba v jedné vrstvě proto data neotevře.
Každý pivovar vidí jen svá data
Oddělení pivovarů nedělá jen aplikace, ale přímo databáze. U každého požadavku ověří, zda jste členem pivovaru, kterému data patří. I kdyby měla aplikace chybu, databáze cizí data nevydá.
Row Level Security na každé tabulce
Automatická kontrola při každé změně systému
Test se přihlásí jako uživatel jednoho pivovaru a v každé tabulce s daty pivovarů zkusí číst, měnit a mazat záznamy jiného pivovaru. Kdyby šel přečíst byť jediný řádek, test selže. Tentýž test hlídá, aby nová tabulka nevznikla bez ochrany.
80+ tabulek · čtení, úprava, mazání
Role v týmu
Majitel, správce, sládek, obchodník a čtenář. Každý může měnit jen to, co patří k jeho práci, a řidič rozvozu potvrzuje jen zastávky své jízdy. Pravidla platí v databázi, ne jen na tlačítkách.
majitel · správce · sládek · obchod · čtenář
Přihlášení
Hesla se ukládají jen jako otisk, ze kterého heslo nejde přečíst, takže je neznáme ani my. Počet pokusů o přihlášení je omezený, přihlášení a registraci chrání ověření Cloudflare, že nejde o robota, a každé přihlášení i neúspěšný pokus se zapisuje. PIN na docházkovém terminálu se po 5 chybných pokusech na 10 minut zablokuje.
bcrypt · Cloudflare Turnstile · záznam přihlášení · zámek PIN
Dvoufázové ověření
Kromě hesla i kód z aplikace v mobilu (Google Authenticator, Microsoft Authenticator, Authy). Ukradené heslo pak nestačí: databáze vydá data pivovaru až po zadání kódu. Pivovar ho může vyžadovat od všech majitelů a správců.
TOTP · kontrola v databázi · povinné pro správce
Šifrované spojení
Aplikace běží výhradně přes HTTPS a prohlížeč si to pamatuje, takže nejde podstrčit nešifrovanou verzi. Databáze je šifrovaná i na disku.
HTTPS + HSTS · šifrování AES-256 na disku
Ochrana v prohlížeči
Aplikaci nelze vložit do cizí stránky, takže vás nikdo neoklame falešným kliknutím. Prohlížeč nehádá typy souborů a cizím stránkám neposílá adresy s tajnými odkazy, například na nabídku pro odběratele.
X-Frame-Options · CSP · nosniff · Referrer-Policy
Soubory a podpisy
Naskenované faktury, podpisy odběratelů a fotky z incidentů jsou v soukromém úložišti. Nemají veřejnou adresu a otevře je jen člen vašeho pivovaru.
soukromé úložiště po pivovarech
Historie změn
Změny důležitých záznamů se zapisují do historie: kdo, kdy a co změnil. Vystavené doklady už nejde přepsat, opravují se dobropisem.
historie změn · uzamčené doklady
Denní zálohy mimo databázi
Každou noc se databáze i všechny soubory zálohují k jinému poskytovateli v EU. Záloha je zašifrovaná klíčem, který nemá žádný z poskytovatelů. Před uložením se každá záloha automaticky zkušebně obnoví a ověří se, že sedí všechny záznamy. Denní zálohy se uchovávají 30 dní, měsíční 12 měsíců.
každou noc · šifrované · EU · zkušební obnova
Tajné klíče jen na serveru
Klíče k databázi, e-mailu a umělé inteligenci nikdy neopustí server. V prohlížeči je jen veřejný klíč, který bez přihlášení a pravidel databáze nic neotevře.
klíče mimo prohlížeč
Bezpečnostní aktualizace
Knihovny, ze kterých je systém postavený, automaticky hlídá GitHub a při známé zranitelnosti hned upozorní. Bezpečnostní opravy nasazujeme přednostně a každou změnu před nasazením prověří celá sada automatických testů.
Dependabot · automatické testy před každým nasazením
Denní limity
Pojistka proti zneužití
Některé funkce stojí peníze při každém použití. Limit chrání před zneužitím ukradeného účtu i před chybou, která by se zacyklila. Počítá se za posledních 24 hodin na pivovar.
| Funkce | Limit | Po dosažení |
|---|---|---|
| Načtení faktury dodavatele pomocí AI | 50 / 24 h | Doklad lze zadat ručně |
| E-maily odběratelům (doklady, upomínky) | 200 / 24 h | Odeslání počká do dalšího dne |
GDPR
Kde jsou vaše data
Data jsou uložena v Evropské unii. Někteří poskytovatelé jsou americké společnosti, proto je přenos chráněn podle GDPR: Rámcem pro ochranu údajů EU – USA nebo standardními smluvními doložkami.
| Poskytovatel | Kde | K čemu |
|---|---|---|
| Supabase | EU – Frankfurt | Databáze, přihlašování, soubory |
| Vercel | EU – Frankfurt | Běh aplikace |
| Resend | EU – Irsko | Odesílání e-mailů s doklady a upozorněními |
| Cloudflare | EU + svět | Šifrované zálohy v EU (obsah neumí přečíst), ověření proti robotům v celosvětové síti Cloudflare |
| Anthropic | USA | Načtení faktury dodavatele pomocí AI, jen když ho použijete |
- smlouvaSmlouvu o zpracování osobních údajů máme připravenou ve slovenštině, češtině a rumunštině. Pošlu vám ji na vyžádání.
- 48 hPokud by došlo k úniku vašich dat, oznámíme vám to nejpozději do 48 hodin od zjištění a pomůžeme vám s hlášením úřadu. Postup máme sepsaný předem.
- 30 dníO přidání nebo výměně poskytovatele vás informujeme 30 dní předem.
Otázka k bezpečnosti?
Pokud se chcete zeptat, jak systém nakládá s vašimi daty, nebo jste si všimli něčeho podezřelého, napište mi.