Маскирование контактов
Что расширение скрывает перед отправкой модели
Прежде чем текст страницы попадёт в запрос к модели, часть значений в нём заменяется метками — почта, телефон, ссылки на переписку и ключи.
Контакты
Почта, телефон и ссылки на мессенджеры
Адрес почты заменяется на [EMAIL СКРЫТ], номер телефона — на [ТЕЛЕФОН СКРЫТ], а ссылка на t.me, wa.me или vk.com — на [КОНТАКТНАЯ ССЫЛКА СКРЫТА]. Правило работает и с кириллицей: почта на домене .рф маскируется так же, как латинская.
Ключи и токены
Ключ модели маскируется отдельным правилом
Ключ вида sk-or-v1- и заголовок Bearer из скопированного текста тоже заменяются меткой, отдельно от контактов. Это защита от случая, когда на странице оказался чужой ключ или токен, а не только от контактов человека.
Граница
Список скрытого зашит в код, а не растёт сам
Маскирование включено по умолчанию и выключается настройками redactContacts и redactSecrets — но что именно оно ловит, задано в коде заранее и не подстраивается под сайт. Суммы, даты и остальной текст страницы уходят в модель как есть. Что ещё уходит в запрос, разобрано в безопасности.
Как это делается
Два шаблона на телефон, два на ключ
Для телефона правило сперва ищет российский формат с кодом 7 или 8. Если не нашло — переходит на более широкий шаблон для любой другой страны: ведущий плюс и от 8 до 15 цифр подряд. Для ключей отдельно от строки sk-or-v1-, которой помечен ключ OpenRouter, работает второй шаблон sk- для ключей других провайдеров. Оба меняются на метку раньше, чем текст со страницы уйдёт в запрос к модели.
Где граница
Своё сообщение маска не трогает
Маскирование срабатывает только на тексте, который расширение само прочитало со страницы, — то, что человек напечатал в поле ввода своими руками, уходит в модель без изменений. Широкий шаблон телефона намеренно перекрывает лишнее: цена или артикул с плюсом впереди и похожим числом цифр тоже спрячется под меткой. Программисты предпочли маскировать лишнее, а не пропустить настоящий номер.
Посмотрите, что уйдёт в модель с вашей страницы
Метка скрытия встаёт на место контакта до отправки, а не после.