Администратор только что собрал пароль к базе, нажал Win+Shift+S и кинул картинку в чат, чтобы коллега сверил символы. Или зашёл на планёрку, выбрал «весь экран», а в адресной строке ещё висит одноразовая ссылка. Ни то ни другое не появляется как рабочий запрос во вкладке «Сеть». И то и другое может отдать открытый текст — и ключ после # — второму человеку, второму устройству или записи, которую потом кто-то прокрутит. В предыдущей заметке разобрали, кто ещё читает буфер обмена после копирования пароля. Здесь другой путь: пока секрет ещё на экране, кому его отдаёт снимок или демонстрация.

Это не обзор генератора и не список функций страницы создания одноразовой ссылки. Вопрос один: в каких файлах, в каких сеансах и в каких альбомах после захвата пикселей остаются пароль и полный URL. MyPassGen печатает результат видимым текстом, не точками. После создания одноразовой ссылки на странице видна вся строка s.html?id=…#…. Все инструменты открываются без аккаунта. Вкладка «Сеть» доказывает, что в строке запроса не было фрагмента. Она не доказывает, что снимок пуст.

Сначала разведите задачи

Если строку можно продиктовать или отдать одному человеку одноразовой ссылкой, не снимайте весь экран. Если снимок всё же нужен, обрежьте его до списка результатов и оставьте за кадром адресную строку и панель уведомлений. На созвоне отдавайте текущее окно или текущую вкладку — не весь монитор. Все шаги ниже делайте тестовым паролем, которым никогда не откроете настоящий аккаунт. Не тренируйтесь на живом мастер-пароле.

Секрет в пикселях: страница и адресная строка

Пароль на странице генератора — не поле type="password". Он стоит в списке результатов. Кто видит этот прямоугольник, читает символы. Так сделано, чтобы вы сверили строку, а не чтобы снимок был запрещён. Точки прячут взгляд с соседнего стола. Копия пикселей не спрашивает, «похоже ли это на поле пароля».

Одноразовая ссылка ставит ключ расшифровки после #. Вид: …/s.html?id={id}#{key}. По RFC 3986 §3.5 идентификатор фрагмента нужен пользовательскому агенту; при запросе ресурса его не отправляют. RFC 9110 §10.1.3 жёстче: заголовок Referer не должен содержать фрагмент и userinfo. Поэтому в логах доступа и в трассе Referer ключа может не быть — а на экране он всё равно есть. В тех же замечаниях по безопасности сказано прямо: фрагмент не входит в запрос, но остаётся видимым агенту, расширениям и скрипту, который выполняется в ответе.

Адресная строка показывает весь URI, включая #. История браузера тоже хранит запись с фрагментом, поэтому «Назад» возвращает к той же строке. В другой заметке разобрано, почему ключ ставят после #: чтобы он не ехал в строке HTTP-запроса. Снимок, демонстрация экрана и запись встречи живут на другом слое. Они копируют пиксели, которые вы видите. Спецификацию HTTP они не читают.

После создания одноразовой ссылки MyPassGen пишет полный URL в область результата. Копирование идёт через navigator.clipboard.writeText. Создать и открыть можно без входа. Сверять нужно не фразу «сервер не видит открытый текст», а другое: появилась ли эта строка в PNG на рабочем столе, в альбоме «Снимки экрана» на телефоне или в адресной строке при просмотре записи.

Куда падает снимок экрана

Снимок не «готов», когда он уже в поле ввода чата. Сначала операционная система пишет файл или буфер обмена. Потом вы вставляете. Файл забрать сложнее, чем сообщение.

Mac: по умолчанию на рабочий стол

Служба поддержки Apple формулирует однозначно: Shift-Command-3 снимает весь экран, Shift-Command-4 — выделенную область. По умолчанию файл падает на рабочий стол с именем «Снимок экрана [дата] в [время]», формат PNG. Кто сидит за этим Mac, откроет его. «Машина времени» и синхронизация «Рабочий стол и документы» в iCloud подхватят файл, если они включены. Зажмите ещё Control — Control-Shift-Command-3 — и снимок уйдёт в буфер обмена, а не на стол. Этот путь разобран в предыдущей заметке.

