Поддержка копирует сообщение клиента в Usedesk или Jira. Операции выгружают таблицу заявок в Telegram. Разработчик кидает стек ошибки в тред Битрикс24. Эти три жеста повторяются каждый день. В прошлой заметке разобрали, какие параметры URL снимать: utm_source и fbclid можно убрать, id= нужно оставить. На этом многие останавливаются. Номер вида +7 916 123-45-67, серия и номер паспорта, СНИЛС и почта из текста сами не исчезнут только потому, что ссылка стала короче.
Вопрос не в том, «надо ли маскировать». Вопрос в том, как разделить две семьи строк. Всё, чем можно дозвониться до человека или сдвинуть деньги, закрывают. Номер заказа, ключ тикета и SKU находят работу, а не человека — закроете их, и следующая смена не откроет ту же карточку. Таблица, исключения и проверки ниже держатся этой одной развилки. Страница «Убрать UTM» в MyPassGen проводит ту же границу для текста. Это не обзор инструмента. Здесь — какие поля закрыть перед пересылкой тикета или переписки и как сверить результат.
Чистая ссылка не чистит текст
Статья 3 152-ФЗ называет персональными данными любую информацию, относящуюся к прямо или косвенно определённому либо определяемому физическому лицу. Телефон, паспорт, СНИЛС или почта в теле тикета как раз «определяемые». Переслать полный исходник в следующий канал, следующую таблицу или следующий «онлайн-маскировщик» — значит переслать и саму возможность опознать человека.
Там же обработка включает передачу: распространение, предоставление, доступ. Статья 10 отдельно держит специальные категории — сведения о здоровье, биометрию, политические и религиозные взгляды, интимную жизнь. Принцип минимизации из статьи 5 для поддержки звучит просто: отправьте то, без чего следующий человек не закончит работу, а не всю карточку клиента. Вставить полный номер карты в Telegram или оставить контакты ребёнка в открытом тикете этому принципу не соответствует.
Закон не расставляет за вас каждую звёздочку. Он задаёт значение по умолчанию: копия, которую вы отправляете, должна позволять работать без полного номера. Если хватает маски или номера тикета — отправьте их. Если конкретному человеку нужен ещё живой ключ, не пишите этот ключ в тело тикета. Отдайте его по одноразовому каналу.
Один вопрос до маски
Человек, который откроет этот текст, всё ещё может набрать номер, сверить паспорт, списать карту или написать на этот ящик? Если да — вы не закончили. Если не уверены, начните с телефонов, документов, карт, почты и строк с префиксом ключа API, затем проверьте: бизнес-номера на месте?
Какие поля закрывать
Таблица группирует поля, которые реально встречаются в тикетах, выгрузках заявок, демо-презентациях и вставленных логах. Это не исчерпывающий каталог соответствия — вендоры придумывают новые префиксы, — но это те значения, которые утекают чаще всего. После маски читатель должен ещё узнать «это телефон / документ / почта» и уже не суметь воспользоваться значением как есть.
| Поле | Частая форма | Частая маска |
|---|---|---|
| Российский телефон | +7 или 8, 11 цифр, мобильный часто с 9 |
+7 916 ***-**-67 (последние четыре) |
| Международный номер | E.164, начинается с + |
Оставить + и намёк на код страны, середину закрыть, последние четыре оставить |
| Паспорт РФ | Серия 4 цифры, номер 6 цифр | Серию закрыть, от номера оставить хвост из двух–четырёх |
| СНИЛС | XXX-XXX-XXX YY или 11 цифр |
Закрыть первые девять, контрольные две можно оставить |
| ИНН физлица | 12 цифр с контрольной суммой | Оставить форму «это ИНН», середину закрыть |
| Карта | 13–19 цифр, проходит Луна | Середину закрыть; потолок показа — первые шесть + последние четыре |
| Почта | local@domain |
z***@example.com; домен можно оставить |
| Ключ API | sk-, AKIA, ghp_ и похожие |
Префикс семейства и последние четыре оставить, остальное закрыть |
| IP-адрес | Через точки или группы с двоеточием | IPv4: первые два октета, например 203.0.*.* |
Телефон: если ещё набирается — вы не закончили
Рекомендация ITU-T E.164 ограничивает международный публичный номер 15 цифрами без международного префикса. Плюс — запись, не цифра. Российский номер в тикете чаще пишут как +7 916 123-45-67 или 8 (916) 123-45-67. Маска +7 916 ***-**-67 говорит следующей смене «это телефон» и не даёт номер, который можно набрать.
Перед решением вытащите цифры из пробелов, скобок и восьмёрки. Не ищите только сплошной блок из 11 знаков. Обратное тоже верно: кусок из 8–15 цифр может быть номером заказа. Без +, без разделителей и без узнаваемой формы (+7, 8 и код 9XX) не считайте каждую длинную последовательность телефоном. Закрыть номер заказа — самая частая ошибка: следующая смена не сверяет счёт.
Документы: идентифицирует середина
Паспорт РФ — четыре цифры серии и шесть цифр номера. Официальной контрольной суммы у этой пары нет, поэтому «четыре плюс шесть» легко перепутать с номером заказа или накладной. Смотрите контекст: слова «паспорт», «серия», «выдан». Типичная исходящая маска закрывает серию целиком и оставляет короткий хвост номера — достаточно спросить «это тот же документ, что уже в карточке?», недостаточно восстановить бланк.
СНИЛС пишут как XXX-XXX-XXX YY. Последние две цифры — контрольная сумма первых девяти. Одиннадцать цифр подряд ещё не СНИЛС: так же выглядят часть телефонов и внутренних id. Если контрольная сумма не сходится, скорее заказ или опечатка, чем страховой номер. Закрывать нужно первые девять: оставить только YY и ФИО в той же строке всё ещё опасно, но полный номер из чата уже не набирается. ИНН физлица — 12 цифр со своей контрольной суммой; десятизначный ИНН чаще принадлежит организации и сам по себе не указывает на человека. Длинный числовой документ вроде 18-значного китайского ID в середине несёт дату рождения: закрыть только хвост и оставить дату — значит переслать возраст и регион.
Карты: потолок показа — не цель
Основной номер карты (PAN) несёт контрольную цифру по алгоритму Луна (ISO/IEC 7812-1, приложение B). Луна ловит опечатки. Она не доказывает, что карта живая. Длина обычно 13–19 цифр. PCI DSS для показа разрешает максимум первые шесть и последние четыре. Если BIN вам не нужен по делу, потолок не заполняйте.
Почти ни одному исходящему тикету BIN не нужен. Последних четырёх хватает на «это карта с хвостом 4242». Полный PAN и имя держателя в одном сообщении Telegram складывают финансовый счёт и личность — хуже, чем один хвост. Длинную последовательность считайте картой, только если Луна сходится. Если нет — скорее бизнес-номер, трек посылки не трогайте.
Почта, ключи и адреса
Опознавательная сила почты сидит до @. Оставьте первый символ, закройте остальное, домен оставьте. Обычно этого хватает отличить рабочий ящик от личного и не хватает, чтобы написать. Переслать local@domain как есть — отдать канал связи каждому, кто откроет тред.
Ключи API почти всегда несут семейный префикс: sk- / sk_live_, AKIA / ASIA, AIza, ghp_ / github_pat_, glpat-, npm_, xoxb- и токен после Bearer. Префикс называет семейство. Он не для того, чтобы продолжать вызывать API. Если закрытая строка всё ещё проходит аутентификацию — вы закрыли мало, либо живой ключ вообще не должен был попасть в тикет. Полный ключ кладут на одноразовую ссылку, сам ключ — после # в URL. Страница чтения аккаунта не требует.
Для IPv4 первых двух октетов обычно хватает (документационный блок 203.0.113.0/24 пишут как 203.0.*.*), чтобы узнать оператора или офисную сеть, и не хватает, чтобы ткнуть в хост. То же правило для частных адресов, выхода VPN и домашнего канала в стеке ошибки: закрывайте два последних октета.
Какие цифры не трогать
В тексте та же развилка, что в query. Часть чисел выглядит случайной и нужна, чтобы открыть ту же карточку. Закроете — передача сломается.
- Заказы и доставка: номер заказа в магазине, трек СДЭК / Почты России, заявка на возврат. Длина часто пересекается с телефоном или PAN, но формы телефона и Луна нет.
- Тикеты и объектные id: ключи Jira / YouTrack, внутренний id пользователя, SKU, автоинкремент в базе. Часто пересылают как раз затем, чтобы другой человек открыл ту же строку.
- Сборки и часы: номер сборки, короткий префикс коммита, метка времени. Закроете — шаги воспроизведения оборвутся.
Проверка в «Блокноте»: скопируйте исходящий текст, обрабатывайте по одному типу (сначала телефон, потом документ, потом карта) и перечитывайте после каждого прохода. Бизнес-номера на месте? Предложение ещё читается? Не заменяйте все длинные числа звёздочками и потом не угадывайте, какое сломали.
Формы «одна-две буквы плюс шесть–девять цифр» путают с PNR, госномером и внутренним кодом. Если контрольная сумма не сходится или вокруг явно рейс и место — оставьте и пометьте вручную. Не отдавайте это решение одному регулярному выражению.
Не вставляйте целый тикет в незнакомый «онлайн-маскировщик»
В одном абзаце могут лежать паспорт, ещё живой ключ и домашний адрес, который ни одно правило не видело. Вставить полный исходник на сайт, который его загружает, — записать эти значения в чужой журнал. Маскирование должно закончиться в текущей вкладке: исходник и результат рядом, чтобы вы сами проверили, а не поверили фразе «мы ничего не храним».
Маска — ещё не обезличивание
Пункт 9 статьи 3 152-ФЗ определяет обезличивание как действия, после которых без дополнительной информации нельзя установить принадлежность данных конкретному человеку. Тикет с +7 916 ***-**-67, ФИО, адресом и номером заказа внутри Usedesk по-прежнему опознаётся: дополнительная информация — сама система. Это в лучшем случае частичное закрытие прямого доступа. Это не обезличивание и не разрешение публиковать.
Сформулируйте цель точно: снизить прямую пригодность на следующей пересылке, следующем скриншоте, в следующем канале. Маска не даёт права выложить таблицу на публичную страницу и не заменяет «отправьте только нужное». ФИО, адрес, лицо, данные детей и живые ключи часто лежат там, куда правило не смотрит: в другой колонке, в пикселях скриншота, в номере, разрезанном пробелами.
Сложить ФИО, телефон, паспорт и домашний адрес в одно сообщение чувствительнее, чем один закрытый телефон. Если можно разнести — не кладите все четыре в одну строку Telegram. Если номера тикета хватает, чтобы человек сам открыл карточку, не копируйте досье из системы.
Проверка на месте: тексты рядом, звёздочки и «Сеть»
Слоган не проверить. Символы — да. Эти шаги не зависят от обещания бренда. Хватит блокнота и инструментов разработчика.
- Вставьте полный исходящий исходник в локальный редактор и оставьте нетронутую копию — не маскируйте по памяти.
- По таблице выше сначала закройте телефоны, затем документы, карты и почту. Один тип за проход. Бизнес-номера пока не трогайте.
- Поставьте исходник и результат рядом. В закрытых полях должны быть звёздочки или эквивалент. Номера заказов, SKU и даты остаются читаемыми.
- Найдите в результате полный телефон из исходника, полный СНИЛС или локальную часть до
@. Нашли — не закончили. - Если инструмент в браузере показывает список найденных типов, прочитайте его напротив звёздочек в результате. Тип в списке и маска на месте — этот тип готов. Тип в списке и значение ещё полное — тип не готов.
- Откройте инструменты разработчика → «Сеть», включите «Сохранять журнал» и повторите маскирование. В запросах документов и API не должно быть исходника, который вы только что вставили. Аналитика не должна унести полный документ или полный ящик.
Страница «Убрать UTM» в MyPassGen работает на этой границе. В скрытии данных выбирайте по одному типу — телефон, документ, карта, почта, ключ API или IP — и сравнивайте исходник с результатом рядом. Номера в форме E.164 оставляют намёк на код страны; карты проходят Луна и оставляют только последние четыре (теснее, чем «первые шесть + последние четыре»); почта оставляет первый символ локальной части. Обработка заканчивается в текущей вкладке. Исходник не загружается и не пишется в аналитику. Аккаунт не нужен. На странице сказано: это подсказка. Важные случаи всё равно смотрите глазами. Отдельного распознавателя СНИЛС или серии паспорта РФ нет: эти поля в российской переписке закрывайте вручную и затем ищите полный исходник в результате.
Скриншоты, таблицы и иллюзия «уже закрыто»
Таблица труднее абзаца. Телефон в колонке A, ФИО в B, скан паспорта — картинка на третьей странице. Текстовые правила пиксели не видят. Перед отправкой презентации: необрезанные фото разворота, запись экрана с полным номером, Excel с исходником в скрытой колонке или на втором листе.
«Ответ» в Telegram и «цитата» в почте тащат предыдущее сообщение. Вы закрыли последнюю строку — в цитате полный номер. То же делают треды Битрикс24 и пересылки писем. Разверните цитату до отправки или напишите новое сообщение без неё. Переслать всю цепочку писем — переслать и ранние незакрытые подписи, и тела тикетов.
Короткая ссылка и QR-код текст не чинят. В прошлой заметке короткая ссылка — слой редиректа. Добавьте сюда: в заголовок страницы или в utm_content пишут «заказ для +79161234567». Трекинговые имена сняли — заголовок и абзац на месте. Чистить URL и маскировать текст — две работы. Одна другую не заменяет.
Частые ошибки
«Для телефона хватает последних четырёх». Оставить +7 916 123 и спрятать только 45-67 — всё ещё много материала для поиска по открытым базам. Последние четыре — компромисс показа, не доказательство. Для СНИЛС оставить первые девять и закрыть только контрольные две — та же недоделанная работа: опознавательная часть как раз впереди.
«HTTPS уже защищает приватность». HTTPS глушит подслушивание на пути. Получатель, каждый участник канала и каждый администратор helpdesk по-прежнему видят открытый текст, который вы вставили. Вы сокращаете лишние полные номера в той копии, которую отправляете.
«Закрыли — можно публиковать». Пока helpdesk может снова опознать человека, данные остаются персональными. Публичная страница, внешний кейс или учебный слайд требуют информации, которую без дополнительных сведений уже не привязать. Несколько звёздочек этим не являются.
«Правило уже отработало, перечитывать не надо». Разрезанные номера (+7 916 123 45 67), цифры прописью, документы на картинке и префиксы ключей, которых правило не знает, утекают. Человеческий проход: находится ли полный исходник поиском в результате и собирает ли оставшийся контекст того же человека?
С чего начать маскирование
Начните с того абзаца, который отправите сегодня. Скопируйте локально, сначала закройте телефоны, сверьте с исходником, затем решите, нужны ли тот же проход документам и почте. Старые треды и страницы базы знаний могут подождать. Не обязательно чистить всю историю за один присест.
Если в одной вставке смешаны URL и текст, сначала снимите UTM и click ID по таблице прошлой заметки, затем маскируйте тело. Когда в одном сообщении есть и номер заказа, и телефон — заказ оставьте, телефон закройте, предложение перечитайте. После этого одного прохода вы уже можете ответить на заголовок: закрывайте поля, которыми можно дозвониться до человека или сдвинуть деньги; оставляйте номера, без которых не открыть ту же карточку.
Если конкретному человеку нужен ещё живой пароль, код восстановления или ключ API, не пишите полный секрет в тикет и не считайте маску «мы это не отправляли». Соберите одноразовую ссылку. Файл, который должны расшифровывать не один раз, относится к шифрованию файлов: на этом устройстве собирается .lock / .enc, парольная фраза уходит отдельным сообщением. Маскирование текста уменьшает полные номера в обсуждении. Это не канал обмена ключами.
Частые вопросы
После маскирования другой человек всё ещё понимает, о ком речь?
Часто да. Номер тикета, ФИО и закрытый телефон внутри helpdesk по-прежнему сходятся. Маскирование снижает шанс, что человек вне этой системы наберёт номер или выдаст себя за клиента. Текст от этого не становится анонимной статистикой.
Почему эти 11 цифр не приняли за телефон?
Длинный ряд без +7, без восьмёрки с разделителями и без узнаваемой мобильной формы чаще номер заказа. Считать каждый ряд телефоном — закрыть локатор, который нужна следующей смене. Если сомневаетесь, оставьте, обработайте только строки с +, 8 и кодом 9XX, остальное пометьте вручную. Сплошная 8XXXXXXXXXX без пробелов правилом часто пропускается именно поэтому.
Последние четыре на карте — это соответствие PCI?
Потолок показа PCI DSS — первые шесть + последние четыре. Только хвост теснее и обычно достаточен, чтобы сверить окончание. Это всё равно не разрешение выложить номер в публичный канал. Полный PAN плюс ФИО в Telegram быть не должны.
Нужен ли аккаунт, чтобы маскировать? Уходит ли исходник на сервер?
Аккаунт не нужен. Риск журнала начинается, когда вы отдаёте целый тикет сайту, который загружает исходник. Локальная обработка держит исходник в текущей вкладке. Проверяйте, ушёл ли полный документ или ящик третьей стороне во вкладке «Сеть» и находится ли незакрытый полный номер поиском в результате.