Nahrávání dokumentů do AI chatbota: Kontrola souborů, ochrana údajů a předání operátorovi
Nahrávání souborů do webového chatbota vyžaduje více než jen tlačítko se sponkou. Tento průvodce kombinuje jasné limity, technické kontroly, srozumitelná stavová hlášení a bezpečné předání lidskému týmu.
Ikonka pro nahrání souboru v okně chatu vypadá jednoduše: vyberete soubor, položíte dotaz a dostanete odpověď. Z technického i redakčního hlediska však v tomto momentě začíná samostatný a náročný proces. Dokument totiž může obsahovat osobní údaje, aktivní prvky, manipulovanou strukturu souboru, nečitelné skeny nebo instrukce, které by jazykový model neměl považovat za důvěryhodná fakta. Proto potřebuje nahrávání dokumentů v AI chatbotu jasně definované hranice ještě před přenosem, několik kontrolních stanovišť po něm a spolehlivou cestu ven, pokud se něco nepovede.
Následující průvodce je určen pro webové, zákaznické a produktové týmy. Nepopisuje funkci jednoho konkrétního dodavatele, ale nabízí ucelený a odolný koncept: uživatelé předem vědí, co je povoleno; systém odděluje příjem, bezpečnostní kontrolu a vyhodnocení obsahu; chyby zůstávají srozumitelné; a citlivé případy se kontrolovaně předávají člověku.

