UPD апрель 2026: Сервис закрыт. Через уязвимость в axios удалось пробить бэкенд и получить доступ к данным. Я снёс всё, пока не стало хуже. Ниже — оригинальная статья как она была, плюс постмортем в конце.
Когда хочется просто пароль, а не подписку на новый образ жизни
Иногда тебе нужен один-единственный, бодрый как эспрессо, пароль. Сгенерировать, скопировать, жить дальше. А на практике внезапно оказываешься в мини-CRM своих секретов: подписки, синки, тарифы «счастливый сейф на всю жизнь».
Я хотел по‑простому. Так родился PassWave — минималистичный генератор паролей с опциональным хранилищем. Без обязательств, без загона, без «введите номер карты, чтобы продолжить».
Идея родилась как Telegram Mini App — удобно, пока не понял, что PWA универсальнее. Устанавливается на телефон/десктоп, работает оффлайн и не привязана к платформе. Telegram‑версию я оставил в закромах — достану, если спросите.
Контекст эпохи
Рынок менеджеров паролей зрелый и «тяжёлый»: подписки, экосистемы, автозаполнение. При этом людям часто нужен не «комбайн», а быстрый способ сгенерировать/сохранить несколько секретов. После громких инцидентов (утечки в крупных сервисах) запрос на client‑side шифрование и оффлайн‑режим вырос.
Что получилось (MVP за 2 недели, да)
🔐 Безопасность без занудства
- Шифрует всё на клиенте. Сервер видит только аккуратный зашифрованный шарик данных и не имеет ни малейшего понятия, что внутри.
- Пароли генерируются криптографически честно, не на «рандоме из подворотни».
- Фраза‑ключ — только у вас. Потеряли — не восстановлю. Зато и я ваши пароли не увижу.
📱 PWA как должно быть
- Ставится на домашний экран и работает как приложение.
- Полный оффлайн: генерация и локальное хранилище без интернета.
- Синхронизация между устройствами — по вашему щелчку, а не «мы уже всё синхронизировали, надеемся, вы не против».
🌍 Мультиязычность
С первого дня: русский, английский и ещё «пачка друзей». Языки подцепляются без плясок с бубном.
🧩 Что внутри по фичам
- Генерация паролей с пресетами и «не путай меня с O/0 и I/l».
- Парольные фразы, если любите «correct‑horse‑battery‑staple» и хотите помнить, а не копировать.
- Пакетная генерация для тех, кто наводит порядок сразу и везде.
- QR для перекидывания пароля между устройствами без «отправить себе в мессенджер».
- Тёмная тема. Конечно тёмная тема.
Важно: это не замена монструозным менеджерам паролей на 100500 аккаунтов. Это карманный мультитул — генерация, пара важных записей и спокойная жизнь.
Бизнес‑инсайты
- JTBD: «Быстро сгенерировать и сохранить несколько секретов, оффлайн и без подписки».
- Позиционирование: privacy‑first, zero‑knowledge, PWA (не завязан на платформе).
- Монетизация (если понадобится): one‑time unlock/темы/словари; B2B white‑label.
- Каналы: SEO «генератор паролей», соц.челленджи, комьюнити про privacy.
Почему так, а не иначе
- Никаких автозаполнений, расширений и «мы всё сделаем за вас». Чем меньше кода между вами и паролем — тем надёжнее.
- Синхронизация через Supabase, но только зашифрованным blob'ом. Сервер — просто курьер, содержания не знает.
- Нет регистрации — можно жить локально и вообще никому не рассказывать, что у вас есть приложение для паролей.
Кому зайдёт
- Фрилансерам, разработчикам, всем, кто часто регистрируется в новых сервисах.
- Тем, кто не хочет ввязываться в подписки ради генерации.
- Тем, кто любит оффлайн и контроль.
Планы (коротко и по делу)
- Лёгкий импорт/экспорт.
- Больше словарей для парольных фраз.
- Мини‑режим «паранойи»: автозамок при сворачивании.
Постмортем: как и почему я закрыл PassWave
Весной 2026 сервис взломали. Вектор атаки — уязвимость в axios, через которую удалось добраться до бэкенда. Зашифрованные blob'ы на сервере атакующий получил.
Технически данные были зашифрованы на клиенте и без фразы‑ключа пользователя — бесполезны. Но сам факт того, что кто‑то прошёл в бэкенд, — это уже провал по архитектуре. Я не хотел держать сервис, в безопасность которого перестал верить.
Решение: снести всё, пока ситуация не стала хуже.
Что вынес:
- Даже zero‑knowledge архитектура не освобождает от ответственности за бэкенд.
- Зависимости — это поверхность атаки. Особенно в маленьком сайд‑проекте, где обновления ставишь нерегулярно.
- Pet‑проект с реальными пользователями — это уже продукт, и к нему нужно относиться соответственно.
Пока перезапуска нет. Если когда‑нибудь — только serverless с минимальной поверхностью атаки и строгим пайплайном зависимостей.
См. также
