Старт и язык
Пользователь нажимает кнопку на вашем сайте или открывает ссылку. На компьютере без камеры виджет показывает QR-код, чтобы продолжить на телефоне. Язык интерфейса можно сменить сразу.
KYC на сайте и в приложении без своего интерфейса съёмки: виджет NeuroVision проводит пользователя по шагам — документ, селфи, проверки — и отправляет результат на ваш сервер. Подключите его скриптом или npm-пакетом, отправьте клиенту уникальную ссылку или постройте свой интерфейс на API. В мобильном приложении виджет работает через WebView.
Проверка личности онлайн на сайте — это не одна кнопка, а готовый фрагмент продукта: экраны съёмки, проверка снимков, антифрод и передача итога на ваш сервер. Всё это вы получаете целиком и настраиваете без релиза.
Инструкция, рамка для документа, подсказки при ошибке и экран завершения уже свёрстаны и работают на компьютере и смартфоне. Вам не нужно разрабатывать интерфейс камеры.
Шаги, типы документов, страны и проверки задаются в редакторе сценария личного кабинета. Поменяли сценарий — виджет на сайте сразу работает по-новому.
Распознавание 16 000+ типов документов из 195+ стран и территорий, антифрод-проверки изображения: следы редактора, фото с экрана, распечатка. Селфи и проверка живости — если включены в сценарии.
Результат приходит вебхуком на адрес вашего бэкенда и доступен по запросу статуса. Браузер получает только событие о завершении.
Логотип, цвета, тексты экранов и языки интерфейса настраиваются в редакторе и входят во все пакеты.
Один и тот же виджет работает на сайте, в мобильном браузере и в приложении — через WebView или встроенный браузер. Нативных SDK для iOS и Android нет.
Три способа встроить проверку ведут к одному результату — KYC-сессии с тем же JSON и тем же вебхуком. Разница в том, сколько кода вы пишете и кто рисует экраны съёмки. Способы можно совмещать: на сайте — виджет, в рассылке — ссылка.
Проверка без интеграции: клиент открывает ссылку и проходит шаги на странице NeuroVision
kyc.neuro-vision.ru/<ID сценария>/<зашифрованный clientKey> собирается на вашем сервере; одноразовые KYC-ссылки создаются в личном кабинете — от 1 до 1 000 за раз, со сроком жизниГотовые экраны съёмки внутри вашего сайта или приложения
widget-lib.js или npm-пакет kyc-widget-nv для React; поверх страницы или внутри блока (mountElementId); в приложении — WebView или встроенный браузерclientKey на сервере, вызывает виджет по кнопке, принимает вебхукСъёмку рисует ваше приложение, снимки отправляет ваш бэкенд
POST /kyc/process и читает ответ или вебхукТиповой сценарий «паспорт и селфи с документом» на телефоне. Шаги включаются и выключаются в сценарии, тексты экранов можно переписать под ваш продукт. Как работает проверка живости — на странице Liveness. Посмотреть проверку глазами пользователя можно в демо.
Web SDK верификации подключается за несколько строк. Нужны два значения: идентификатор сценария из личного кабинета и зашифрованный на вашем сервере clientKey.
Подключение виджета на страницу
HTML<button id="verify-btn" disabled>Загрузка…</button>
<script>
const btn = document.getElementById("verify-btn");
const script = document.createElement("script");
script.src = "https://kyc.neuro-vision.ru/lib/widget-lib.js";
script.onload = () => {
btn.disabled = false;
btn.textContent = "Пройти проверку";
};
document.body.appendChild(script);
btn.addEventListener("click", () => {
window.KYCWidget.setupKYC({
scenarioId: "b7e4c1d2-0a9f-4e3b-8c5d-6f1a2e3b4c5d", // ID сценария (пример)
clientKey: "q8Zt3kVf2mN9wX1yR4pL0sA7bC6dE5gHjK2lM3nP4rS=", // зашифрован на сервере
clientUser: "user-000123",
theme: "light",
stickySession: true,
successCb: (sessionJson) => {
const { sessionId, status } = JSON.parse(sessionJson);
console.log("Сессия завершена:", sessionId, status);
// решение принимает бэкенд — по вебхуку или запросу статуса
},
finalizedCb: ({ status }) => console.log("Уже пройдена:", status),
closeCb: () => console.log("Виджет закрыт"),
});
});
</script> Уникальная ссылка на проверку
URLhttps://kyc.neuro-vision.ru/<ID сценария>/<зашифрованный clientKey>
https://kyc.neuro-vision.ru/<ID сценария>/<зашифрованный clientKey>/<clientUser>
Пример (вымышленные значения):
https://kyc.neuro-vision.ru/b7e4c1d2-0a9f-4e3b-8c5d-6f1a2e3b4c5d/q8Zt3kVf2mN9wX1yR4pL0sA7bC6dE5gHjK2lM3nP4rS%3D/user-000123 Зашифрованный ключ — строка Base64: в ссылке её нужно URL-кодировать (= → %3D, / → %2F, + → %2B). Как зашифровать clientKey на сервере, все параметры виджета и пример для React — в документации: подключение, параметры, работа с clientKey.
Нативных SDK для iOS и Android нет — и для верификации пользователя в мобильном приложении они не обязательны. Виджет адаптивный и работает с камерой смартфона, поэтому KYC для мобильного приложения подключают через WebView или встроенный браузер. Ниже — что настроить, чтобы камера открылась.
CAMERA WebChromeClient.onPermissionRequest NSCameraUsageDescription allowsInlineMediaPlayback setupKYC внутри closeCb successCb successCb — вызывается только при успешном итоге; приходит JSON-строка с sessionId, статусом и шагами.
closeCb — пользователь закрыл виджет или браузер заблокировал камеру.
finalizedCb — виджет открыли для сессии, которая уже завершена: приходит её статус.
Используйте колбэки, чтобы закрыть окно и показать «Мы проверяем данные».
Адрес — Backend Callback URL в настройках сценария.
Шифрование — тело POST шифруется секретным ключом.
Без персональных данных — флаг оставляет в уведомлении только статусы, данные бэкенд забирает сам по sessionId.
Только итог — без промежуточных статусов. Проверки по базам можно получать по мере готовности.
success — все шаги и проверки пройдены.
failed — хотя бы один шаг или проверка не пройдены, причина — в ошибках шага.
suspicious — признаки мошенничества, кадры в такую сессию больше не слать.
idle — пользователь не закончил.
expired — истекло время жизни сессии из сценария.
Связать проверку с вашим пользователем помогает clientKey: вы задаёте его сами (ID пользователя или заявки), и в вебхуке и запросе статуса приходит именно это значение. Формат вебхука, методы статуса и коды ошибок — на странице API и SDK для верификации.
Пользователь должен понимать, что проходит проверку в вашем сервисе. Оформление настраивается в редакторе сценария с живым превью — без кода и без релиза. Кастомизация входит в стоимость KYC-сессии: отдельно её не оплачивают.
Светлая или тёмная тема и отдельный логотип для каждой — лучше SVG или PNG с прозрачным фоном. Тему можно переопределить при запуске параметром theme. Ссылки на ваши условия и политику конфиденциальности выводятся на стартовом экране.
Фоны, основной и вторичный текст, акцентный цвет, цвета успеха и ошибки, лоадер, тени, границы, главная и вторичная кнопки. Проверяйте контраст текста и кнопок во всех состояниях — ориентир WCAG 2.1 AA.
Заголовок, пункты инструкции, согласие на обработку персональных данных, подписи к QR-коду, подсказки по съёмке, экраны успеха, отказа, повтора и исчерпанных попыток. Не меняются подсказки во время съёмки и проверки живости, серверные ошибки, названия стран и документов.
Языки интерфейса отмечаются галочками — например русский, английский, испанский, немецкий, французский, португальский. В виджете появляется переключатель, условия и политика показываются на выбранном языке. Собственные тексты переведите сами.
Большинство пользователей проходит проверку с телефона, в спешке и при плохом свете. Виджет сделан так, чтобы ошибка снимка не превращалась в брошенную заявку. Как выстроить весь путь клиента — от регистрации до решения — на странице «Цифровой онбординг клиентов».
Если на компьютере нет камеры или съёмка с ПК отключена, виджет показывает QR-код и ссылку: пользователь продолжает на смартфоне. Включить съёмку на компьютере можно в настройках.
Перед камерой — короткий экран: достать документ из обложки, положить на ровную поверхность, держать телефон вертикально. Тексты подсказок вы пишете сами.
Документ снимается в рамке. Для слабых устройств рамку можно сделать вертикальной или горизонтальной — так проще попасть в кадр.
Если поля не читаются, лицо обрезано или в кадре не документ, виджет говорит, что исправить, а не просто «ошибка». Переснимается только тот шаг, где возникла проблема.
На каждый шаг сценария — до 6 бесплатных попыток съёмки. После последней неудачной попытки сессия закрывается, а виджет показывает экран исчерпанных попыток.
С включённой «липкой» сессией пользователь, который закрыл виджет, за 15 минут продолжит ту же проверку, а не начнёт заново. Завершённую сессию виджет повторно не открывает — показывает её итог.
Виджет работает в современных браузерах на компьютере и смартфоне — iOS и Android. Страница с виджетом должна открываться по HTTPS: без защищённого соединения браузер не даст доступ к камере.
Камера нужна на шагах съёмки. Для селфи и проверки живости она обязательна, документ можно загрузить файлом, только если сценарий это разрешает и антифрод для вас не критичен. Мы советуем снимать камерой в виджете — так меньше риск подмены.
Принимаются JPEG и PNG. Документ — не меньше 200 пикселей по большей стороне, лицо — от 30×30 пикселей. Без бликов, сильного сжатия и обрезанных краёв; файлы HEIC, WEBP и PDF отклоняются — это важно для своего интерфейса.
Список распознаваемых документов — в документации: 16 000+ типов из 195+ стран и территорий.
В браузер уходит шифртекст
Секретный ключ сценария и токен API хранятся на бэкенде. В виджет передаётся только clientKey, зашифрованный этим ключом (в документации — пример AES-256-CBC). Без ключа подставить чужой clientKey нельзя.
Старую сессию не продолжить
Время жизни задаётся в сценарии: после него новые снимки не принимаются, сессия получает статус expired, а виджет показывает экран истёкшей сессии. Для новой попытки создаётся новая сессия.
Одноразовые и ограниченные
KYC-ссылки из личного кабинета одноразовые, у каждой — интервал жизни и статус: открыта, пройдена, не пройдена. Ссылку, собранную на сервере, тоже стоит отправлять только владельцу заявки.
Подозрительная сессия закрывается
Если в одной сессии появляются разные документы или лица, сессия получает статус suspicious и закрывается. Число попыток на шаг ограничено, поэтому подбирать снимки бесконечно нельзя.
Решение принимает сервер
successCb удобен для интерфейса, но подделать событие в браузере несложно. Одобрение принимайте по вебхуку или по запросу статуса с сервера; вебхук можно шифровать и отправлять без персональных данных.
152‑ФЗ
серверы в России · реестр российского ПО № 19972
Слова, которые встречаются в документации Web SDK и в разговоре с разработчиками.
widget-lib.js или npm-пакетом kyc-widget-nv.scenarioId.clientKey и тело вебхука. Хранится только на сервере.kyc.neuro-vision.ru. Собирается на сервере или создаётся в личном кабинете как одноразовая.retake.Виджет, уникальная ссылка и кастомизация интерфейса входят во все пакеты — вы платите за KYC-сессию, а не за подключение. Распознавание документа с антифрод-проверками — от 16 ₽ за сессию, документ с селфи или проверкой живости — от 29 ₽. В сессию входят все шаги сценария и до 6 бесплатных попыток съёмки на шаг. Дополнительный документ в той же сессии — 10 ₽.
Рассчитать стоимость
Проект «Разработка мультимодальной системы с применением искусственного интеллекта "Neuromed" для управления диагностическими процессами клиники на базе платформы компьютерного зрения "Нейровижн"» поддержан Фондом содействия инновациям в рамках реализации федерального проекта «Отечественные решения»
Платформа компьютерного зрения Нейровижн зарегистрирована в Роспатенте (свидетельство №2023661508) и включена в Реестр российского ПО (реестровая запись №19972 от 13.11.2023)
Право использовать Платформу предоставляются в соответствии с лицензионным договором, заключаемым Нейровижн с клиентами
Как сделать проверку быстрой для пользователя и устойчивой к обману — в нашем блоге.
Подключите скрипт widget-lib.js и вызовите виджет по кнопке, передав ID сценария и зашифрованный на сервере clientKey. Для React есть npm-пакет kyc-widget-nv. Если код писать не хочется, отправьте клиенту уникальную ссылку на проверку.
Виджет собирает и проверяет данные: распознаёт документ, проверяет снимки на подделку и, если это включено в сценарии, сравнивает селфи с фото в документе. Идентификация клиента в смысле 115‑ФЗ — процедура вашей организации, и решение по ней принимаете вы. NeuroVision даёт инструмент проверки, а не заменяет вашу процедуру.
Откройте виджет в WebView или во встроенном браузере приложения: виджет адаптивный и работает с камерой смартфона. В WebView нужно выдать странице доступ к камере — на Android через onPermissionRequest, на iOS через разрешение камеры и делегат WKWebView. Встроенный браузер (SFSafariViewController, Chrome Custom Tabs) спрашивает разрешение сам.
Нативных SDK для iOS и Android сейчас нет. Проверку в приложение встраивают через WebView или встроенный браузер — функции те же, что на сайте. Если нужна полностью своя камера, используйте REST API: снимки отправляет ваш бэкенд.
Виджет — готовые экраны съёмки, подсказки, пересъёмка и проверка качества кадра: вы пишете только вызов и обработку вебхука. Свой интерфейс через API даёт полный контроль над экранами, но камеру, проверку кадра и ошибки шагов вы делаете сами. Результат в обоих случаях одинаковый — KYC-сессия и вебхук.
В чужой (cross-origin) iframe — нет: браузер заблокирует камеру, и виджет закроется с вызовом closeCb. Чтобы встроить виджет в страницу, а не поверх неё, используйте параметр mountElementId — виджет займёт ваш блок.
Да, в редакторе сценария: логотип для светлой и тёмной темы, цвета фона, текста и кнопок, тексты экранов, включая экраны отказа и исчерпанных попыток, и языки интерфейса. Кастомизация входит во все пакеты. Не меняются подсказки во время съёмки, серверные ошибки и названия стран и документов.
Языки отмечаются в редакторе сценария — например русский, английский, испанский, немецкий, французский и португальский. Пользователь переключает язык в виджете, условия и политика показываются на выбранном языке.
Виджет покажет, что исправить, и предложит переснять только этот шаг. На каждый шаг — до 6 бесплатных попыток, после последней неудачной сессия закрывается. Как снизить число пересъёмок и брошенных проверок — на странице цифрового онбординга и в нашем блоге.
Итог приходит вебхуком на адрес вашего сервера из настроек сценария, его также можно запросить по sessionId или clientKey. Колбэк successCb в браузере вызывается только при успешном итоге, поэтому решение принимайте по данным с сервера.
В облаке NeuroVision на серверах в России или в вашем контуре, если платформа установлена у вас. Оригиналы изображений хранятся 3 месяца бесплатно, срок хранения результатов задаётся в сценарии, а вебхук можно отправлять без персональных данных. Подробнее — на странице «KYC-сервис в России».
Виджет и кастомизация входят во все пакеты: KYC-сессия с распознаванием документа и антифродом — от 16 ₽, с селфи или проверкой живости — от 29 ₽. Тестовый доступ даём на 1 месяц с личным кабинетом и документацией — оставьте заявку внизу страницы.
Не можете сформулировать запрос? Запишитесь на звонок, и наша команда свяжется с вами в удобное время
Записаться на звонокПлатформа NeuroVision — в реестре российского ПО, запись № 19972. Свидетельство Роспатента № 2023661508.
Адрес: Москва, Пресненская наб., д. 12 — деловой центр «Москва-Сити», башня «Федерация». Ближайшие станции метро — «Деловой центр» и «Международная».