LUCCAS

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.

  1. 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

  2. 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í

  3. 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ář

  4. 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

  5. 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

  6. Š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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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č

  12. 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.

FunkceLimitPo dosažení
Načtení faktury dodavatele pomocí AI50 / 24 hDoklad lze zadat ručně
E-maily odběratelům (doklady, upomínky)200 / 24 hOdeslá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.

PoskytovatelKdeK čemu
SupabaseEU – FrankfurtDatabáze, přihlašování, soubory
VercelEU – FrankfurtBěh aplikace
ResendEU – IrskoOdesílání e-mailů s doklady a upozorněními
CloudflareEU + světŠifrované zálohy v EU (obsah neumí přečíst), ověření proti robotům v celosvětové síti Cloudflare
AnthropicUSANač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.