# logpile v1.35 Дата релиза: 2026-09-03 Тег: `v1.35` Накопительный список изменений с версии v1.34. ## Обезличивание логов на месте (ADL-067) Кнопка **«Обезличить и скачать копию»** в панели Customer data и режим `logpile -sanitize [-sanitize-out ]`. Строит де-идентифицированную копию загруженного файла: замены той же длины, формат не меняется. - Замены сохраняют длину байт-в-байт: `sigma.sbrf.ru` → `xxxxx.xxxx.xx` (точки на местах), e-mail → `xxxxx@xxxx.xxxx.xx`, публичный IP `93.184.216.34` → `00.000.000.00` (`net.ParseIP` → nil, не перематчится), `TimeZone=Europe/Moscow` → `TimeZone=Etc/Universal` — валидная нейтральная IANA-зона той же длины из таблицы `len → zone`, `SELTimeUTCOffset=180` → `000`. Таймстемпы событий не пересчитываются. - Архивы (`.tar` / `.sds` / `.gz` / `.tgz` / `.zip`) разбираются рекурсивно без потерь: имена записей, права и все встроенные даты (tar mtime/atime/ ctime, gzip Name/ModTime, zip Modified) сохраняются; нетронутые zip-записи копируются сырыми; длина содержимого не меняется → tar-заголовки и контрольные суммы байт-идентичны, пересобирается только слой сжатия. Если чистить нечего — выход байт-в-байт равен входу. - Не редактируется (в отчёте, чистить вручную): бинарные члены (`FRU.bin`, `localtime`, `redis-dump.rdb`, SOL-логи), битые вложенные архивы, HPE `.ahs`. - Приватные IP, `pool.ntp.org` и остальной allowlist не трогаются; вендорские шаблоны (`*_tianyiyun`, `*.conf_bak`, `raw_export.json`, …) пропускаются целиком. - Проверено: повторный разбор обезличенного Dell TSR / xFusion / Inspur onekeylog / H3C `.sds` даёт идентичный инвентарь; повторный скан — чисто. Точки входа: `POST /api/sanitize` + `GET /api/sanitize/download`. Детали — `bible-local/docs/log-sanitization.md`. ## Детектор уже обезличенного файла `privacy.Scan` сообщает `PrivacyScan.Sanitized {detected, markers, strong, files, evidence}`. Распознаёт *форму* заглушки (слот значения, заполненный одним повторяющимся символом и разделителями), а не буквальный `x`, поэтому смена символа-заглушки в будущем не сломает детект. `detected` требует подтверждения (`strong ≥ 2`, либо `strong ≥ 1 && markers ≥ 3`, либо `markers ≥ 4`) — одно вхождение выдаётся в отчёте, но не считается за «уже обезличено». UI прячет кнопку обезличивания и показывает пометку. ## Калибровка privacy-скана Починены ложные срабатывания, найденные на корпусе RMA и nvidia-bug-report: syslog-селекторы (`local7.info`), firmware-квады `MEVersion`, `*.conf_bak` вендорские шаблоны, домены bundled-вьюеров (github.com, typoland.com, schemas.dell.com и т.п.). ## Запуск на macOS Снимите карантинный атрибут через терминал: `xattr -d com.apple.quarantine /path/to/logpile-darwin-arm64` После этого бинарник запустится без предупреждения Gatekeeper.