Как это работает

Как работает Oracul

Скан берёт ник, email или телефон, ищет аккаунты на тысячах сайтов, рекурсивно идёт по найденным связям, отсеивает однофамильцев и чужие профили и собирает паспорт, хронологию и сигналы риска. Всё — по открытым источникам, без входа в чужие аккаунты и без писем цели.

~5800сайтов в базах сканеров
1–3круга рекурсии
14идентификаторов на скан
45 минтаймаут скана
0,5порог сходства лиц
30 днхранение

Схема: из чего собран скан

Восемь слоёв снизу вверх. Каждый следующий опирается на предыдущий. Нажмите на слой — покажу, что в нём происходит.

очередь01 очередь · до 45 миндвижки02 ~5800 сайтовсвязи03 до 3 кругов · 14 idбаллы04 имя +3 / −5лица05 SFace ≥ 0.5судья06 confirmed · anchorпрофиль07 паспорт · флагивыдача08 API · вебхук · PDF
01очередь · до 45 мин

Очередь и запуск

POST /v1/scans или кнопка «Новый скан». Скан встаёт в очередь API.

  • POST /v1/scans · ник + email + имя✓
  • лимит тарифа исчерпан → 429✕
  • перезапуск API → скан вернулся в очередь✓

Конвейер одного скана

  1. 1Входник · email · телефон + имя и цель
  2. 2Движки~5800 сайтов, 3 сканера + API
  3. 3Связиновые ники и email → следующий круг
  4. 4Судьяимя, лица, общие ники, отметки
  5. 5Профильпаспорт, граф, хронология
  6. 6Сигналыфлаги для антифрода/KYC
  7. 7Выдачаконсоль · PDF · HTML · API

Шаги по порядку

01

Запуск и очередь

POST /v1/scans или кнопка «Новый скан». Скан встаёт в очередь API.

  • Семена: ники, email, телефоны (можно несколько сразу) + имя и фамилия цели, должность и цель проверки.
  • Тариф задаёт границы: глубина рекурсии (free — 1, pro — 2, business/enterprise — 3), полный режим, утечки, вебхуки, лимит запросов в минуту.
  • Каждый скан — отдельный процесс движка с таймаутом 45 минут.
  • Скан, прерванный перезапуском API, возвращается в очередь сам. Отмена снимает процесс движка.
  • Прогресс — последняя строка движка, её видно в консоли и в GET /v1/scans/{id}.
02

Движки: где ищем

На каждый идентификатор параллельно запускаются сканеры и свои обогатители.

user-scanner ~2700 сайтовmaigret ~3000 сайтовholehe ~120 сайтовGitHubGitLabKeybaseGravatarXposedOrNotphonenumbers
  • user-scanner — ник и email на ~2700 сайтах, есть ли аккаунт.
  • maigret — ~3000 сайтов, вытаскивает данные профиля: имя, город, био, ссылки, аватар, связанные id.
  • holehe — на каких ~120 сервисах зарегистрирован email, без запуска восстановления пароля.
  • GitHub: профиль, email из коммитов, поиск коммитов по email. GitLab: публичный email. Keybase: пруфы → другие ники. Gravatar: привязанные аккаунты.
  • XposedOrNot — утечки по email (только на платных тарифах). phonenumbers — разбор телефона офлайн: страна, оператор, тип (мобильный / VoIP).
  • Быстрый режим — верхние сайты и короче таймауты; полный — все базы сканеров.
03

Рекурсия: связанные ники и email

Из каждого «своего» аккаунта достаём новые точки входа и сканируем их следующим кругом.

  • Источники связей: поля профиля, ссылки в био и на сайт, id из maigret, пруфы Keybase, аккаунты Gravatar, авторы коммитов.
  • Связь берётся только из аккаунта, где имя совпало с целью или источник сильный, — чужие профили не разводят граф.
  • Перестановки имени (pavel.belov, pbelov, belovpavel…) сначала прощупываются быстрым проходом; в полный скан идут только те, где нашлись аккаунты с тем же именем.
  • Лимиты: глубина по тарифу (1–3 круга), до 14 идентификаторов на скан, до 8 перестановок.
  • Каждая связь хранит, откуда пришла (via) и почему — это граф в отчёте.
04

Уверенность в каждом аккаунте

Движок ставит баллы, по ним — уровень. Подробнее в таблице ниже.

  • Совпадение имени даёт больше всего, несовпадение — сильный минус.
  • Чем дальше круг рекурсии, тем ниже балл: аккаунт по перестановке имени слабее найденного по самому нику.
  • Сильные площадки (GitHub, Keybase, Gravatar и подобные) дают плюс — там аккаунты чаще настоящие.
05

Судья: отсев однофамильцев и чужих

Поверх результата движка Oracul пересматривает каждый аккаунт. Файл результата не меняется — можно пересчитать заново.

  • Имя с транслитерацией: Андрей = Andrey = Andrei = André, Печенев = Pechenev = Petchenev. Бренды и заголовки сайтов не считаются именем.
  • Совпало только имя, а фамилия чужая («Andrei Lisnic» при цели «Андрей Печенев») — другой человек.
  • Общий ник: если под одним ником несколько разных людей, его аккаунты без имени цели ничего не доказывают.
  • Лица: на аватарах ищем лица и сравниваем (локальные модели YuNet + SFace, порог сходства 0,5). Лицо как у эталона — аккаунт принят; другое лицо в дальнем круге — отклонён.
  • Отметки пользователя: «это он» делает аккаунт эталоном (и его лицо — образцом), «не он» убирает аккаунт и всё, что найдено только через него.
  • Зоны интересов: если у дальних аккаунтов разные лица, но интересы совпадают с исходными, — не выбрасываем.
