Úkol
📝 **Otázka:** **Napište funkci** \`safe_search(dotaz, filtr)\`, která chrání RAG pro více nájemců před třídou úniku č. 1 – chybějícím filtrem \`tenant_id\`.
pravidla:
- Pokud \`filtr\` není diktát → zvyšte \`ValueError("filtr musí být diktát")\`.
- Pokud \`tenant_id\` chybí NEBO je prázdné/chybné → zvyšte \`ValueError("ZABEZPEČENÍ: filtr tenant_id je povinný a není prázdný")\`.
- Jinak vraťte \`f"OK | {query!r} v rozsahu na tenanta {filter['tenant_id']!r}"\`.
Poté jej spusťte proti čtyřem tvarům požadavků (dvě skutečné, dva nebezpečné):
\`\`\`
OK | 'zásady vracení peněz' v rozsahu pro nájemce 'acme'
BLOKOVÁNO | 'platová tabulka' | ZABEZPEČENÍ: Filtr tenant_id je povinný a není prázdný
OK | 'historie objednávek' s rozsahem na nájemce 'globex'
BLOKOVÁNO | 'klíče API' | ZABEZPEČENÍ: Filtr tenant_id je povinný a není prázdný
\`\`\`
Případ s prázdným řetězcem je záludný — \`"tenant_id" ve filtru\` by prošlo, ale \`filter.get("tenant_id")\` vrací falešnou hodnotu. **Vždy kontrolujte pravdivost, nikdy ne pouze přítomnost klíče.** Špatně nakonfigurovaný frontend výchozí \`tenant_id\` na \`""\` způsobil úniky mezi nájemci v reálném světě.
📋 Vyberte správnou odpověď.
💡 **Tip:** Pokud si nejste jisti, přečtěte si znovu teorii výše.