ethel.cz/návody/bezpečnost

Bezpečnost dat

Přehled bezpečnostní architektury, toku dat a provozní infrastruktury. Psáno pro IT adminy, ředitele a právní oddělení.

TL;DR

Vaše firemní data nikdy neopustí váš server. Ethel komunikuje s cloudem pouze textem vašeho dotazu a vygenerovaným SQL. Samotné výsledky – čísla, jména, ceny, kontakty, jakákoliv data z vaší databáze – zůstávají u vás. Cloud je nikdy nevidí.

Citlivé moduly Helios (Mzdy, Banka, Personalistika) jsou mimo dosah Ethel dvěma nezávislými vrstvami – nejsou ve znalostní bázi a jejich tabulky jsou blokované na úrovni serveru.

Hlavní princip

Klasický přístup k AI nad firemními daty znamená: data se nahrají do cloudu, model nad nimi pracuje, výsledky se vrátí. Tento přístup je pro Helios klienty nepřijatelný – firemní data nemají co dělat v cizí infrastruktuře.

Ethel staví na obráceném principu. Cloud nemá vaše data, jen model. Vaše databáze zůstává tam, kde byla. Ethel je most mezi přirozeným jazykem a SQL, ne datový sklad.

Tok dat krok po kroku

Když se uživatel zeptá „Kolik faktur čeká na schválení?":

  1. Helios otevře okno Ethel agenta (lokálně, na pracovní stanici uživatele).
  2. Agent posílá do cloudu pouze text dotazu („kolik faktur čeká na schválení") + identifikátor instance pro fakturaci.
  3. Cloud proxy předá dotaz AI modelu (Claude od Anthropic) společně se znalostní bází o Heliosu.
  4. AI model vygeneruje SQL dotaz typu SELECT COUNT(*) FROM TabDokladyZbozi WHERE ...
  5. Cloud proxy SQL zvaliduje (pouze čtení, žádné citlivé tabulky) a vrátí ho agentovi.
  6. Agent spustí SQL lokálně na vaší databázi přes standardní SQL Server připojení.
  7. Databáze vrátí výsledek (např. číslo 23) agentovi.
  8. Agent zobrazí výsledek uživateli – formátovaně, v rámci Helios prostředí.

Od kroku 6 dál cloud nehraje žádnou roli. Výsledek (číslo 23) cloud nikdy nevidí.

Co cloud vidí

  • Text vašeho dotazu v přirozeném jazyce („kolik faktur čeká").
  • Vygenerované SQL (text dotazu, ne výsledek).
  • Identifikátor vaší instance (pro fakturaci a rate limiting).
  • Časové razítko a počet dotazů (provozní metriky).

Co cloud nevidí

  • Žádné záznamy z vaší databáze.
  • Žádné výsledky SQL dotazů.
  • Žádná jména klientů, čísla faktur, ceny, kontakty.

Jedna poctivost navíc: pokud uživatel do otázky sám napíše jméno nebo jiný údaj („kolik dluží Jan Novák"), je tento text součástí dotazu a do cloudu jde. Odpověď z databáze už ale nikdy.

Co Ethel zná z vaší databáze

Ethel pracuje se sdílenou znalostní bází standardního Helios Inuvio. Zná názvy tabulek (TabDokladyZbozi, TabKmenZbozi, TabCisOrg…), jejich klíčové sloupce, vazby mezi nimi a typické dotazovací vzory.

Znalostní báze neobsahuje vaše konkrétní data. Je to popis schématu Heliosu, ne kopie vašich tabulek.

Co Ethel záměrně nezná

Citlivé moduly jsou mimo dosah dvěma nezávislými vrstvami:

Vrstva 1 – znalostní báze

Moduly Mzdy, Personalistika (včetně číselníku zaměstnanců) a Banka nejsou ve znalostní bázi. Ethel o jejich tabulkách nemá žádné informace a neumí na ně cíleně sestavit dotaz.

Vrstva 2 – serverová blokace

Tabulky těchto modulů jsou navíc na deny-listu vyhodnocovaném na serveru. I kdyby se některá z nich ve vygenerovaném SQL objevila, dotaz se zastaví ještě před spuštěním. Není to instrukce v promptu, kterou by šlo ukecat – je to tvrdá kontrola mimo dosah AI modelu.

Pokud se uživatel zeptá na něco z těchto modulů, dostane odpověď, že k modulu Ethel nemá přístup. Žádný dotaz se nespustí.

V budoucích verzích plánujeme jemnější granularitu – vlastní tabulku oprávnění, kde si admin určí, ke kterým modulům má každý uživatel přístup. V současné verzi platí jednotná úroveň přístupu pro celou instanci.

Pouze pro čtení

Ethel pracuje výhradně v režimu čtení (SELECT). Každé vygenerované SQL prochází validační vrstvou, která zápisové operace (INSERT, UPDATE, DELETE i DDL příkazy) nepropustí – nezávisle na tom, co AI model vygeneruje.

Tuto vrstvu průběžně testujeme automatizovanou sadou testů, včetně záměrných pokusů o její obejití (SQL injection vzory, vícenásobné příkazy, maskované zápisy).

Šifrování a autentizace

Komunikace s cloudem

  • TLS 1.2+ na všech spojeních mezi agentem a cloud proxy.
  • Žádná data se neposílají přes nešifrovaný kanál.

Komunikace s databází

  • Standardní šifrované SQL Server připojení.
  • Agent používá stejné připojení jako samotný Helios – connection string čte z konfigurace Heliosu, žádné vlastní credentials neukládá ani nepřenáší.

Aktivace a licencování

  • Každá instance má unikátní aktivační token vázaný na IČO klienta.
  • Token lze kdykoliv revokovat – přístup zaniká okamžitě, žádná anonymní AI bez kontroly.

Logování

Na naší straně se loguje

  • Čas dotazu, identifikátor instance, počet dotazů.
  • Text dotazu a vygenerované SQL (pro debugging a zlepšování znalostní báze).
  • Chyby a výjimky.

Co se neloguje

  • Žádné výsledky SQL dotazů.
  • Žádná data z vaší databáze.

Logy uchováváme po dobu nezbytnou pro provoz, debugging a zlepšování znalostní báze. Na vyžádání logy vaší instance kdykoliv smažeme.

Přehled dotazů vaší instance (kdo se na co ptal a kdy) vám na vyžádání poskytneme – jde o stejné logy, žádná skrytá data navíc.

Kde běží infrastruktura

Celá infrastruktura Ethel běží v Evropské unii:

  • Cloud proxy a aplikační vrstva: Railway, region EU – Amsterdam.
  • Databáze metadat (tokeny, logy, znalostní báze): Supabase, region EU – Frankfurt (AWS eu-central-1).
  • AI inference: Anthropic API. K Anthropic putuje pouze text otázky, kontext znalostní báze a vygenerované SQL – nikdy data z vaší databáze. Vstupy přes API se dle podmínek Anthropic nepoužívají k trénování modelů.

Jako provozovatel jsme zpracovatelem osobních údajů v rozsahu metadat (texty dotazů, fakturační údaje). Smlouvu o zpracování (DPA) poskytneme na vyžádání.

Co se stane při výpadku

Ethel ke svému běhu potřebuje internet a dostupnost AI služby. Když cokoliv z toho vypadne:

  • Ethel neodpoví a zobrazí srozumitelnou chybu – tím to končí.
  • Helios běží dál, vaše data ani práce nejsou nijak dotčené.
  • Po obnovení připojení Ethel funguje okamžitě, bez restartu nebo zásahu.

Architektura Ethel je model-agnostická – AI vrstva běží na naší straně, takže případnou dlouhodobou nedostupnost poskytovatele umíme řešit změnou modelu bez jakéhokoliv zásahu u vás.

Co se stane, když Ethel zrušíte

  1. Předplatné můžete zrušit kdykoliv k dalšímu fakturačnímu období.
  2. Po skončení období se token deaktivuje – cloud přestane přijímat dotazy z vaší instance.
  3. Agenta jednoduše odinstalujete (smažete exe ze složky vedle Heliosu).
  4. SQL objekty Ethel v databázi smažete dodaným odinstalačním skriptem.
  5. Na vyžádání vám potvrdíme smazání logů z naší strany.

Vaše Helios data jsou tím okamžikem nedotčená. Ethel je nikdy nikam nekopírovala – neexistuje žádná kopie ani záloha, kterou bychom drželi.

Bezpečnostní kontakt

Pokud objevíte zranitelnost nebo máte bezpečnostní dotaz, napište na info@ethel.cz s předmětem „Bezpečnost". Reagujeme do 24 hodin v pracovních dnech.

Související otázky

Podrobněji v sekci Často kladené otázky:

  • Tečou moje data do cloudu?Ne.
  • Co moduly Mzdy a Banka?Dvě vrstvy ochrany, Ethel je nevidí.
  • Co když Ethel vygeneruje špatné SQL?Pouze čtení, validace mimo AI model.
  • Co se stane po zrušení?Agent se odinstaluje, data zůstávají v Heliosu.