Одноразовая ссылка с самоуничтожением
Сделайте из пароля, API-ключа или кода восстановления одноразовую зашифрованную ссылку. Ключ стоит после # в URL; после первого открытия секрет сгорает. Создать можно сразу; получателю аккаунт не нужен.
Как работает одноразовая зашифрованная ссылка
Почта и мессенджеры оставляют открытый текст в истории. Одноразовая ссылка нужна для короткого секрета, который стоит увидеть один раз: в браузере текст шифруется AES-256-GCM, сервер временно хранит только шифротекст, ключ стоит после # — этот фрагмент не уходит с HTTP-запросом.
Получатель открывает страницу чтения и расшифровывает секрет без регистрации. После первого успешного чтения шифротекст уничтожается. Можно задать срок 1 час, 24 часа или 7 дней и до 10 прочтений. Лимит одной записи — 32 КБ: пароль, фрагмент ключа, короткая инструкция. Целый файл лучше отдать в шифрование файлов.
- Передавайте полную ссылку: без части после # расшифровать нельзя
- Потерянную или уже сожжённую ссылку восстановить нельзя — создайте новую
- Скриншот и пересылку это не блокирует: снижается только повторное открытие и хранение открытого текста на сервере
Частые вопросы
Получателю одноразовой ссылки тоже нужна регистрация?
Нет. Создать и открыть ссылку можно без аккаунта. Получатель открывает страницу чтения и видит секрет. После первого успешного чтения содержимое уничтожается.
Сервер видит открытый текст, который я отправляю?
Нет. Текст шифруется в браузере, на сервер уходит только шифротекст. Ключ стоит после # в URL и не уходит с HTTP-запросом. Алгоритм — AES-256-GCM, описание есть на MDN AES-GCM.
Можно ли восстановить ссылку, если она потерялась или истекла?
Нет. На сервере нет копии открытого текста. Передайте полную ссылку и откройте её до истечения срока. Если нужно повторить передачу — создайте новую ссылку.
Одноразовая ссылка мешает получателю сделать скриншот?
Нет. Она снижает риск повторного открытия и долгого хранения открытого текста на сервере, но не мешает копировать, снимать экран или пересылать. Подходит только для разовой передачи человеку, которому вы доверяете.