Вставка в поле — не «задать вопрос», а отдать открытый текст следующей системе
Потребительский чат легко принять за локальный блокнот: слова ещё на экране, модель «просто смотрит». После «Отправить» этот абзац уже покинул вкладку и стал входом, который обрабатывает сервис. Пароль, строка подключения к базе, ключ облака, персональный токен GitHub, живой ключ Stripe — это тот же класс секретов, который шпаргалка OWASP по журналам обычно не советует оставлять открытым текстом: пароли аутентификации, токены доступа, криптографические ключи и другие главные секреты. В компании поле чата, выгрузка диалога и общая ссылка часто играют роль неформального журнала: искать удобно, права слабее, чем у боевого хранилища ключей, срок хранения длиннее.
HTTPS закрывает только подслушивание на пути. Он не решает, сколько хранит принимающая сторона, пойдёт ли текст в обучение и кто его прочитает. В предыдущей заметке то же сказано про тело заявки: номер, который вставили, попадает в историю и нижестоящие выгрузки. Ключ в сессии модели — тот же класс утечки. Получатель просто другой: не коллега и система тикетов, а поставщик модели плюс его контуры безопасности, обучения и шаринга. Перед отправкой вопрос не «умна ли модель», а «нет ли в этом абзаце секрета, которому не следует покидать эту вкладку».
Разбор идёт по открытым страницам ChatGPT: названия элементов управления там записаны явно и их проще сверить. У Claude, Gemini и Copilot внутри офисного пакета тоже есть история чатов и свои сроки хранения. Сменив продукт, пройдите страницу управления данными именно того поставщика. Окно в 30 дней и тумблер обучения отсюда на другой сервис не переносите.
История чатов, обучение и хранение для безопасности — три разные копии
Вопрос «запомнит ли ChatGPT мой ключ» как да или нет пропускает как минимум три копии. Первая — история, которую вы сами ещё можете открыть. В справке о хранении чатов и файлов OpenAI пишет: обычные диалоги лежат в аккаунте, пока вы не удалите их вручную. Цепочка заголовков в боковой панели — доказательство, что эта копия ещё на месте.
Вторая — обучение модели. Сервисы для частных лиц (в политике прямо назван ChatGPT) по умолчанию могут брать содержимое для обучения, пока вы не откажетесь. Страница, обновлённая 13 марта 2026 года, проводит ещё одну границу: ChatGPT Team, Enterprise и API по умолчанию не обучаются на входах и выходах; организация должна сама включить обмен. Личный аккаунт и рабочее пространство компании — разные значения по умолчанию. Ключ, который вы вставили в Free или Plus, нельзя читать через фразу «компания купила Enterprise».
Третья — хранение для проверки безопасности и злоупотреблений. Даже когда диалог исчез из боковой панели, на стороне системы он может полежать ещё какое-то время. И для обычного удаления, и для временного чата официальная формулировка одна: из систем OpenAI его планируют удалить безвозвратно в течение 30 дней, если чат уже не обезличили или его не обязаны держать дольше из-за безопасности или закона. После 26 сентября 2025 года OpenAI пишет, что её больше не обязывают бесконечно хранить удалённые потребительские чаты. Публичная линия снова про это окно примерно в 30 дней, а не про «нажал — и все копии испарились».
| Копия | После отключения обучения | Временный чат | После удаления диалога |
|---|---|---|---|
| История чатов | Остаётся в боковой панели | По умолчанию в историю не попадает | Из интерфейса пропадает сразу |
| Обучение модели | Новые чаты больше не идут в обучение | Пока чат временный — не используется | Отказ действует на новые чаты, не описан как выемка старой выборки |
| Хранение для безопасности | После удаления ещё примерно 30 дней | Тоже примерно 30 дней | На стороне системы примерно 30 дней (кроме правовых и security-исключений) |
| Память | Могла уже записаться — удаляйте отдельно | По умолчанию новую не создаёт | Удаление чата не забирает уже записанную память |
| Файлы библиотеки | Хранятся отдельно | Зависит от того, попала ли загрузка в библиотеку | Удаление чата не удаляет файлы в библиотеке |
Выключить обучение ≠ этот ключ уже исчез
FAQ по Data Controls формулирует тумблер очень конкретно: после выключения “Improve the model for everyone” (в русском интерфейсе обычно «Улучшать модель для всех») диалоги по-прежнему появляются в истории чатов, просто их не используют для обучения ChatGPT. Путь после входа: аватар → Settings → Data Controls. Без входа тот же пункт можно закрыть в настройках, но экспорта и удаления аккаунта там уже нет. Настройка синхронизируется по аккаунту, не по устройству.
В политике обучения есть ещё одна фраза, которую легко проскочить: после отказа в обучение больше не пойдут новые диалоги. Там не написано, что уже попавшее в контур обучения отдельно вытащат и сотрут. Поэтому «я потом выключил обучение» отвечает только на следующие сессии. На вопрос «та строка sk_live_, которую вставил на прошлой неделе, ещё где-то в обучающей копии» политика не отвечает. Отдельно сказано, что в обучающих данных они сокращают персональную информацию. Это шаг обработки, а не доказательство, что ключ нашли и вырезали.
Архив — не удаление. В справке про хранение архивирование описано так: чат только прячут из боковой панели, содержимое остаётся в аккаунте и живёт по тем же правилам, что и неархивированный диалог. Чтобы интерфейс исчез и пошёл отсчёт системного удаления, нужно именно удалить, а не убрать в архив.
Не демонстрируйте настоящий боевой ключ, пароль коллеги или ещё не сменённый токен. Для сверки интерфейса берите вымышленный токен с открытым префиксом и остальными знаками, которые можно сразу списать, например ghp_ плюс 36 символов, которые вы сами придумали. Если настоящий ключ уже вставили — сначала отзовите его у издателя, потом уже выключайте обучение и чистите чаты.
Временный чат: боковая панель пуста, в системах могут оставить 30 дней
Временный чат часто слышат как «режим инкогнито». FAQ про Temporary Chat рисует более узкую рамку. По умолчанию такой чат не появляется в истории, не создаёт новую память и не идёт на улучшение модели. Перед стартом можно включить «персонализацию»: персонализированный временный чат читает уже существующую память, пользовательские инструкции и плагины, но новую память не пишет; без персонализации он не читает ни того, ни другого, ни третьего. Выбор после старта не меняется.
Пустая боковая панель не значит «текст никогда не покидал браузер». Официально: в целях безопасности копию могут хранить ещё до примерно 30 дней. Если нажать «Сохранить», временный чат становится обычным и дальше подчиняется настройкам персонализации и обучения аккаунта. Выключить обучение после сохранения ограничивает только будущее использование для обучения. Уже случившуюся отправку это не отменяет.
Если у кастомного GPT есть действия (actions), данные, ушедшие через действие третьей стороне, живут по её политике конфиденциальности. В FAQ прямо сказано: получатель может хранить дольше 30 дней и использовать данные иначе. Как только модель вызвала внешний инструмент с вашим ключом, границу хранения задаёт уже не только часы временного чата OpenAI.
Память и библиотека — отдельная копия. Удаление чата её не забирает
FAQ про Memory описывает сводки памяти как блокнот, который лежит отдельно от истории чатов. Удалили конкретный диалог — память, которую из него уже записали, модель всё равно может поднять позже. Официальный пример: модель запомнила город, в котором вы живёте; даже после удаления того чата она может упомянуть этот город в плане на выходные. Чтобы убрать факт, нужно одновременно почистить записи в сводке памяти и старые диалоги в истории, из которых факт снова извлекут. Выключили память и включили снова — модель может заново собрать память из истории, которая ещё на месте.
Файлы тоже отдельно. В справке про хранение: документ или картинка, загруженные в диалог, попадают в Library, если аккаунт или рабочее пространство её даёт; чат и файлы библиотеки управляются раздельно, удаление диалога не удаляет файлы, уже сохранённые в библиотеке. Файлы в кастомном GPT или проекте (включая общий проект) входят в окно удаления примерно в 30 дней только после удаления самого GPT или проекта. Перетащили в поле .env или скриншот с ключом и потом стёрли только заголовок чата — файловая сторона может остаться.
У корпоративного рабочего пространства есть ещё слой: файлы библиотеки живут по политике пространства; короткие загрузки, которые в библиотеку не попали, на стороне предприятия могут истекать по другим часам (официальный пример — 48 часов, если нет иной политики). У потребительского аккаунта этих ручек нет. Цифры из корпоративных документов нельзя прикладывать к своему бесплатному чату как успокоение.
Общая ссылка, действия GPT и буфер обмена копируют ещё раз
Пока диалог лежит в вашем аккаунте, одна кнопка «Поделиться» делает снимок для другого человека. В справке об общих ссылках сказано: ссылку личного аккаунта может открыть любой, у кого она есть; выдать доступ поштучно получателям нельзя, срок жизни не задаётся. Адрес начинается с https://chatgpt.com/share/. Официально страница «не предназначена» для индексации поисковиками — и сразу уточняют: это не делает ссылку закрытой, получивший её человек может переслать дальше.
У личного аккаунта это снимок на момент создания (или обновления); новые сообщения сами туда не дописываются. Ссылка рабочего пространства может подтягивать сообщения, которые появились после шаринга. Удаление общей ссылки только перекрывает этот URL в будущем. Исходный диалог оно не трогает и не стирает копию, которую собеседник уже сохранил как свой чат. Удаление исходного диалога снимает связанные ссылки на этот чат; если ещё есть ссылка на связанную задачу по расписанию, её надо удалить отдельно. Выключение «Улучшать модель для всех» не удаляет уже созданные общие ссылки и не меняет, кто их откроет.
Буфер обмена — копия, которая появляется ещё до отправки. История системного буфера, универсальный буфер между устройствами, расширение браузера и запись сессии могут сохранить открытый текст до нажатия «Отправить». После отправки модель может повторить ключ в ответе — тогда скриншот, экспорт и следующее «продолжить этот общий чат» копируют снова. Правильный порядок: сначала на этом устройстве закрыть известные формы звёздочками и в поле модели отдать только уже замаскированный текст. Если настоящее значение должно дойти до человека, смените канал. Не рассчитывайте, что модель «посмотрит и промолчит».
Какие ключи правило успеет закрыть — и когда канал нужно менять
Правило маскирования узнаёт открытый префикс и устойчивую форму, а не «похоже ли это на секрет». Токены GitHub с ghp_ / github_pat_, идентификатор ключа AWS вида AKIA, ключи Stripe sk_live_ / sk_test_, токены Slack вроде xoxb-, ключ Google вида AIza и токен после Bearer сканер ловит именно потому, что издатель сделал префикс находимым. Пароль входа без префикса, фраза, разрезанная пробелами, самодельный token=, трёхчастная JWT, пароль внутри строки подключения к базе — правило пропустит как обычный текст.
Это та же граница, что в заметке про заявки, только другой вопрос. Там — какие телефоны и номера документов правило может закрыть. Здесь — есть ли в абзаце, который вы собираетесь отдать модели, целый секрет. Замаскированный текст годится, чтобы спросить «что значит этот префикс» или «на какую строку ошибки смотреть». Он не годится, чтобы модель «подключилась к боевой базе» или «отправила запрос этим ключом»: для такого шага нужен настоящий секрет, и потребительский чат для него не канал.
Если настоящий ключ уже ушёл, выключить обучение и удалить чат — это последствия, не отзыв. Пароль сразу смените на новый и старую строку больше нигде не используйте. Ключи облака и хостинга кода отзовите в консоли и выпустите новые. GitHub и сходные площадки сканируют открытые репозитории на секреты — это другая поверхность. Открытый текст в сессии модели и открытый текст, который потом закоммитили в репозиторий, закрываются отдельно. Одно нельзя считать доказательством, что второе уже убрали.
Короткая фраза для коллеги: синтаксис — только копия со звёздочками; выключить обучение ≠ стереть историю; временный чат всё равно могут хранить 30 дней; память и библиотеку чистите отдельно. Настоящий ключ человеку — одноразовая ссылка, не модель.
Сверка на месте: канарейка только в локальном поле, затем поиск в Network
Слоган «маскируем локально, ничего не отправляем» сам себя не доказывает. На месте видно четыре вещи: какие формы ключей страница назвала, читается ли префикс после маски, осталось ли намеренно оставленное обычное предложение и ушёл ли исходный текст как рабочие данные. Этот шаг доказывает только одно: локальный инструмент не отправил канарейку. Он не доказывает, что ChatGPT забудет по вашей воле — это сверяют только с официальными элементами управления, Network вместо них не подставляют.
Сначала соберите канарейку без настоящей личности. Для ключа возьмите вымышленный токен с открытым префиксом: ghp_ плюс 36 знаков, которые вы сами придумали, или sk_test_ плюс символы, которые можно сразу списать. Для пароля — явно вымышленную фразу, например canary-not-a-real-secret-2026. Добавьте обычную просьбу: «объясни, почему эта конфигурация отвечает unauthorized, полный токен не повторяй». После прогона токен с префиксом должен попасть в счётчик совпадений и стать маской; вымышленная парольная фраза должна остаться как есть. Это не сбой. Это граница правила: оно узнаёт префикс, не самодельный пароль.
Затем откройте Network в инструментах разработчика, включите Preserve log и поищите уникальные строки канарейки. Их не должно быть в строке запроса, query и теле XHR / Fetch; то же касается query и тела аналитики. Имя статического скрипта со словами «privacy» или «redact» — ожидаемо. Провал — если исходный текст ушёл как рабочее поле.
- Соберите текст «посмотри ошибку» из вымышленного токена с
ghp_илиsk_test_и вымышленной парольной фразы. Настоящий ключ не берите. - Сверьте типы попаданий: токен с префиксом должны назвать, самодельная фраза должна остаться в результате.
- Поищите исходный текст канарейки в Network; любое попадание в рабочем запросе значит, что ввод покинул вкладку.
- В любое поле модели можно отдать только уже замаскированный текст. Настоящий ключ, который должен дойти до человека, отправьте одноразовой ссылкой.
Доказанная область узкая: в этом запуске известный префикс заменили маской, самодельный пароль правило не приняло за ключ, исходный текст не ушёл из вкладки как наблюдаемое HTTP-поле. Это не доказывает, что расширение не читало поле ввода, и не говорит, как модель сохранит результат, если вы потом вставите маску в ChatGPT. Сменили браузер или тумблеры правил — прогоните канарейку ещё раз.
Отработайте границу на странице маскирования, которая открывается без аккаунта
Если хотите упражнение, где типы и счётчик попаданий написаны на самой странице, начните с маскирования в очистке данных MakePwd. Страница открывается сразу, без регистрации и без аккаунта. Сканирование и маска идут на этой вкладке; по описанию продукта исходный текст не уходит телом запроса и не пишется в аналитику. Можно отметить телефон, номер документа, карту, почту, API Key и IP. API Key узнаёт открытые префиксы выше и форму Bearer. По умолчанию умная маскировка, можно переключить на полную. Лимит одного текста — 512 КБ. На странице прямо сказано: распознать все форматы ключей нельзя, соответствие какой-либо норме страница не доказывает, важные исходящие сообщения всё равно читает человек.
Для упражнения берите только канарейку. После прогона смотрите три места сразу: счётчик типов попаданий, осталась ли в результате вымышленная парольная фраза, есть ли исходный текст в Network. Счётчик отвечает «префикс узнали или нет». Фраза отвечает «где граница правила». Network отвечает «было ли что-то отправлено». Когда все три сходятся, коллеге можно сказать: я закрыл эти формы, я знаю, что самодельный пароль ещё на месте, я искал канарейку и она не ушла.
Если после маскирования остаётся секрет, который должен дойти без изменений, отправьте его один раз одноразовой ссылкой и оставьте ключ во фрагменте URL #. Создать и прочитать можно без аккаунта; на сервере лежит только шифротекст. Целый файл с ключами зашифруйте на этом устройстве в шифровании файлов в .lock / .enc (один файл не больше 5 ГБ) и уже потом отправьте через диск или почту. Уже утёкший пароль сначала отзовите у издателя, затем сгенерируйте новую строку на этом устройстве: в генераторе паролей длина 6–128 знаков (по умолчанию 16; меньше 8 страница помечает как слабую). Старую строку в любую модель больше не вставляйте. Ни один из этих шагов не требует входа.
Частые вопросы
Если выключить «Улучшать модель для всех», ключ ещё где-то есть?
Да, в истории чатов. В справке Data Controls OpenAI прямо написано: после отключения обучения новые диалоги по-прежнему появляются в истории, просто их больше не используют для обучения ChatGPT. Отказ действует на последующие новые чаты. Официальный текст не обещает вытащить и удалить то, что уже попало в обучающую выборку.
Временный чат сразу исчезает из систем OpenAI?
Нет. По умолчанию временный чат не попадает в боковую панель, не создаёт новую память и не идёт в обучение, но его всё равно могут хранить до примерно 30 дней для проверки безопасности. Кнопка «Сохранить» превращает его в обычный диалог — дальше действуют настройки обучения и персонализации аккаунта.
После удаления чата память и загруженные файлы ещё остаются?
Могут остаться. Сводки памяти и файлы библиотеки хранятся отдельно от переписки. Удаление чата само не чистит уже записанную память и не удаляет файлы, которые уже лежат в библиотеке. Если убрать общую ссылку, копия, которую собеседник уже сохранил у себя, останется в его аккаунте.
После маскирования можно вставить в ChatGPT исходный ключ?
Нет. Маска закрывает токены с открытым префиксом. Самодельный пароль и разрезанный ключ она пропускает. Когда спрашиваете про синтаксис или ошибку, вставляйте только копию со звёздочками. Настоящий ключ коллеге отправьте один раз одноразовой ссылкой, а не через сессию модели.
Три вещи, которые стоит помнить перед следующей вставкой
Первое: отправка — это копирование. История чатов, обучение (если не отказались), примерно 30 дней хранения для безопасности, память, библиотека и общая ссылка могут держать по копии. Правка текущей страницы не возвращает исходный текст, который уже ушёл. Второе: выключить обучение останавливает дообучение модели, не стирает историю; временный чат только не попадает в боковую панель, это не нулевое хранение. Третье: до поля модели сначала замаскируйте текст на этом устройстве и поищите канарейку в Network; настоящий ключ, который должен дойти до человека, отправьте одноразовой ссылкой; уже утёкший пароль сначала отзовите, потом замените.
Если дальше нужно понять, какие поля в теле заявки правило успевает закрыть, читайте Что маскирование по правилам скрывает в заявке или чате — и что всё равно остаётся. Если сверяете, не ушёл ли открытый текст из вкладки как рабочие данные, читайте Шифрование в браузере: как убедиться, что исходный текст не покинул устройство. Эта заметка проводит только линию, которую можно записать в вывод: что может остаться после того, как ключ попал в потребительскую сессию модели.