От Excel до HSE-дашборда и анализа происшествий без передачи персональных данных. Этап 1: офлайн-маскировщик

От Excel до HSE-дашборда и анализа происшествий без передачи персональных данных. Этап 1: офлайн-маскировщик

11 сентября 2026 🇷🇺 Оригинал: русский 1 мин чтения

Практика безопасной подготовки данных для вайб-кодинга и работы с облачными ИИ-агентами.

Идея подхода: рабочие данные остаются внутри корпоративного контура. Во внешнюю ИИ-среду передаётся только обезличенная копия или уже замаскированный документ. Обратное восстановление персональных значений выполняется локально.

Зачем вообще понадобился отдельный маскировщик

Практическое использование искусственного интеллекта в охране труда и промышленной безопасности быстро упирается в вопрос исходных данных. Рабочие таблицы и материалы происшествий могут содержать ФИО, табельные номера, названия подрядных организаций, контакты, суммы и другие сведения, которые нельзя без оценки рисков просто загружать во внешний сервис.

При этом именно реальная структура данных нужна для разработки полезного инструмента. Дашборд должен понимать настоящие поля и взаимосвязи таблицы, а агент по анализу происшествий — структуру объяснительных, первоначальных сообщений и других материалов. Поэтому мы разделили данные и инструмент.

В результате офлайн-маскировщик стал базовым элементом сразу для двух направлений: подготовки обезличенных Excel-шаблонов для последующего вайб-кодинга и подготовки Word-документов для анализа материалов происшествий с помощью облачных ИИ-агентов.

Рис. 1. Общая схема безопасной работы с данными
Рис. 1. Общая схема безопасной работы с данными

Где выполнять вайб-кодинг и куда вставлять промпты

Для новичка здесь всё проще, чем выглядит: Prompt 1 из раздела «Готовые Prompt» (в конце статьи) не нужно вставлять в какой-то специальный редактор кода. Его вводят обычным текстом в ИИ-сервисе, который умеет создавать и изменять приложения или программный код. Подход один и тот же: открыть режим разработки, вставить Prompt 1 целиком, получить первую версию, проверить её и затем в том же диалоге последовательно давать Prompt 2, Prompt 3 и Prompt 4.

На практике можно использовать несколько вариантов. В ChatGPT — режим «Работа» или Codex, если они доступны в вашем аккаунте; в Claude — Artifacts; в Gemini — Canvas; в Perplexity — режим Create files and apps, если он доступен на вашем тарифе; в Replit — Agent. Например, в ChatGPT достаточно открыть «Работа» или Codex, создать новую задачу и вставить текст Prompt 1 в поле сообщения. В Gemini: «Добавить файлы» → Canvas → вставить Prompt. В Perplexity: выбрать Create files and apps и вставить Prompt в строку запроса. В Replit: открыть Agent, при необходимости сначала включить Plan, вставить Prompt и после сборки проверить результат в Preview.

Названия режимов актуальны на момент публикации; интерфейс и доступность функций у сервисов со временем могут меняться.

Для первого опыта я бы рекомендовал начать с ChatGPT, Claude или Gemini: там проще работать обычным языком и поэтапно уточнять требования. Если программа уже создана и требуется более глубокая доработка кода, удобны Replit, Codex и другие специализированные инструменты разработки.

Важно: независимо от выбранной платформы в начале запроса нужно отдельно зафиксировать требование: «результат — один автономный HTML-файл, без внешних API, CDN и сетевых зависимостей, с возможностью работы при отключённом интернете». И ещё одно правило: в сервис для вайб-кодинга не загружаются реальные рабочие Excel/Word с персональными данными. Для разработки используется только проверенная обезличенная копия или тестовый файл.

Направление 1. Excel: обезличенный шаблон для дальнейшего вайб-кодинга

Для аналитики больших массивов данных нам важно сохранить структуру таблицы: названия листов и столбцов, типы данных, даты, категории, иерархию «предприятие — цех — участок», процессы и другие признаки. Реальные фамилии и идентификаторы для разработки программной оболочки не нужны.

Поэтому рабочая Excel-таблица загружается в локальный HTML-маскировщик. Программа на компьютере пользователя находит потенциально чувствительные значения, показывает их до замены и позволяет вручную откорректировать правила. Например: «Иванов Иван Иванович → Сотрудник_001», «ТОО Подрядчик → Организация_001», «табельный номер → ID_001».

На выходе получается обезличенная копия с сохранённой логикой исходной таблицы. Уже её можно использовать при работе с ИИ для построения программы: фильтров, KPI, интерактивных диаграмм, поиска и детализации до записи. Сам исходный Excel при этом остаётся внутри предприятия.