06

Профиль

Из принятых аккаунтов собирается публичный профиль скана.

  • Паспорт: имена, ники (только с принятым аккаунтом), email, телефоны, локация, часовой пояс, работа, ссылки, аватары.
  • Заполненность — доля из 10 полей: имена, ники, email, телефоны, локация, часовой пояс, работа, ссылки, аватар, хотя бы один аккаунт с высокой уверенностью. Для пустых полей — подсказка, чем дополнить.
  • Граф связанных личностей: кто через кого найден и на каком круге.
  • Хронология: даты регистраций и активности по аккаунтам; самая ранняя — возраст следа.
  • Портрет: чем занимается, хобби, зоны интересов, последняя активность — правилами, без LLM.
07

Дообогащение

После профиля — отдельные шаги, каждый можно перезапустить.

  • Публикации: открытые эндпоинты без логина — GitHub (репозитории, gists, активность), GitLab, Habr, HuggingFace, Codeforces, Scratch, dev.to, Medium, Telegram-каналы, Bluesky. VK, X, Instagram, TikTok, Facebook требуют входа — помечаются «закрыто» и не трогаются.
  • Telegram: публичная страница t.me, свои каналы (ник в описании) и публичные каналы, где упоминают @ник. Подписки пользователя в Telegram закрыты и не собираются.
  • Резюме прозой пишет Claude. Наружу уходит минимум: имена, город, публичные био и ссылки, зоны интересов, даты. Email, телефоны и утечки — никогда.
08

Выдача

Один и тот же результат — в консоли, файле и API.

  • Консоль: страница скана, аккаунты с решением и доказательствами, отметки «это он / не он» с пересчётом.
  • Отчёт: обложка, заполненность и паспорт, дальше разделы — PDF через печать или HTML-файл.
  • API: /v1/scans, /accounts с фильтром по уверенности, signals для конвейеров. OpenAPI-спецификация в «Документации API».
  • Вебхук по завершении: подпись HMAC-SHA256 заголовком t=…,v1=…; только https и только на публичные адреса (защита от SSRF).
  • Через 30 дней сканы удаляются вместе с файлами результата.

Как считается уверенность

Баллы складываются по каждому аккаунту:

  • Имя совпало+3
  • Имя не совпало−5
  • Имя неизвестно0
  • Найден несколькими движками+1 за каждый сверх первого, до +2
  • Есть данные профиля+1
  • Сильная площадка+1
  • Аккаунт подтверждён как зарегистрированный+1
  • Круг рекурсии−1 за каждый
≥ 3высокая
1–2средняя
−2…0низкая
≤ −3другой человек

Решение по аккаунту

  • confirmed высокая уверенность✓
  • probable средняя уверенность✓
  • anchor отмечен «это он»✓
  • face_match лицо как у эталона✓
  • weak низкая уверенность✕
  • namesake однофамилец✕
  • name_mismatch имя чужое✕
  • shared_nick общий ник✕
  • face_mismatch другое лицо✕
  • face_conflict на аватарах разные люди✕
  • excluded отмечен «не он»✕

Сигналы риска

Только факты, без скоринга: правила решения остаются у клиента.

no_footprintнет ни одного подтверждённого или вероятного аккаунта
young_footprintсамому старому аккаунту меньше 180 дней
name_mismatchимена в профилях расходятся с заявленным
voip_phoneтелефон — VoIP
invalid_phoneтелефон не проходит проверку номера
breached_credentialsemail в утечках с паролями (платные тарифы)

Продукты: что каждый берёт из скана

ПрофильПолная картина по человекупаспорт, граф, хронология, портрет
АнтифродСинтетика, фермы аккаунтов, дропыno_footprint, young_footprint, voip_phone
KYCСверка имени из документа с сетьюname_consistency, возраст следа
AML / EDDКонтекст для клиентов высокого рискаработа, связи, утечки, публикации
Проверка контрагентаКто стоит за партнёромимя и должность против профилей
Проверка кандидатаЕсть ли кандидат таким, как заявилработа, возраст следа, красные флаги
ИБ и утечкиЧто видит атакующийутечки, открытые email/телефоны, ники для подбора
СамопроверкаСвой цифровой следвсё, что находится о себе
APIТо же из бэкенда/v1/scans, signals, вебхук

Чего Oracul не делает

  • Не входит в чужие аккаунты и не обходит логин: закрытые соцсети помечаются «закрыто».
  • Не шлёт цели писем и сбросов пароля — все движки в тихом режиме.
  • Фото не уходят наружу: лица сравниваются локальными моделями на сервере.
  • Наружу (Claude) — только публичные имена, био и ссылки; email, телефоны, утечки — нет.
  • Не собирает подписки Telegram и закрытые данные.
  • Хранит результат 30 дней, потом удаляет.

Запустите первый скан сегодня

5 бесплатных сканов каждый месяц. Без карты.