Windows: библиотека изображений и буфер обмена

Win+PrtScn пишет полноэкранный PNG в папку текущего пользователя Изображения\Снимки экрана (на английской системе это Pictures\Screenshots). Win+Shift+S сначала кладёт выделение в буфер. Если в «Средстве создания снимков экрана» включено «Автоматически сохранять снимки экрана», та же картинка ещё раз попадёт в Изображения\Снимки экрана. При включённой истории буфера Win+V показывает до 25 записей, и снимок считается одной из них. Если OneDrive или Яндекс Диск бэкапит папку «Изображения», PNG уедет вместе с аккаунтом. Удалить копию в чате мало. На диске и в облаке может остаться по одной.

iPhone: альбом «Снимки экрана», затем «Фото iCloud»

Системный снимок попадает в альбом «Снимки экрана» в «Фото». Если включены «Фото iCloud», фото и видео загружаются в исходном формате. Снимок экрана — это фото. Другое устройство с тем же аккаунтом Apple после синхронизации покажет в альбоме и адресную строку, и пароль. Удалить плитку на этом телефоне недостаточно: облако и остальные устройства не очищаются мгновенно. «Недавно удалённые» обычно нужно пройти ещё раз.

Не кидайте в общий чат снимок с полной одноразовой ссылкой

Полная ссылка — это допуск. Любой в группе откроет страницу чтения. Страница не спрашивает аккаунт. Первое успешное чтение сжигает шифротекст, но снимок остаётся в истории чата. Ключ после # не попадает в логи сервера. От человека, который умеет читать картинку, он не прячется. Когда секрет нужен одному человеку, отправьте ссылку текстом ему. Не снимайте весь экран.

Весь экран, окно или вкладка

Screen Capture API в Chrome делит поверхности на три вида: вкладка (browser), окно (window) и весь экран (monitor). Выбор в Zoom, Teams, Meet и Яндекс Телемосте обычно ложится на эти три. Разница не в том, «шифруется ли поток встречи». Разница в том, какой прямоугольник пикселей вы выбрали.

Отдаёте текущую вкладку — дальняя сторона в основном видит эту страницу. Попадёт ли адресная строка в кадр, зависит от того, тащит ли клиент встречи оболочку браузера; многие реализации гонят только содержимое страницы. Отдаёте окно — вместе уходят заголовок, адресная строка и панель закладок. Отдаёте весь экран — в кадр идут панель задач, другие рабочие столы, всплывающее уведомление в углу и SMS-код, который придёт через минуту.

Справка Zoom говорит прямо: при демонстрации всего экрана участники видят всё, что вы смотрите на этом компьютере или телефоне, включая открываемые приложения и файлы. Microsoft Teams на время показа включает «Не беспокоить» не просто так: уведомление, всплывшее при демонстрации всего экрана, уже в конференции. Доктор Веб в российских предупреждениях о мошенниках формулирует ту же техническую мысль: при демонстрации собеседник видит коды из SMS и поля входа; если без показа не обойтись, сначала отключите всплывающие уведомления. Эти тексты пишут для жертв развода и для докладчиков. На тихой внутренней планёрке факт тот же: демонстрация всего экрана не маскирует поле пароля сама.

С Chrome 119 getDisplayMedia принимает monitorTypeSurfaces: "exclude". Страница встречи может убрать пункт «Весь экран», чтобы сотрудники реже выбирали монитор целиком. Как тот, кто показывает, вы этот пункт всё равно можете видеть. Выбрать его по привычке — значит отдать всем в комнате страницу генератора, адресную строку и системные тосты пакетом.

Запись, синхронизация альбома и история чата

Когда живая демонстрация останавливается, пиксели часто остаются. Облачная запись, локальный ролик и картинка в чате переживают получасовой созвон.

