ElectricShare.cz
AI

Krok 1: Detekce PII

Krok 1: Detekce PII

OpenAI musí číst deníčky svého prezidenta u soudu. A vy zatím posíláte uživatelská data do jejich API bez filtru.

Greg Brockman, spoluzakladatel OpenAI, minulý týden před porotou předčítal vlastní deníkové zápisky. Intimní poznámky, které nikdy neměly opustit jeho notebook. Soud si je vyžádal. Tak funguje americké právo — jakmile jsou data někde uložená, může si pro ně někdo přijít.

Teď se zamyslete. Vaše webová aplikace posílá uživatelské dotazy do OpenAI API. Jména, adresy, zdravotní údaje, firemní know-how. Kam ta data putují? Kdo k nim má přístup? A hlavně — filtrujete vůbec něco, než to odešlete?

Co je ten „Privacy Filter" a proč ho nemáte

OpenAI v březnu 2026 rozšířilo své Moderation API o endpoint `/v1/moderations` s novou kategorií `pii_detection`. Prakticky jde o klasifikátor, který v textu rozpozná osobní údaje — rodná čísla, e-maily, telefonní čísla, adresy, čísla účtů. Volání stojí zlomek ceny běžného completion requestu: přibližně $0.001 za 1000 tokenů.

Princip je jednoduchý. Než pošlete uživatelský vstup do GPT-4o, proženete ho přes moderační endpoint. Ten vrátí JSON s flagy, kde sedí citlivá data. Vy je zamaskujete nebo odstraníte. Teprve pak voláte hlavní model.

```python import openai

client = openai.OpenAI()

moderation = client.moderations.create( input="Volám se Jan Novák, RČ 850315/1234, bydlím Korunní 15" )

# Krok 2: Maskování před odesláním do LLM if moderation.results[0].flagged: sanitized = mask_pii(original_text, moderation.results[0].categories) completion = client.chat.completions.create( model="gpt-4o", messages=[{"role": "user", "content": sanitized}] ) ```

Problém? Pořád posíláte ta surová data na OpenAI server — jen na jiný endpoint. Liška hlídá kurník.

Reddit to pochopil. Vy taky můžete.

Reddit tento týden zablokoval přístup na mobilní web pro nepřihlášené uživatele. Důvod? Scrapery. Stovky AI firem vysávaly diskuze a trénovaly na nich modely. Reddit reagoval jedinou cestou, která funguje — zavřel kohoutky.

Pokud stavíte škálovatelnou webovou aplikaci, potřebujete ten filtr na své straně. Ne u OpenAI. PII detekci musíte řešit lokálně, ještě než data opustí váš server.

Tři reálné možnosti:

Microsoft Presidio (open-source, Python). Nasadíte jako microservice, běží on-premise. Rozpozná 30+ typů PII včetně českých rodných čísel po dopsání vlastního recognizeru. Spotřeba RAM: cca 512 MB. Na VPS za 200 Kč měsíčně to rozjedete.

```bash pip install presidio-analyzer presidio-anonymizer python -m spacy download en_core_web_lg ```

HuggingFace modely pro NER. Na HuggingFace najdete desítky modelů trénovaných na rozpoznávání entit. `dslim/bert-base-NER` je klasika. Pro češtinu sáhněte po `ufal/robeczech-base` a dotrénujte přes LoRA adaptér na českých PII datech. Fine-tuning na 4-bit kvantizovaném modelu zvládne i RTX 3060 s 12 GB VRAM.

```bash # Lokální inference přes Ollama ollama pull llama3.1:8b # Vlastní system prompt pro PII filtraci ollama run llama3.1:8b "Označ všechna osobní data v tomto textu: ..." ```

Dedikované privacy proxy. Cloudflare AI Gateway nebo AWS Bedrock Guardrails. Sedí mezi vaší aplikací a LLM providerem. Cena Bedrock Guardrails: $1 za 1000 textových jednotek. Při 100 000 requestů denně zaplatíte kolem $75 měsíčně.