После завершения разработки реальная база вообще не должна находиться внутри создаваемого HTML. В готовой программе предусматривается кнопка локальной загрузки исходного Excel: файл читается браузером на компьютере пользователя, а дашборд пересчитывает показатели уже внутри локального сеанса. Это будет вторым этапом данной серии.

Базовая постановка задачи на создание такого режима приведена в Prompt 1 и Prompt 2 (см. «Готовые Prompt» в конце статьи).

Рис. 2. Маскирование Excel перед передачей шаблона в ИИ
Рис. 2. Маскирование Excel перед передачей шаблона в ИИ
Рис. 2.1. Маскирование Excel: офлайн-загрузка файла
Рис. 2.1. Маскирование Excel: офлайн-загрузка файла
Рис. 2.2. Маскирование Excel: выбор правил замены
Рис. 2.2. Маскирование Excel: выбор правил замены
Рис. 2.3. Маскирование Excel: проверка замен и скачивание копии
Рис. 2.3. Маскирование Excel: проверка замен и скачивание копии

Направление 2. Word: материалы происшествия без раскрытия персональных данных

Второе применение маскировщика — подготовка документов по происшествию для последующего анализа в облачном ИИ. На начальном этапе это могут быть первоначальное сообщение, объяснительные, пояснения работников и другие материалы в Word.

Маскировщик создаёт обезличенную копию Word: ФИО и иные выбранные значения заменяются устойчивыми условными обозначениями. Важно, чтобы один и тот же человек во всём комплекте документов сохранял одно условное имя — иначе агент потеряет связи между показаниями и событиями.

Одновременно локально формируется отдельный зашифрованный ключ восстановления. Ключ содержит соответствия между условными обозначениями и исходными значениями. Для него задаётся пароль, который не передаётся вместе с документами и не сохраняется в облачном агенте.

После этого в ИИ передаётся только замаскированный Word. Агент может анализировать хронологию, сопоставлять объяснения, выявлять противоречия, формировать вопросы для уточнения, искать причинные связи и готовить проект аналитических материалов расследования. Формальное расследование и итоговые решения, разумеется, остаются за комиссией и ответственными специалистами.

Когда доработанный замаскированный документ возвращается из облачной среды, восстановление выполняется снова локально. В офлайн-маскировщик загружаются три элемента: полученный Word, соответствующий ему файл ключа и пароль. Программа возвращает условные обозначения к исходным значениям там, где эти обозначения сохранились в тексте.

Таким образом облачный агент работает с логикой события, но не получает исходные ФИО и другие замаскированные значения. Ключ восстановления и пароль в облачную среду не передаются.

Архитектура двусторонней работы с Word описана в Prompt 3 (см. «Готовые Prompt» в конце статьи).

Рис. 3. Цикл Word: маскирование → ИИ-анализ → локальное восстановление
Рис. 3. Цикл Word: маскирование → ИИ-анализ → локальное восстановление
Рис. 3.1. Цикл Word: скачивание маскированного источника
Рис. 3.1. Цикл Word: скачивание маскированного источника
Рис. 3.2. Цикл Word: создание локального ключа восстановления
Рис. 3.2. Цикл Word: создание локального ключа восстановления

Как создавался сам инструмент

Сам маскировщик также создавался с помощью вайб-кодинга. Здесь важно не воспринимать этот подход как команду «сделай программу» и ожидание идеального результата. Рабочая схема была другой: сформулировать одну функцию, проверить её, зафиксировать дефект или новое требование и только после этого переходить к следующей версии.

Первое требование — один автономный HTML-файл без установки. Затем добавились ручная проверка замен, список «Дополнительно заменить», перечень «Не менять», очистка текущего сеанса, работа с Word, создание отдельного зашифрованного ключа и локальное восстановление документа.

Отдельный этап — техническая самопроверка. ИИ получил уже не роль разработчика, а роль аудитора собственного кода: проверить fetch, XMLHttpRequest, WebSocket, внешние библиотеки, CDN, API, iframe, локальные хранилища и другие механизмы, через которые данные могли бы покинуть компьютер или сохраниться после завершения работы. Такой аудит не заменяет проверку ИТ- и ИБ-службы, но позволяет убрать очевидные риски ещё на стадии прототипа.

Проверочный запрос приведён в Prompt 4 (см. «Готовые Prompt» в конце статьи).

Рис. 3.3. Цикл Word: восстановление персональных данных после обработки ИИ
Рис. 3.3. Цикл Word: восстановление персональных данных после обработки ИИ

Что получаем на выходе

