Skip to content

iwnmname/blurveil

Repository files navigation

Blurveil

Blurveil

Безопасные скриншоты с автоматическим блюром конфиденциальных данных.

CI Release build Latest release Downloads License: MIT Python Platforms Local processing

Blurveil — локальное приложение для безопасных скриншотов. Оно делает OCR, находит чувствительные строки и объекты на изображении, блюрит найденные области и открывает результат в предпросмотре перед копированием или сохранением.


Что блюрится

  • email-адреса
  • IPv4 и IPv6-адреса
  • телефоны
  • номера банковских карт, похожие на настоящие по Luhn-проверке
  • JWT, GitHub tokens, Slack tokens и AWS access keys
  • строки с паролями, токенами, cookie, session и API/client secrets
  • заголовки приватных ключей вроде -----BEGIN PRIVATE KEY-----
  • IBAN
  • QR-коды
  • лица

Приватные ключи определяются по OCR-тексту заголовка BEGIN ... PRIVATE KEY. Если на скриншоте виден только кусок base64-тела без заголовка или OCR его не распознал, Blurveil может его не найти.


Как работает

  1. Нажмите Ctrl+Option+S на macOS или Ctrl+Alt+S на Windows.
  2. Выделите область экрана.
  3. Blurveil локально распознает текст, ищет чувствительные данные, QR-коды и лица.
  4. Найденные области блюрятся Gaussian blur.
  5. В предпросмотре можно отключить автоматические регионы, добавить блюр вручную, обрезать изображение, скопировать результат в буфер или сохранить файл.

Все распознавание и обработка выполняются локально. Скриншоты никуда не отправляются.

Ограничения

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


Поддерживаемые платформы

Blurveil сейчас поддерживает macOS и Windows.

Linux/Ubuntu не поддерживается: приложение завершится с понятным сообщением при запуске на Linux.


Установка

Требования: macOS или Windows, Python 3.12+, Tesseract OCR

# Клонировать репозиторий
git clone https://github.com/iwnmname/blurveil.git
cd blurveil

# Установить зависимости (через uv)
uv sync

# Или через pip
pip install -e .

Запуск

uv run python main.py

После запуска приложение появится в системном трее. Нажмите Ctrl+Option+S на macOS или Ctrl+Alt+S на Windows, выделите область экрана и получите обработанный скриншот.

При обработке больших скриншотов появится небольшое окно ожидания: OCR и поиск конфиденциальных данных выполняются в фоне, поэтому интерфейс не должен зависать.

Разрешения macOS

При первом запуске Blurveil проверит нужные разрешения macOS и покажет окно с подсказками, если чего-то не хватает.

Включите для приложения:

  • Запись экрана — нужна для захвата скриншотов
  • Универсальный доступ — нужен для стабильной работы глобальной горячей клавиши
  • Мониторинг ввода — нужен, если macOS не передаёт глобальную горячую клавишу

Проверку можно открыть вручную из меню в системном трее: Проверить разрешения macOS.

Тесты

uv run python -m unittest discover -v

Стек технологий

Компонент Технология
GUI и трей PyQt6
Захват экрана mss
OCR Tesseract / pytesseract
Обработка изображений OpenCV, Pillow
Глобальные горячие клавиши pynput

About

Automatically remove sensitive data from screenshots before sharing

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors