Пароли клиентам ссылкой на один просмотр: Yopass на вашем домене
Агентства, бухгалтеры и юристы пересылают клиентам пароли и сканы в мессенджере, где они лежат годами. Yopass шифрует секрет в браузере, отдаёт ссылку на один просмотр и сжигает её. Разбираю, как устроен сервис, три сценария и честные ограничения.
Где лежат ваши клиентские пароли
Откройте переписку с любым клиентом за прошлый год. С большой вероятностью найдёте там логин от админки сайта, пароль от хостинга, скан паспорта или договор с реквизитами. Всё это лежит открытым текстом в чате, который синхронизируется на ноутбук, планшет и, возможно, на телефон бывшего стажёра.
Агентства, фрилансеры, бухгалтеры и юристы делают так каждый день. Клиент просит прислать доступ, вы присылаете. Другого быстрого способа обычно нет. Через полгода у клиента сменился директор, у вас сменился менеджер, а старое сообщение с паролем всё ещё ищется по слову «пароль».
Менеджер паролей эту задачу закрывает частично: он хранит ваши секреты, но клиенту всё равно приходится что-то передать. Разбор есть в статьях про менеджер паролей и про Bitwarden с самостоятельным сервером. Yopass закрывает именно момент передачи.
Как устроен Yopass
Проект лежит на GitHub (jhaals/yopass), лицензия Apache 2.0, то есть его можно ставить и дорабатывать без отчислений. Работает так.
Вы вставляете пароль в форму. Браузер сам генерирует случайный ключ и шифрует текст по стандарту OpenPGP. На сервер уходит только шифрованный блок и срок жизни. Ключ остаётся в адресе ссылки после знака решётки, а эту часть браузер на сервер не отправляет. Поэтому сервер, и вы как его владелец, прочитать секрет не можете.
Получатель открывает ссылку, его браузер забирает блок и расшифровывает его своим ключом из адреса. Если включён режим одного просмотра, секрет после этого удаляется. Повторное открытие покажет, что ссылка не найдена.
Хранилище по умолчанию Memcached, есть вариант с Redis. Секреты живут в памяти и удаляются по таймеру: в интерфейсе выбирается срок, по описаниям проекта это час, день или неделя. Обычно хватает одного Docker-контейнера с Yopass и одного с Memcached, плюс обратный прокси с HTTPS. Документация прямо требует HTTPS в боевой среде.
Три сценария из практики
Передача доступов клиенту. Вы закончили сайт и отдаёте хостинг, почту и админку. Раньше это был один абзац в мессенджере. Теперь отправляете ссылку, а логин и пароль клиент получает отдельно. Через час ссылка уже пустая. Если клиент написал «не открывается», значит, кто-то успел раньше. Это тоже полезная информация, и в обычном чате вы бы о ней не узнали.
Бухгалтер так же пересылает пароль от личного кабинета налоговой, юрист отправляет клиенту доверенность с паспортными данными. Для файлов у Yopass есть шифрование загрузок, но с оговоркой, о которой ниже.
Сотрудник уходит. Здесь Yopass не панацея, но помогает. Если все доступы всегда выдавались одноразовыми ссылками, в переписке сотрудника не лежит живых паролей. Когда он увольняется, вам нужно закрыть то, что он помнил или записал сам, а не перебирать три года чатов. Остальной порядок в день ухода описан в статье про доступы после увольнения.
Одноразовый код и временный пароль. Подрядчик просит код доступа к серверу на один день. Вы кладёте его в Yopass, срок час, один просмотр. После работы код всё равно меняется, а в чате не остаётся ничего, что нужно вычищать.
Что важно учесть
Yopass защищает передачу. Если клиент открыл ссылку и сохранил пароль в заметки на рабочем столе, дальше защита заканчивается. Он не хранит пароли, не напоминает о них и не меняет их за вас. Для хранения нужен менеджер паролей, для входа без пароля есть passkeys.
Теперь по версии. В открытой редакции любой, кто знает адрес, может создать секрет: учётных записей и разграничения прав нет. Вход через OpenID Connect, журнал событий и загрузка файлов крупнее 1 МБ, по описанию проекта, относятся к платной бизнес-лицензии. Если вы собираетесь пересылать сканы и договоры, проверьте на тестовом файле, что нужный размер проходит. Часть настроек, например запрет загрузки файлов и принудительный режим одного просмотра, включается флагами сервера.
Memcached хранит всё в оперативной памяти. Перезапустили контейнер, и неоткрытые ссылки пропали. Для передачи пароля на сутки это нормально, для документов, которые клиент откроет через неделю, лучше Redis.
Ещё одна ловушка. Ссылка содержит и адрес, и ключ. Кто увидит её в чате раньше клиента, тот и прочитает секрет. Поэтому одноразовость важна: она позволяет заметить перехват, но не предотвращает его. Для особо ценных доступов отправляйте ссылку в одном канале, а договорённость, что это именно она, подтверждайте в другом.
Что можно сделать уже сейчас
Первое. Посмотрите в переписках за последний год, что вы пересылали: логины, пароли, сканы. Это даст честную оценку масштаба. Старые пароли из такой переписки стоит сменить, независимо от того, ставите ли вы что-то новое.
Второе. Поднимите Yopass на тестовом поддомене. Образ jhaals/yopass и Memcached в Docker Compose запускаются быстро, остальное время займёт HTTPS и прокси. Разверните его на домене вашей компании, а не на чужом публичном сервисе: клиент видит ваш адрес, и доверия к ссылке больше.
Третье. Проверьте поведение в вашем мессенджере. Отправьте тестовую ссылку себе и убедитесь, что предпросмотр не сжигает секрет до открытия. В проекте есть опция предзагрузки именно для таких случаев.
Четвёртое. Договоритесь с командой о правиле: пароли только ссылкой, срок по умолчанию час. Правило приживается быстрее, когда сервис лежит в закладках у каждого.
Если нужно развернуть это на вашем сервере, настроить HTTPS, ограничить доступ к созданию секретов и встроить в бота или CRM, этим занимается направление кибербезопасности. Для небольшой команды это обычно мини-проект.
Частые вопросы
Видит ли администратор сервера, что я передал?
Нет. Сервер получает уже зашифрованные данные, а ключ находится в части адреса, которую браузер не отправляет. Администратор видит только факт хранения и срок. Он может подменить код страницы, поэтому сервис нужно держать у себя и под HTTPS.
Чем это отличается от Send для файлов?
Принцип похож: шифрование в браузере и удаление после скачивания. Yopass заточен под короткие секреты вроде паролей и кодов, Send удобнее для файлов. Про второй сервис есть отдельный разбор.
Что если клиент потерял ссылку?
Создайте новую. Старый секрет сгорит по таймеру. Именно за такую строгость сервис и выбирают.
Коротко о главном
Yopass делает одну вещь: пароль доходит до клиента один раз и не остаётся в чате. Он не заменит менеджер паролей и не спасёт от того, что получатель сам сохранит секрет открыто. Но если ваши доступы сегодня лежат в мессенджерах годами, это самый дешёвый способ перестать их там копить.
Хотите такую передачу доступов на своём домене? Напишите мне в Telegram слово «ОДНОРАЗОВО». Посмотрим, что у вас пересылается, и настроим сервис под вашу команду.
Что я делаю для бизнеса
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»
12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.
Готовы обсудить вашу задачу?
Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