Облачная запись продукта для встреч хранит отданный кадр. После завершения прокрутите воспроизведение: одноразовая ссылка в адресной строке или пароль в списке результатов по-прежнему читаются кадр за кадром. Права на просмотр у организатора решают только, кто откроет файл. Они не решают, прочитает ли открывший пиксели той минуты. Локальная запись — Shift-Command-5 на Mac, Xbox Game Bar в Windows — это второй файл, обычно в «Фильмах» или «Видео», и клиент синхронизации диска может забрать и его.

Снимок, попавший в мессенджер, лежит в истории собеседника, в хранилище вложений у сервиса и иногда в «извлечь текст из изображения». Свою сторону вы удалите. У них копия останется. Это другой слой, не «загрузила ли страница пароль». Генератор может показать пустой POST во вкладке «Сеть». PNG, который вы отправили, этой рабочей API не пользовался.

Ещё две комнаты обычно пропускают. Телевизор в переговорке по AirPlay или HDMI — вторая камера для любого в последнем ряду. Сеанс удалённого стола с перенаправлением буфера может положить файл снимка на оба конца. Ничего из этого нет в журнале «Сеть» у генератора.

Четыре пути рядом

Один и тот же тестовый пароль или тестовая одноразовая ссылка, оказавшись на экране, расходится минимум на четыре пути «кто это видит». Имя алгоритма не меняется. Меняется место, куда скопировали пиксели.

Путь Кто видит Как сверить сейчас
Снимок всего экрана или окна Кто откроет этот PNG Рабочий стол на Mac; Изображения\Снимки экрана; альбом «Снимки экрана» на телефоне
Демонстрация всего экрана Все на встрече; уведомления тоже в кадре Читает ли дальняя сторона адресную строку и список результатов
Запись встречи / локальный захват Кто откроет файл воспроизведения После завершения прокрутите шкалу и смотрите адресную строку
Синхронизация альбома и диска Другие устройства того же облачного аккаунта Альбом «Снимки экрана» или папка «Снимки экрана» на втором вошедшем устройстве

Генератор, который рисует строку через Web Crypto, и пустое тело во вкладке «Сеть» закрывают только путь загрузки. Четыре строки выше остаются открытыми. Если менеджер паролей умеет подставить значение сам, нет причины класть пароль на экран для другого человека. Когда человеку всё же нужно увидеть строку, обрежьте самый маленький прямоугольник или отправьте одноразовую ссылку текстом. Не снимайте весь монитор.

Проверка на месте

Ни один шаг ниже не опирается на обещание бренда. Берите пароль, которым никогда не откроете настоящий аккаунт, и одноразовую заметку только с тестовой фразой. Не упражняйтесь на живом мастер-пароле и на секрете, который ещё не сожжён.

  1. Откройте генератор и соберите тестовый пароль на 16 символов по умолчанию. Не копируйте его. Им не входите. Смотрите список результатов: символы видны, не точки. Откройте инструменты разработчика, вкладку «Сеть», включите «Сохранять журнал» и убедитесь, что после генерации в телах запросов этой строки нет. Как проверять загрузки — в заметке как на месте проверить, что шифрование в браузере не отправило открытый текст.
  2. Сделайте один полноэкранный системный снимок. Откройте этот PNG на рабочем столе или в Изображения\Снимки экрана и убедитесь, что тестовый пароль и адресная строка оба в картинке. Затем обрежьте список результатов, оставьте адресную строку за кадром и снимите ещё раз. На втором снимке не должно быть полной одноразовой ссылки и чужого окна.
  3. На iPhone или любом устройстве с «Фото iCloud» откройте «Фото» → «Снимки экрана» и посмотрите, есть ли там этот кадр. Если второе устройство сидит в том же аккаунте Apple, дождитесь синхронизации и откройте тот же альбом там.
  4. В Windows с включённой историей буфера нажмите Win+V и посмотрите, есть ли снимок в списке. Не закрепляйте его. Нажмите «Очистить все» или копируйте мусор, пока картинки в списке не станет.
  5. Откройте встречу только с собой. Сначала отдайте весь экран. Со второго устройства или у коллеги проверьте, попали ли в кадр адресная строка и список результатов. Переключитесь на текущее окно браузера или текущую вкладку и сравните: остались ли тосты и панель задач. Если облачная запись включена, завершите встречу и прокрутите десять секунд воспроизведения.
  6. Когда удалённому коллеге нужна короткая тайна, перейдите на одноразовую ссылку: потолок открытого текста 32 КБ, ключ после #, страница чтения без аккаунта. Отправьте URL текстом. Не снимайте кадр с адресной строкой. В запросе создания должен быть только шифротекст, не тестовая фраза.

