Устал загружать конфиденциальные данные в онлайн-сервисы, поэтому сделал PrivacyKit
- вторник, 23 июня 2026 г. в 00:00:08
Думаю, многие сталкивались с этим: нужно быстро конвертировать HEIC в JPG, сжать изображение или посмотреть содержимое JWT. Открываешь первый попавшийся сервис, загружаешь файл или вставляешь данные и просто надеешься, что они действительно никуда не сохраняются.
Наверное, большинство таких сервисов вполне честные. Но в какой-то момент я поймал себя на мысли, что мне просто некомфортно отправлять свои файлы, токены и логи неизвестно куда.
Так появилась идея PrivacyKit.
Главный принцип проекта очень простой: если задачу можно выполнить прямо в браузере, то зачем вообще нужен сервер?
Поэтому все инструменты работают локально. Никаких API, регистрации и загрузки данных на бэкенд.
Например, сжатие изображений происходит прямо в браузере:
const compressedFile = await imageCompression(file, { maxSizeMB: 1, useWebWorker: true });
А JWT вообще можно разобрать несколькими строками кода:
const payload = JSON.parse( atob(token.split(".")[1]) );


Сейчас в проекте есть несколько базовых инструментов, но, если честно, PrivacyKit пока ещё довольно сырой. Это скорее pet-проект, который я постепенно развиваю в свободное время.
По мере возможности хочу добавить новые вещи:
удаление EXIF-метаданных;
инструменты для PDF;
просмотр больших CSV-файлов;
ещё несколько утилит, связанных с приватностью и локальной обработкой данных.
Практика показала, что часть задач действительно можно реализовать без серверной части. Но это скорее про конкретные утилиты, а не про универсальный подход «всё в браузере».
Поэтому для меня PrivacyKit - это не столько очередной набор утилит, сколько небольшой эксперимент с идеей:
Если данные можно не отправлять в интернет, возможно, их и не стоит туда отправлять.
Проект ещё молодой и наверняка в нём есть вещи, которые можно сделать лучше. Поэтому буду рад любым замечаниям, идеям и предложениям.