Практика безопасной подготовки данных для вайб-кодинга и работы с облачными ИИ-агентами.
Идея подхода: рабочие данные остаются внутри корпоративного контура. Во внешнюю ИИ-среду передаётся только обезличенная копия или уже замаскированный документ. Обратное восстановление персональных значений выполняется локально.
Практическое использование искусственного интеллекта в охране труда и промышленной безопасности быстро упирается в вопрос исходных данных. Рабочие таблицы и материалы происшествий могут содержать ФИО, табельные номера, названия подрядных организаций, контакты, суммы и другие сведения, которые нельзя без оценки рисков просто загружать во внешний сервис.
При этом именно реальная структура данных нужна для разработки полезного инструмента. Дашборд должен понимать настоящие поля и взаимосвязи таблицы, а агент по анализу происшествий — структуру объяснительных, первоначальных сообщений и других материалов. Поэтому мы разделили данные и инструмент.
В результате офлайн-маскировщик стал базовым элементом сразу для двух направлений: подготовки обезличенных Excel-шаблонов для последующего вайб-кодинга и подготовки Word-документов для анализа материалов происшествий с помощью облачных ИИ-агентов.

Для новичка здесь всё проще, чем выглядит: 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 с персональными данными. Для разработки используется только проверенная обезличенная копия или тестовый файл.
Для аналитики больших массивов данных нам важно сохранить структуру таблицы: названия листов и столбцов, типы данных, даты, категории, иерархию «предприятие — цех — участок», процессы и другие признаки. Реальные фамилии и идентификаторы для разработки программной оболочки не нужны.
Поэтому рабочая Excel-таблица загружается в локальный HTML-маскировщик. Программа на компьютере пользователя находит потенциально чувствительные значения, показывает их до замены и позволяет вручную откорректировать правила. Например: «Иванов Иван Иванович → Сотрудник_001», «ТОО Подрядчик → Организация_001», «табельный номер → ID_001».
На выходе получается обезличенная копия с сохранённой логикой исходной таблицы. Уже её можно использовать при работе с ИИ для построения программы: фильтров, KPI, интерактивных диаграмм, поиска и детализации до записи. Сам исходный Excel при этом остаётся внутри предприятия.
После завершения разработки реальная база вообще не должна находиться внутри создаваемого HTML. В готовой программе предусматривается кнопка локальной загрузки исходного Excel: файл читается браузером на компьютере пользователя, а дашборд пересчитывает показатели уже внутри локального сеанса. Это будет вторым этапом данной серии.
Базовая постановка задачи на создание такого режима приведена в Prompt 1 и Prompt 2 (см. «Готовые Prompt» в конце статьи).




Второе применение маскировщика — подготовка документов по происшествию для последующего анализа в облачном ИИ. На начальном этапе это могут быть первоначальное сообщение, объяснительные, пояснения работников и другие материалы в Word.
Маскировщик создаёт обезличенную копию Word: ФИО и иные выбранные значения заменяются устойчивыми условными обозначениями. Важно, чтобы один и тот же человек во всём комплекте документов сохранял одно условное имя — иначе агент потеряет связи между показаниями и событиями.
Одновременно локально формируется отдельный зашифрованный ключ восстановления. Ключ содержит соответствия между условными обозначениями и исходными значениями. Для него задаётся пароль, который не передаётся вместе с документами и не сохраняется в облачном агенте.
После этого в ИИ передаётся только замаскированный Word. Агент может анализировать хронологию, сопоставлять объяснения, выявлять противоречия, формировать вопросы для уточнения, искать причинные связи и готовить проект аналитических материалов расследования. Формальное расследование и итоговые решения, разумеется, остаются за комиссией и ответственными специалистами.
Когда доработанный замаскированный документ возвращается из облачной среды, восстановление выполняется снова локально. В офлайн-маскировщик загружаются три элемента: полученный Word, соответствующий ему файл ключа и пароль. Программа возвращает условные обозначения к исходным значениям там, где эти обозначения сохранились в тексте.
Таким образом облачный агент работает с логикой события, но не получает исходные ФИО и другие замаскированные значения. Ключ восстановления и пароль в облачную среду не передаются.
Архитектура двусторонней работы с Word описана в Prompt 3 (см. «Готовые Prompt» в конце статьи).



Сам маскировщик также создавался с помощью вайб-кодинга. Здесь важно не воспринимать этот подход как команду «сделай программу» и ожидание идеального результата. Рабочая схема была другой: сформулировать одну функцию, проверить её, зафиксировать дефект или новое требование и только после этого переходить к следующей версии.
Первое требование — один автономный HTML-файл без установки. Затем добавились ручная проверка замен, список «Дополнительно заменить», перечень «Не менять», очистка текущего сеанса, работа с Word, создание отдельного зашифрованного ключа и локальное восстановление документа.
Отдельный этап — техническая самопроверка. ИИ получил уже не роль разработчика, а роль аудитора собственного кода: проверить fetch, XMLHttpRequest, WebSocket, внешние библиотеки, CDN, API, iframe, локальные хранилища и другие механизмы, через которые данные могли бы покинуть компьютер или сохраниться после завершения работы. Такой аудит не заменяет проверку ИТ- и ИБ-службы, но позволяет убрать очевидные риски ещё на стадии прототипа.
Проверочный запрос приведён в Prompt 4 (см. «Готовые Prompt» в конце статьи).

Один локальный инструмент закрывает две разные задачи. Для Excel — позволяет подготовить безопасный шаблон и на его основе создавать через ИИ офлайн-аналитику больших массивов данных. Для Word — позволяет передавать в облачный ИИ материалы происшествия без раскрытия замаскированных персональных значений и затем локально восстановить документ после анализа.
Ключевой принцип остаётся одинаковым: сначала исключить из внешнего контура то, что ИИ для решения задачи знать не обязан, и только затем использовать его возможности.
В следующих публикациях покажу оба продолжения этой схемы отдельно: как из обезличенного Excel-шаблона создаётся автономный HSE-дашборд с локальной загрузкой реальной базы и как ИИ-агент используется для анализа материалов расследования происшествий.
Формулировки предназначены для последовательной разработки и адаптации под конкретный корпоративный сценарий.
Создай автономное локальное приложение для маскирования данных в Excel (.xlsx) и Word (.docx).
Формат приложения: один HTML-файл, который открывается обычным браузером и работает без установки дополнительного программного обеспечения.
Критические требования:
1. После открытия приложение не должно обращаться в интернет.
2. Не использовать внешние API, телеметрию, облачную обработку и автоматическую передачу пользовательских файлов.
3. Все необходимые библиотеки должны быть встроены в HTML локально.
4. Пользователь должен иметь возможность загрузить один или несколько Excel/Word-файлов с компьютера.
5. Исходные файлы не изменять. Результат сохранять отдельной копией.
6. Все операции выполнять в памяти текущей вкладки браузера.
7. Добавить кнопку полного очищения текущего сеанса.
Функции маскирования:
- искать ФИО, фамилии с инициалами и другие выбранные персональные значения;
- искать организации и другие вручную заданные значения;
- при необходимости маскировать номера, контакты и денежные суммы;
- одинаковое исходное значение должно получать одинаковое условное обозначение внутри одного сеанса;
- перед сохранением показать пользователю список замен в формате «расположение / было / будет»;
- разрешить вручную отключить или изменить любую замену;
- добавить поле «Дополнительно заменить»;
- добавить поле «Сохранить без изменений», имеющее приоритет над заменами.
Для Excel сохранить структуру таблиц и необходимые для дальнейшей аналитики поля. Для Word сохранить структуру документа настолько, насколько это возможно.
После первой версии отдельно перечисли ограничения автоматического распознавания и места, которые пользователь обязан проверить вручную.Доработай локальный HTML-маскировщик для безопасной подготовки Excel-шаблона, который затем можно использовать при разработке аналитической программы с помощью ИИ.
Цель: ИИ должен видеть структуру рабочей таблицы, но не реальные персональные и иные выбранные чувствительные значения.
Требования:
1. Сохраняй названия листов, заголовки столбцов, типы данных, даты, категории и иерархические признаки, если пользователь не указал их для замены.
2. ФИО заменяй устойчивыми обозначениями вида Сотрудник_001, Сотрудник_002 и т.д.
3. Организации заменяй обозначениями Организация_001, Организация_002 и т.д.
4. Идентификаторы и табельные номера, если они выбраны для маскирования, заменяй обозначениями ID_001, ID_002 и т.д.
5. Одинаковое исходное значение должно получать одинаковую замену во всех обрабатываемых Excel-файлах текущего сеанса.
6. Покажи предварительный список всех замен и разреши пользователю исправить его вручную.
7. Не удаляй строки и столбцы только потому, что они не используются программой.
8. Не меняй исходный файл.
9. После обработки дать скачать отдельную обезличенную копию.
10. Добавь заметное предупреждение: перед передачей результата во внешний ИИ пользователь обязан вручную проверить обезличенный файл.
Важно: обратное восстановление Excel не требуется. Исходная рабочая база остаётся внутри корпоративного контура; обезличенная копия используется только для проектирования логики и интерфейса будущего HTML-дашборда.Доработай автономный 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: абзацы, таблицы, стили, колонтитулы и изображения насколько это технически возможно. Не меняй исходный файл.Проведи технический аудит созданного 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. После исправлений повторно проверь код и выдай краткий отчёт: какие потенциальные каналы были найдены, что удалено, что осталось и почему.
Важно: укажи, что такая самопроверка кода не заменяет корпоративную проверку ИТ/ИБ и юридическую оценку допустимости конкретного сценария использования.Практическое правило: во внешнюю ИИ-среду передавать только проверенную обезличенную копию. Файл ключа восстановления и пароль должны оставаться в локальном контуре и не прикладываться к запросу агенту.