Генератор MyPassGen построен на этой границе. Случайный режим — от 6 до 128 символов, по умолчанию 16, ниже 8 предупреждение о слабой строке. Результаты идут видимым текстом. Копирование — writeText. Аккаунта и хранилища паролей нет. Сверять нужно PNG на рабочем столе, альбом «Снимки экрана» и запись встречи — не слово «Сгенерировано» на странице.

Что сделать после снимка и после созвона

Для единственной картинки, которую сегодня всё же нужно снять, заканчивайте в таком порядке: сначала убедитесь, что в кадре нет адресной строки, нет тоста на панели задач и нет второго живого пароля; потом отправляйте. После отправки удалите оригинал на рабочем столе или в Снимки экрана, очистите Win+V и пройдите «Недавно удалённые» на телефоне. Если включены «Фото iCloud» или синхронизация «Изображения» в OneDrive / Яндекс Диске, проверьте второе устройство и удалите синхронизированную копию там тоже.

На живой демонстрации остановите показ, прежде чем открывать генератор или страницу чтения одноразовой ссылки. Если поток всё же нужно проговорить, отдавайте только текущее окно и заранее переключите браузер на компактную адресную строку без полного URL — или сожмите окно до списка результатов. Демонстрационную машину и телевизор в переговорке считайте так: «в последнем ряду кто-то фотографирует». Живую одноразовую ссылку там не открывайте. Мастер-пароль там не генерируйте.

Как только вы обрезаете кадр вместо всего экрана и после созвона удаляете PNG и запись, на вопрос статьи уже можно ответить. Кто ещё видит пароль на скриншоте и при демонстрации экрана, зависит от того, какой прямоугольник вы выбрали, куда лёг файл и жива ли ещё запись. Генератор, который ничего не загружает, значит только, что в логе сервера этой строки нет. Копию, уже записанную в картинку и в ролик, он не забирает.

Частые вопросы

HTTPS уже защищает пароль внутри скриншота?

Нет. HTTPS закрывает путь от браузера к серверу. Снимок и демонстрация экрана копируют локальные пиксели. Они не едут в этом TLS-сеансе. Синхронизация альбома, запись встречи и PNG, кинутый в общий чат, не смотрят, есть ли замок в адресной строке.

Если ключ стоит после #, снимок его не захватит?

Захватит. # только держит этот кусок вне HTTP-запроса и вне Referer. Адресная строка, область результата после создания и история браузера по-прежнему показывают весь URI. Полный снимок и демонстрация окна превращают этот кусок в текст внутри картинки.

Нужен ли аккаунт, чтобы сгенерировать пароль или создать одноразовую ссылку? Загружает ли сайт снимок?

Аккаунт не нужен. Генерация и создание должны остаться в текущей вкладке. Системный снимок — это операционная система пишет файл. Это не POST сайта. Откройте «Сеть»: после захвата в теле запроса этого пароля быть не должно. Исходящий путь, который контролируете вы, — PNG, который вы сами кладёте в чат.

Достаточно ли отдать только текущую вкладку?

Это на шаг безопаснее всего экрана: панель задач и системные тосты обычно выпадают из кадра. Видимый пароль на текущей странице и полная одноразовая ссылка в области результата на дальней стороне всё равно читаются. Показывайте поток на тестовых данных. Живой пароль отдавайте текстовым каналом или диктуйте в комнате.