АГЕНТ 05 / 07
Очистка
Воркер проверки проверяет email, телефон, профиль и извлечённые данные до управляемого действия — чтобы дальнейшая работа опиралась на реально существующие записи.
cleaning · autonomous
01Что делает
Верификация перед управляемым действием
Испытание email
Синтаксис RFC 5322, MX-поиск через DNS-over-HTTPS, фильтры одноразовых доменов и ролевых адресов, опциональная SMTP RCPT-проверка — все сигналы сводятся в единую оценку доставляемости.
Номера, которые дозваниваются
Метаданные libphonenumber превращают «+7 (495) 710-75-80» в +74957107580 — формат E.164, страна RU и тип линии, если метаданные это поддерживают.
Реально существующие профили
GitHub верифицируется через публичный API; остальные платформы — через загрузку страниц с детекцией soft-404. Бот-барьеры (401/403/429) сообщаются честно, никогда не игнорируются.
Заполните пробелы
До 9 кандидатов на основе перестановок имени (first.last, flast, last.first…), ранжированных по корпоративному шаблону, выведенному из известных адресов коллег — каждый оценивается тем же пайплайном верификации.
Один список, без дублей
Дубликаты выявляются по нормализованным ключам — email в нижнем регистре, телефон только из цифр — затем атомарно объединяются: пропуски заполняются, соцсети/теги/заметки переносятся, строка-дубликат удаляется.
Сигналы перед действием
Ролевые адреса и временные почтовые ящики помечаются, а результаты SMTP сохраняются как явные доказательства. Операторы могут проверить уверенность до того, как воркер выполнит побочное действие.
02Как это работает
Шесть гейтов между входными данными и действием
Кандидаты
Сырой список поступает из БД контактов: email, телефоны, URL соцсетей — каждый с уровнем уверенности извлечения.
Проверки email
Синтаксис → MX через DoH (фолбэк на Google, Cloudflare) → фолбэк на A-запись → фильтры одноразовых и ролевых адресов.
SMTP-проба
Опциональный диалог по порту 25: баннер, HELO, MAIL FROM, RCPT TO — DATA никогда не отправляется. Принято, отклонено или неопределённо.
Проверки телефона
Парсинг по метаданным региона, проверка длины и типа, нормализация к E.164, классификация на мобильные и стационарные номера.
Проверки соцсетей
Профиль запрашивается с браузерным UA; сканирование контента на soft-404 определяет существование; заблокированные проверки отображаются как заметки.
Ранжирование и проверка
Кандидаты, совпадающие с паттернами, получают сигналы уверенности; заблокированные и неопределённые записи остаются видимыми для проверки оператором перед любым управляемым действием.
03Под капотом
Пороги, фильтры и формулы
| Формула уверенности | неверный синтаксис 0.0 · база 0.5 + 0.4 активный домен · максимум 0.9 без SMTP · ≥ 0.95 SMTP принят · ≤ 0.2 SMTP отклонён · одноразовый −0.3 |
| Правила синтаксиса | Подмножество RFC 5322: локальная часть ≤ 64 символов, домен ≤ 253, без точек в начале/конце/подряд, нечисловой TLD |
| MX-запрос | DNS-over-HTTPS: dns.google → резервный cloudflare-dns.com, таймаут 5 с · Резервная A-запись по RFC 5321 · Нулевой MX по RFC 7505 означает «почту не принимает» |
| Одноразовые домены | Настроенные правила одноразовых доменов применяются точно или как поддомены с маской; заблокированные и неизвестные проверки остаются видимыми |
| Локальные части на основе ролей | Адреса отделов, такие как info@, support@, admin@, sales@ и hr@, помечаются как неперсональные записи |
| SMTP-зондирование | таймаут подключения 10 с, на чтение 5 с · 250/251 = принято, 5xx = отклонено, 4xx = неопределённо · проба прерывается до DATA — письмо никогда не отправляется |
| Телефоны в формате E.164 | +7 (495) 710-75-80 → +74957107580 · RU · стационарный · 17 типов номеров · default_country распознаёт национальные форматы |
| предложить_письма | 9 паттернов: first.last, firstlast, f.last, first.l, last.first, first_last, f_last, flast, first-last · совпадение паттерна +0.15, максимум 0.95 |
| Верификация соцсетей | сканирование контента на soft-404 при HTTP 200 · 404/410 — мёртвые · 401/403/429 — блокировка бота · og:title, имя + число подписчиков, если публично |
| Дедупликация и слияние | нормализованные ключи email (trim + нижний регистр) и только цифры для телефона · атомарное слияние заполняет пустые поля и переносит соцсети/теги/заметки |
03.5Результаты
Что даёт очистка
04Tools
The verification toolbox
Работает на флот воркеров
Чистый список — это бюджет, который остаётся у вас
Нисходящие воркеры получают только верифицированные значения и явные сигналы уверенности. Неверные адреса, некорректные записи и одноразовые домены исключены из управляемых действий, будь то аутрич, отчёт или обновление другой системы.
verify_email("[email protected]")
→ syntax: valid · domain: exists
→ disposable: no · role-based: no
→ confidence: 0.90 # LIKELY VALID
verify_phone("+7 (495) 710-75-80")
→ +74957107580 · RU · landline · valid
# reviewable survivors reach the next worker —
# governed actions use recorded evidence