Škálování bez škálování nákladů

Tady to začíná být zajímavé. Každý PII check přidává latenci. Při 50ms na request a 10 000 souběžných uživatelích potřebujete buď horizontálně škálovat proxy, nebo — chytřejší varianta — filtrovat asynchronně.

Architektura, která v praxi funguje:

  1. Uživatelský vstup padne do Redis streamu
  2. Worker (Presidio / lokální NER model) čte stream, maskuje PII, zapisuje do druhého streamu
  3. Druhý worker volá OpenAI API s čistými daty
  4. Response jde zpět přes WebSocket

Na 8-core VPS (Hetzner CX42, €24/měsíc) zvládnete zpracovat přibližně 500 requestů za sekundu. Pro srovnání — synchronní řešení na stejném stroji utáhne sotva 80.

Pro energetické aplikace a IoT platformy, kde se zpracovávají data z tisíců senzorů a chytrých zařízení, je tohle kritické. Systémy typu Smart Energy Share řeší podobný problém — agregují citlivá provozní data z fotovoltaik, baterií a střídačů. Jeden špatně ošetřený API endpoint a útočník ví, kdy jste doma, kolik vyrábíte a jaký máte tarif.

Co vám nikdo neřekne o GDPR a LLM

Evropský regulátor zatím tápe. GDPR říká jasně — osobní data nesmíte předat třetí straně bez právního základu. OpenAI ve svých Terms tvrdí, že data z API nepoužívá k trénování (od března 2023). Jenže serverová logy existují. Zaměstnanci mají přístup. A jak ukázal případ Brockmanova deníku — soudy si řeknou o cokoli.

Italský Garante zakázal ChatGPT na měsíc v roce 2023. Francouzská CNIL vyšetřuje dodnes. Český ÚOOÚ se zatím neozval, ale to neznamená, že nehrozí pokuta.

Praktická rada: pokud zpracováváte data evropských občanů, nasaďte PII filtr lokálně. Presidio, vlastní NER model, nebo komerční řešení jako Private AI ($0.005/request). Dokumentujte to. Až přijde audit, budete rádi.

Lokální modely jako úniková cesta

Nejjistější filtr? Neposílat data nikam. Ollama + Llama 3.1 8B běží na libovolném stroji s 8 GB RAM. Pro produkční nasazení zvažte vLLM nebo TGI (Text Generation Inference od HuggingFace) za Nginx reverzní proxy.

LoRA fine-tuning pro PII detekci v češtině zabere 2–4 hodiny na jedné A100 (pronájem cca $1.5/h na RunPod). Výsledný adaptér má 50 MB. Přilepíte ho k základnímu modelu a máte český PII detektor, který nikam nepřenáší ani bajt.

```bash # vLLM produkční server pip install vllm python -m vllm.entrypoints.openai.api_server \ --model meta-llama/Llama-3.1-8B-Instruct \ --port 8000 --max-model-len 4096 ```

Stavíte zeď, nebo otevíráte vrata?

Charlize Theron v traileru na Odyssey hraje Kirké — čarodějku, která mění námořníky ve zvířata. Hezká metafora pro to, co se děje s daty uživatelů v AI pipeline. Vstoupí jako člověk, vyjdou jako embedding, trénovací vzorek, nebo důkazní materiál u soudu.

Škálovatelná webová aplikace v roce 2026 není jen o tom zvládnout tisíc requestů za sekundu. Je o tom vědět, co v těch requestech je, a mít odvahu to neposílat dál. Privacy filter není feature. Je to architektonické rozhodnutí, které uděláte na začátku — nebo pak draze přepisujete celou aplikaci.

Volba je na vás. Můžete to řešit, nebo čekat, až si pro vaše logy přijde soud. Greg Brockman by vám poradil tu první variantu.