Nahrávání musí mít jasný účel
Nezačínejte co nejdelším seznamem podporovaných formátů, ale spíše malým počtem konkrétních úkolů. Má chatbot vysvětlovat údaje z faktury, sumarizovat technické podklady nebo doplnit požadavek na podporu o snímek obrazovky? Pro každý úkol musí být předem jasné, jaký obsah je potřeba, jaké rozhodnutí může systém učinit a kdy je zásah člověka nevyhnutelný.
Toto účelové vymezení brání tomu, aby se nahrávání stalo obecným odkladištěm dokumentů. Pomáhá také při návrhu rozhraní: doklad k reklamaci vyžaduje jiné pokyny a pravidla pro uchovávání než veřejný popis produktu určený pro bázi znalostí. Existující průvodce zaměřený na trénování chatbota pomocí FAQ, dokumentů a obsahu webu se věnuje kurátorované bázi znalostí; v tomto článku jde naopak o soubory, které posílají návštěvníci během probíhající konverzace.
Zobrazujte povolené typy, velikosti a množství souborů
Uživatelé by měli vidět pravidla ještě předtím, než se otevře okno pro výběr souboru: povolené formáty, maximální velikost, maximální počet a zda jsou akceptovány heslem chráněné nebo komprimované soubory. Používejte striktní seznam povolených formátů (allowlist), který připouští pouze provozně nezbytné typy. „Všechny dokumenty“ není užitečný požadavek.
HTML atribut accept sice zpříjemňuje výběr v prohlížeči, ale nepředstavuje bezpečnostní prvek. Dokumentace MDN výslovně upozorňuje, že uživatelé mohou toto omezení snadno obejít, a proto musí kontrola probíhat na straně serveru. Rozhraní tedy může nabídnout odpovídající příponu, zatímco server nezávisle na tom ověří skutečnou příponu, nahlášený MIME typ, vnitřní signaturu a strukturu souboru.
Nepřebírejte názvy souborů a metadata bez kontroly
Původní název souboru může obsahovat speciální znaky, cesty v systému, extrémně dlouhé řetězce nebo citlivé údaje. Pro interní uložení by měl systém vygenerovat vlastní náhodný identifikátor a původní název používat pouze jako očištěnou informaci pro zobrazení. Také vložená metadata mohou obsahovat jména, informace o zařízení nebo lokaci. Zda jsou tyto údaje potřeba, musí vyplývat z daného účelu.
Příručka OWASP File Upload Cheat Sheet doporučuje mimo jiné seznam povolených přípon, nezávislou kontrolu typu, bezpečná jména souborů, limity velikosti, ukládání mimo adresář webu (webroot) a ochranu před neoprávněným nahráváním. Žádná samostatná kontrola nestačí; smysl má posloupnost malých, navazujících prověrek.
Oddělte příjem, bezpečnostní kontrolu a vyhodnocení
Přijatý soubor by neměl být okamžitě dostupný v chatu. Robustní proces pracuje nejméně se třemi stavy: přijato, probíhá kontrola a schváleno k vyhodnocení. Během kontroly se soubor nachází v izolovaném prostředí. Teprve po úspěšném ověření získá modul pro vytěžování dat přístup. Vyhněte se přímým veřejným URL adresám nebo předvídatelným cestám k úložišti.
Kontrola na malware a validace struktury
Podle míry rizika patří do procesu virový sken nebo sandbox, kontrola signatury a u vhodných kancleářských či PDF dokumentů také technologie Content Disarm and Reconstruction (CDR). Archivy, zanořené soubory a neobvykle silně komprimovaný obsah vyžadují vlastní limity, protože mohou vyčerpat systémové zdroje nebo zaútočit na parser. Skenery a knihovny musí být aktuální a nakonfigurované tak, aby vypršení časového limitu nebo chyba parseru nebyly považovány za schválení souboru.
Extrakce textu je samostatný stav kvality
Bezpečný soubor může být přesto nepoužitelný: křivý sken, fotografie s odlesky, rukou psaná poznámka nebo PDF bez textové vrstvy. Systém by proto měl hlásit odděleně, zda byl soubor bezpečně přijat a zda z něj bylo možné dostatečně přečíst obsah. Nízká kvalita extrakce se nesmí maskovat vymýšlením chybějících informací.
Formulujte chyby přesně a konstruktivně
Hlášení „Nahrávání selhalo“ neříká, co má uživatel udělat dál. Lepší jsou rozlišené zprávy: formát není podporován, soubor je příliš velký, zjištěna ochrana heslem, bezpečnostní kontrola neprošla, text není čitelný nebo je zpracování dočasně nedostupné. Zpráva by neměla vyzrazovat interní detaily skeneru či infrastruktury, ale má nabídnout bezpečnou opravu.
Standard WCAG 2.2 vyžaduje u automaticky zjištěných chyb vstupu textovou identifikaci a popis. Vysvětlení k kritériu úspěšnosti 3.3.1 Error Identification zdůrazňuje, že pouhé opětné zobrazení formuláře nestačí. Pro chat to znamená: uveďte název souboru nebo pozici nahrání, vysvětlete chybu textem a nabídněte konkrétní možnost výměny, odstranění nebo předání operátorovi.
Oznamujte průběh přístupným způsobem
U větších souborů dochází k prodlevám. Vizualizace pomocí ukazatele sama o sobě nepomůže všem uživatelům. Změny stavu jako „Nahrává se“, „Bezpečnostní kontrola“, „Čtení obsahu“ a „Připraveno“ by měly být programově rozpoznatelné, aniž by docházelo k nevyžádanému posunu zaměření klávesnice (fokusu). Vysvětlení W3C k WCAG 4.1.3 Status Messages uvádí průběh, úspěch a chybu výslovně jako relevantní stavové informace.
Možnost zrušení akce musí zůstat dostupná. Po zrušení by mělo být vidět, zda byl přenos skutečně zastaven a již přijatá kopie smazána. Na mobilních zařízeních uspořádejte název souboru, průběh a tlačítko pro odstranění tak, aby nezakrývaly pole pro zadávání textu ani důležitou navigaci.
Vysvětlete ochranu osobních údajů ještě před nahráním
Informace poskytnutá před přenosem dat musí odpovědět na otázky: K čemu se soubor použije? Kdo jej uvidí? Jak dlouho bude uložen? Bude jeho obsah použit ke zlepšování modelu? Jak lze soubor smazat? Obecné zásady ochrany osobních údajů jsou sice důležité, ale nenahrazují kontextovou informaci přímo u pole pro nahrání.
Článek 5 Obecného nařízení o ochraně osobních údajů (GDPR) obsahuje mimo jiné zásady účelového omezení, minimalizace údajů a omezení uložení. V praxi to znamená: vyžadujte pouze nezbytné dokumenty, vyhněte se zbytečným stránkám či metadatům, stanovte odůvodněnou lhůtu pro vymazání a prověřte technicky, zda k vymazání opravdu dochází. Toto nepředstavuje právní poradenství; konkrétní povinnosti je nutné vyhodnotit pro každý případ užití.
Oddělte veřejné chaty od chráněných procesů
Veřejný chat na webu není automaticky vhodným místem pro smlouvy, doklady totožnosti, zdravotní dokumentaci nebo bankovní výpisy. U citlivých úkonů by měla konverzace přejít do autentizované zóny nebo zavedeného bezpečného kanálu. Článek o téma veřejný AI chatbot vs. zákaznický portál popisuje, jak oddělit identitu uživatele a přístup k datům.
I v přihlášené zóně platí princip nejnižších oprávnění. Pracovník podpory může potřebovat nahlédnout do jednoho dokladu, ale nemusí mít trvalý přístup ke všem nahraným dokumentům v účtu. Přístupy, stažení a mazání by měly být auditovatelně protokolovány, aniž by se obsah dokumentů zbytečně kopíroval do analytických protokolů.
Obsah dokumentu zůstává nedůvěryhodný
Schválený soubor je sice technicky zpracován, ale z hlediska obsahu se stále nejedná o autoritativní zdroj. Dokumenty mohou být zastaralé, rozporuplné nebo úmyslně upravené. Mohou také obsahovat instrukce, jejichž cílem je přimět model k úniku dat nebo obcházení pravidel. Přistupujte proto k extrahovanému textu jako k nedůvěryhodnému obsahu (untrusted content), oddělte jej od systémových instrukcí a omezte dostupné nástroje i přístup k datům.
Náš průvodce na téma Prompt Injection u webových chatbotů popisuje tyto hranice pro RAG a nástroje. U nahrávání souborů navíc platí: odpovědi by se měly odkazovat na konkrétní místa v dokumentu, přiznat nejistotu a u kritických rozhodnutí nedoplňovat chybějící údaje na základě domněnek.
Předání člověku s kompaktním balíčkem kontextu
Předání operátorovi (Human Handoff) je nutné v případech, kdy bezpečnostní kontrola opakovaně selže, extrakce obsahu není spolehlivá, není jasná identita či oprávnění nebo odborné rozhodnutí leží mimo možnosti chatbota. Předávají se pouze informace, které člověk potřebuje k pokračování: požadavek, stav nahrání, bezpečný odkaz na dokument, konkrétní chybové hlášení, již potvrditelné údaje a požadovaný další krok.
Soubor by se neměl posílat jako příloha v nezašifrovaném e-mailu jen proto, že ho chatbot nedokázal přečíst. Správně navržený proces předání člověku zachovává kontext, odpovědnost a očekávání uživatele, aniž by docházelo k nadbytečnému multiplikování citlivých dat.
Měřte pomocí událostí, ne pomocí obsahu dokumentů
Pro vylepšování produktu plně postačují strukturované události: spuštěn výběr, nahrávání zrušeno, typ zamítnut, překročen limit velikosti, bezpečnostní kontrola úspěšná, extrakce nedostatečná, zvoleno předání operátorovi a potvrzeno smazání. Názvy souborů, extrahovaný text a osobní údaje nepatří do analytiky ani do protokolů chyb.
Vyhodnocujte metriky úspěšnosti společně s metriky zabezpečení. Vysoká míra nahrávání nemá žádnou hodnotu, pokud lidé nerozumí tomu, jaký soubor je očekáván, nebo pokud citlivé dokumenty končí ve veřejném chatu. Důležitá je proto i míra oprav, opuštění konverzace po zobrazení poučení o ochraně dat, podíl nečitelných souborů, čas do zobrazení srozumitelné chyby a úspěšné dokončení požadavku po předání operátorovi.
Kontrolní seznam před spuštěním
- Je pro každý případ nahrání definován jasný účel a povolený typ dokumentu?
- Jsou formát, velikost, počet, ochrana heslem a doba uchování viditelné před výběrem?
- Kóduje a ověřuje server příponu, MIME typ, signaturu, strukturu a limity velikosti nezávisle na prohlížeči?
- Jsou karanténa, kontrola na malware, extrakce a schválení implementovány jako oddělené stavy?
- Dostávají uživatelé přesné a přístupné informace o průběhu a chybách?
- Přesouvají se citlivé operace do autentizovaného kanálu nebo k lidské obsluze?
- Jsou lhůta pro vymazání, přístupová práva, logování a potvrzené smazání otestovány v praxi?
- Přistupuje chatbot k extrahovanému textu jako k nedůvěryhodnému a cituje ověřitelná místa?
- Obsahuje analytika pouze nezbytné události namísto názvů či obsahů dokumentů?
- Je předání operátorovi otestováno na reálných chybových scenářích na počítači i mobilu?
Závěr: Bezpečné nahrávání začíná ještě před výběrem souboru
Kvalitní nahrávání dokumentů stanovuje jasné hranice ještě předtím, než začnou proudit data. Následně striktně odděluje technické přijetí, bezpečnostní prověrku, kvalitu obsahu a věcné rozhodnutí. Díky tomu může AI chatbot využívat dokumenty jako užitečný kontext konverzace, aniž by slepě důvěřoval každému přijatému bajtu nebo extrahovanému příkazu.
Pokud chcete vytvořit webového chatbota a začlenit tyto procesy do spolehlivé celkové architektury, můžete si prohlédnout funkce ChatReact. Navrhujte nahrávání souborů jako řízený servisní proces – s jasným souhlasem, srozumitelným stavem a bezpečnou cestou k lidskému operátorovi.
Zdroje
Přeměňte návštěvy webu na lepší konverzace
Spusťte AI chatbota, který je užitečný od prvního dne
Naučte ChatReact z vašich stránek, dokumentů a ověřených faktů, aby návštěvníci dostávali rychlejší odpovědi a váš tým řešil méně opakujících se dotazů.
Související články
Pokračovat ve čtení
Jak natrénovat AI chatbota pomocí FAQ, dokumentů a obsahu webu
Co by měl tým spravující web připravit před spuštěním, aby chatbot zůstal přesný, užitečný a v souladu s oficiálními informacemi firmy.

Veřejný AI chatbot vs. klientský portál: Jak bezpečně oddělit identitu a přístup k datům
Veřejný chatbot na webu a autentizovaný AI chatbot v klientském portálu vyžadují odlišné datové, nástrojové a bezpečnostní hranice. Tento průvodce představuje praktickou architekturu včetně testovací matice.

Prompt injection u webových chatbotů: Ochrana pro RAG, nástroje a data
Jak týmy spravující weby omezují přímou a nepřímou prompt injection pomocí oddělených důvěryhodných zón, principu nejnižších oprávnění, kontroly výstupů a cílených bezpečnostních testů.