Как обезличить документы на ноутбуке, который «не тянет»
Как обезличить документы на ноутбуке, который «не тянет» Недавно мне задали вопрос: — Александр, у нас договоры, анкеты, паспорта, реквизиты. Хотим анализировать их с помощью ИИ. Но данные никуда отправлять нельзя. И мощного компьютера у нас нет. Что делать? 🤔 На первый взгляд задача выглядит противоречиво. Облачную нейросеть использовать опасно: в документах персональные данные, коммерческая информация, NDA. А локальные модели обычно ассоциируются с дорогой видеокартой и сложной настройкой. Но я решил проверить: можно ли собрать систему, которая работает полностью локально, только на процессоре и на обычном ноутбуке? Оказалось — можно. ⚡️ Самое сложное было не найти в тексте имя или телефон. Сложнее было сделать так, чтобы система: 🔹 не ломала таблицы, колонтитулы и оформление DOCX; 🔹 отличала банковский счёт от БИК, ИНН и других похожих последовательностей цифр; 🔹 проверяла контрольные суммы реквизитов; 🔹 понимала, что один телефон, записанный в разных форматах, — это одно и то же значение; 🔹 заменяла одинаковые данные одним плейсхолдером: [ФИО_1], [ТЕЛЕФОН_1], [ИНН_1]; 🔹 после обработки повторно искала исходные значения и предупреждала, если в документе осталась утечка. Именно последний пункт особенно важен. На одном из тестов приложение обнаружило три значения, которые остались в готовом файле, и пометило результат как небезопасный. То есть система не делает вид, что всё идеально, а честно останавливает документ до повторной проверки. 🛡 В итоге получилось локальное приложение, которое работает с: 📄 DOCX, PDF с текстовым слоем, XLSX и TXT; 📷 сканами через Tesseract — с обязательным предупреждением о ручной проверке; 🔎 ФИО, телефонами, email, адресами, паспортами, СНИЛС, ИНН, КПП, ОГРН, банковскими счетами, БИК, организациями, должностями, договорами, госномерами и пользовательскими типами данных. Внутри — Python, FastAPI, регулярные выражения с контрольными суммами, Natasha и GLiNER Multi PII. Интерфейс открывается в локальном окне, база данных и сетевые вызовы не используются. Запуск — одним EXE с портативным Python. Можно держать приложение на флешке: на другом компьютере ничего устанавливать не нужно. 💻 На выходе пользователь получает: ✅ новую обезличенную копию документа; ✅ mapping.csv и mapping.json для обратного сопоставления; ✅ отчёт о найденных и заменённых значениях; ✅ повторную проверку документа на остаточные данные. При этом оператор сам видит контекст, тип сущности и уверенность распознавания, может убрать ошибочную отметку или добавить пропущенную. Конечно, это пока не финальная корпоративная система. Mapping-файл ещё не шифруется, нет ролей пользователей и журнала аудита. Всё это — следующий этап. А сам mapping нужно хранить отдельно: фактически он содержит исходные персональные данные. Но главный вывод для меня такой: 🚀 Для практического обезличивания документов не всегда нужна дорогая видеокарта и огромная языковая модель. Во многих задачах основу качества дают хорошие правила, контрольные суммы, аккуратная работа с форматами и обязательная проверка результата. Нейросеть здесь усиливает систему, но не заменяет инженерную надёжность. А в вашей компании есть документы, которые хотелось бы безопасно анализировать с помощью ИИ, не отправляя их в облако? #нейросети #персональныеданные #обезличивание #152ФЗ #информационнаябезопасность #Python #ИИдлябизнеса