# v0.0.75 — кнопка при 0 файлов, фильтр zip, README-риски (2026-08-24) _code-fixes. Закрытие отложенных пунктов списка «что далее»._ ## Что сделано 1. **Кнопка «Обфусцировать» активна при 0 файлов** (`index.html::resetAll`) — убрано перекрытие `ub.disabled = false` после `rr()` (rr() уже ставит disabled при пустом списке). Из TODO (`docs/WhatTODO.md`, пункт 1). 2. **idx-мисматч `expand_zips`** (`drhider/extractor.py`) — синхронизирован фильтр расширений с фронтом `listZipFiles`: из zip берутся ТОЛЬКО документы (`.pdf .doc .docx .txt .md`) и вложенные `.zip`. Unit-тест: zip [txt,pdf,xlsx,ini] → раскрыты только txt,pdf. 3. **README** — добавлена секция «Известные ограничения / риски»: LLM prompt injection, кейс «zip без документов». ## Не сделано (решение) - **`session_files` оставлен** — используется для диагностики (тесты), SID теперь 128-бит (не угадывается), риск мал. ## ⚠️ Замечено (требует решения) - В `README.md` в открытом виде закоммичен `LLM_API_KEY` (секрет!). Желательно вынести в переменные окружения Штурвала и убрать из README. ## Проверка - `py_compile` (app.py, extractor.py) — OK; `node --check` — OK. - `expand_zips` unit-тест — OK (только документы). - `resetAll` больше не содержит `ub.disabled = false` (5 оставшихся мест — нужные ветки). - Версия 0.0.74 → 0.0.75. ## Проверка на проде (редеплой 20:20, v0.0.75) - Кнопка «Обфусцировать»: disabled при 0 файлов → активна с файлом → disabled после «Новой сессии». - Регресс: zip с документом раскрыт (справка.txt), «Обработано 2 файлов: 4.4с» — фильтр zip не сломал.