Один локальный инструмент закрывает две разные задачи. Для Excel — позволяет подготовить безопасный шаблон и на его основе создавать через ИИ офлайн-аналитику больших массивов данных. Для Word — позволяет передавать в облачный ИИ материалы происшествия без раскрытия замаскированных персональных значений и затем локально восстановить документ после анализа.

Ключевой принцип остаётся одинаковым: сначала исключить из внешнего контура то, что ИИ для решения задачи знать не обязан, и только затем использовать его возможности.

В следующих публикациях покажу оба продолжения этой схемы отдельно: как из обезличенного Excel-шаблона создаётся автономный HSE-дашборд с локальной загрузкой реальной базы и как ИИ-агент используется для анализа материалов расследования происшествий.

Готовые Prompt для создания и проверки локального маскировщика Excel/Word

Формулировки предназначены для последовательной разработки и адаптации под конкретный корпоративный сценарий.

Prompt 1. Базовая архитектура автономного маскировщика Excel и Word

Создай автономное локальное приложение для маскирования данных в Excel (.xlsx) и Word (.docx).

Формат приложения: один HTML-файл, который открывается обычным браузером и работает без установки дополнительного программного обеспечения.

Критические требования:
1. После открытия приложение не должно обращаться в интернет.
2. Не использовать внешние API, телеметрию, облачную обработку и автоматическую передачу пользовательских файлов.
3. Все необходимые библиотеки должны быть встроены в HTML локально.
4. Пользователь должен иметь возможность загрузить один или несколько Excel/Word-файлов с компьютера.
5. Исходные файлы не изменять. Результат сохранять отдельной копией.
6. Все операции выполнять в памяти текущей вкладки браузера.
7. Добавить кнопку полного очищения текущего сеанса.

Функции маскирования:
- искать ФИО, фамилии с инициалами и другие выбранные персональные значения;
- искать организации и другие вручную заданные значения;
- при необходимости маскировать номера, контакты и денежные суммы;
- одинаковое исходное значение должно получать одинаковое условное обозначение внутри одного сеанса;
- перед сохранением показать пользователю список замен в формате «расположение / было / будет»;
- разрешить вручную отключить или изменить любую замену;
- добавить поле «Дополнительно заменить»;
- добавить поле «Сохранить без изменений», имеющее приоритет над заменами.

Для Excel сохранить структуру таблиц и необходимые для дальнейшей аналитики поля. Для Word сохранить структуру документа настолько, насколько это возможно.

После первой версии отдельно перечисли ограничения автоматического распознавания и места, которые пользователь обязан проверить вручную.

Prompt 2. Режим Excel: обезличенный шаблон для вайб-кодинга и HSE-аналитики

Доработай локальный HTML-маскировщик для безопасной подготовки Excel-шаблона, который затем можно использовать при разработке аналитической программы с помощью ИИ.

Цель: ИИ должен видеть структуру рабочей таблицы, но не реальные персональные и иные выбранные чувствительные значения.

Требования:
1. Сохраняй названия листов, заголовки столбцов, типы данных, даты, категории и иерархические признаки, если пользователь не указал их для замены.
2. ФИО заменяй устойчивыми обозначениями вида Сотрудник_001, Сотрудник_002 и т.д.
3. Организации заменяй обозначениями Организация_001, Организация_002 и т.д.
4. Идентификаторы и табельные номера, если они выбраны для маскирования, заменяй обозначениями ID_001, ID_002 и т.д.
5. Одинаковое исходное значение должно получать одинаковую замену во всех обрабатываемых Excel-файлах текущего сеанса.
6. Покажи предварительный список всех замен и разреши пользователю исправить его вручную.
7. Не удаляй строки и столбцы только потому, что они не используются программой.
8. Не меняй исходный файл.
9. После обработки дать скачать отдельную обезличенную копию.
10. Добавь заметное предупреждение: перед передачей результата во внешний ИИ пользователь обязан вручную проверить обезличенный файл.

Важно: обратное восстановление Excel не требуется. Исходная рабочая база остаётся внутри корпоративного контура; обезличенная копия используется только для проектирования логики и интерфейса будущего HTML-дашборда.

Prompt 3. Режим Word: маскирование, отдельный ключ и локальное восстановление

Доработай автономный HTML-маскировщик для двусторонней работы с Word (.docx).

Сценарий:
1. Пользователь загружает исходные Word-документы по происшествию.
2. Программа локально заменяет ФИО, организации и другие выбранные значения устойчивыми условными обозначениями.
3. Пользователь проверяет и подтверждает список замен.
4. Программа создаёт:
   а) замаскированный Word-документ;
   б) отдельный зашифрованный файл ключа, содержащий точные соответствия «условное обозначение ↔ исходное значение».
5. Для файла ключа пользователь задаёт пароль не короче 10 символов. Пароль не сохранять в приложении и не записывать внутрь ключа в открытом виде.
6. Замаскированный Word затем может быть передан во внешний ИИ-агент для анализа содержания.
7. После получения доработанного Word пользователь возвращается в локальное приложение.
8. Для восстановления он загружает:
   - доработанный замаскированный Word;
   - соответствующий ему файл ключа;
   - вводит пароль.
9. Программа локально заменяет сохранившиеся условные обозначения обратно на исходные значения и создаёт отдельный восстановленный Word.

Требования безопасности:
- ключ восстановления и пароль никогда не должны автоматически передаваться в сеть;
- ключ хранить отдельно от замаскированного документа;
- использовать современное шифрование ключа (например, AES-256-GCM через Web Crypto API);
- при неверном пароле не раскрывать содержимое ключа;
- после завершения работы дать возможность полностью очистить текущий сеанс;
- показать предупреждение, что условные обозначения, которые были удалены или существенно изменены внешним ИИ, восстановить автоматически невозможно;
- текст внутри изображений автоматически не распознавать и явно предупредить пользователя о необходимости визуальной проверки изображений/логотипов.

Сохраняй структуру Word: абзацы, таблицы, стили, колонтитулы и изображения насколько это технически возможно. Не меняй исходный файл.

Prompt 4. Технический аудит автономности и возможных каналов утечки

Проведи технический аудит созданного HTML-приложения как локального офлайн-инструмента для работы с чувствительными данными.

Проверь весь код и перечисли все обнаруженные механизмы, которые могут создавать сетевой обмен или долговременное хранение содержимого пользовательских файлов.

Отдельно проверь:
- fetch;
- XMLHttpRequest;
- WebSocket;
- EventSource;
- navigator.sendBeacon;
- внешние script src;
- внешние CSS и шрифты;
- CDN;
- внешние API;
- iframe;
- автоматическую отправку HTML-форм;
- Service Worker;
- localStorage;
- sessionStorage;
- IndexedDB;
- cookies;
- внешние URL в библиотеках и коде;
- телеметрию, аналитику и crash-reporting.

Требуемый результат:
1. Программа должна полноценно работать при отключённом интернете.
2. Пользовательские Excel/Word-файлы не должны передаваться по сети.
3. Ключи восстановления и пароли не должны отправляться или сохраняться приложением автоматически.
4. Если используются локальные хранилища браузера, объясни зачем; для исходных данных, ключей и паролей их использование исключи.
5. Добавь строгую Content-Security-Policy, запрещающую сетевые подключения и встраивание внешнего содержимого, насколько это совместимо с работой приложения.
6. После команды «Очистить всё» удалить данные текущего сеанса из состояния приложения.
7. После исправлений повторно проверь код и выдай краткий отчёт: какие потенциальные каналы были найдены, что удалено, что осталось и почему.

Важно: укажи, что такая самопроверка кода не заменяет корпоративную проверку ИТ/ИБ и юридическую оценку допустимости конкретного сценария использования.
Практическое правило: во внешнюю ИИ-среду передавать только проверенную обезличенную копию. Файл ключа восстановления и пароль должны оставаться в локальном контуре и не прикладываться к запросу агенту.

Блог эксперта

Читайте статьи лидеров в безопасности

Все статьи блога
Мы используем cookie для лучшей работы сайта · Уведомление о файлах cookie

Присоединяйся к лидерам

14 000+ профессионалов · 128+ стран

1
Контакты
2
Профиль

Регистрация

Пару слов о себе

Обязательное поле
Обязательное поле
Введите корректный email
Некорректный номер

Регистрация

Профессиональные данные

Обязательное поле
Обязательное поле
Обязательное поле

Пожалуйста, дайте согласие на получение рассылок. Это значительно повысит ваши возможности на платформе.

Регистрация завершена

На указанный email мы отправили письмо с данными для входа на платформу. Используйте полученный пароль для авторизации.

Не пришло письмо?
Проверьте папку «Спам»
Уже есть аккаунт? Войти · Забыли пароль?

Добро пожаловать!

Вы успешно вошли на платформу.

Восстановление пароля

Введите email для восстановления

Введите корректный email

Ссылка отправлена

На указанный email отправлена ссылка для сброса пароля. Ссылка действительна в течение 1 часа.

Не пришло письмо?
Проверьте папку «Спам»
Вспомнили пароль? Войти · Регистрация