Skip to content

Repository files navigation

Excel Clipboard Masker — защита числовых данных из Excel

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

Аннотация: Проект предлагает решение этой задачи в виде фоновой утилиты на Python. Она автоматически отслеживает табличный текст в буфере обмена после копирования диапазонов из Excel, распознаёт числовые значения и подменяет их на безопасные по заданным диапазонам. Это позволяет снизить риск утечек при сохранении привычного пользовательского сценария работы с Ctrl+C / Ctrl+V.

Быстрые ссылки

Ключевые возможности

  • Маскирование чисел по диапазонам (до 10k / до 100k / >100k)
  • Обработка табличного текста из буфера обмена (TSV/строки с табами)
  • Anti‑loop на основе хэша, чтобы избежать повторной переработки
  • Запуск в режиме демона с логированием и корректной остановкой
  • Минимальный набор unit‑тестов для критичных функций

Как это работает

  1. Пользователь копирует диапазон в Excel — в буфере появляется TSV‑текст.
  2. Фоновый процесс читает буфер, находит числа и маскирует их по правилам.
  3. При вставке пользователь получает уже безопасные значения.

Важно: используется polling (опрос буфера), без системных хуков.

Что внутри (структура)

  • src/cipher_engine.py: алгоритм маскирования чисел по диапазонам (до 10k / до 100k / >100k)
  • src/clipboard_handler.py: polling буфера, эвристика “похоже на таблицу”, маскирование и anti-loop по MD5
  • src/daemon.py: запуск “как демон” (лог + корректная остановка по Ctrl+C)
  • src/main.py: CLI‑входная точка
  • tests/: минимальные unit‑тесты

Установка

python -m venv .venv
# Windows PowerShell:
.venv\Scripts\Activate.ps1
pip install -r requirements.txt

Запуск

Интерактивный режим (мониторинг буфера)

python src/main.py

Скопируйте диапазон в Excel (Ctrl+C) → вставьте куда‑нибудь (Ctrl+V) и проверьте, что числа подменились.

Режим “демона” (лог + остановка Ctrl+C)

python src/main.py --daemon

Логи пишутся в clipboard_daemon.log (и в stdout).

Тесты

Проект содержит тесты на unittest:

python -m unittest discover -s tests -v

Также в src/main.py есть флаг:

python src/main.py --test

Документация и процесс разработки

  • CHAT_USE_CASE_TEMPLATE.md содержит формализованный сценарий постановки задачи, декомпозиции, подготовки промптов и фиксации решений.
  • Папка cards-screenshots/ включает карточки‑правила, которые использовались для стандартизации запросов к LLM.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages