Зачем это
Пароль от Wi-Fi для соседки, данные карты для мамы, скан паспорта для турагента — в переписке это остаётся навсегда: в истории, в облачной копии чата, на телефоне, который потом кто-то возьмёт «позвонить». Записка превращает это в бессмысленный набор символов. Прочитает только тот, у кого есть пароль.
Как пользоваться
- Напиши текст или выбери файл, придумай пароль — лучше фразу.
- Выбери, сколько записка живёт: час, сутки, неделю — или без срока.
- Нажми «Зашифровать» и отправь то, что получилось, в любом чате. Там уже есть подсказка для получателя, куда это вставить. Нужно перекинуть на свой телефон — открой «QR-код» и наведи камеру: страница откроется сразу с запиской.
- Пароль передай другим путём: голосом, при встрече, в другом мессенджере. Записка и пароль в одном чате — это как ключ под ковриком у двери.
- Получатель открывает эту страницу, вставляет записку во «Расшифровать» и вводит пароль.

Как это устроено
- Пароль превращается в ключ через PBKDF2-SHA256, 600 000 повторов — так рекомендует OWASP. Это делает перебор паролей медленным.
- Шифрование — AES-256-GCM: оно же и проверяет целостность. Если в записке изменили хоть один символ или пароль не тот, расшифровка просто не получится — подсунуть подделку не выйдет.
- Всё считается в браузере встроенным
WebCrypto. Ни текст, ни пароль никуда не отправляются, на сервере ничего не хранится. - Срок жизни лежит внутри шифра, рядом с текстом. Поменяешь дату — сломается проверка целостности, и записка не откроется вовсе.
- QR-код — это ссылка на эту страницу, а записка в ней после
#. Эту часть адреса браузер на сервер не отправляет, так что и по QR записка до нас не доходит. Открылась — страница сразу убирает её из адресной строки.

Чего записка не умеет
- Не самоуничтожается по-настоящему. Срок жизни — договорённость, которую соблюдает эта страница: после срока она записку не откроет. Но сама записка лежит в чате, пока её не удалят, и тот, у кого есть пароль и желание написать свой код, прочтёт её и после срока. Срок защищает от «случайно нашёл через полгода», а не от упорного получателя. Пароль по-прежнему главное.
- Не спасёт, если пароль слабый. «123456» подберут за секунду — и никакие AES не помогут.
- Не защитит расшифрованное. Если получатель сделает скриншот, это уже его ответственность.



