Обзор
Отчёт о проверке живости содержит все данные, которые Didit получил в процессе подтверждения того, что перед камерой находится реальный живой человек, а не распечатанная фотография, запись с экрана или дипфейк. Он включает метод проверки живости, оценку уверенности от 0 до 100, эталонное селфи и видеозапись процесса, опциональную оценку возраста, метрики качества пассивной проверки живости, а также межсессионные сравнения лиц с историей вашего приложения и списком блокировки. Отчёт формируется после того, как пользователь завершает шаг проверки живости в сценарии (или вызывает отдельный endpoint для лица). Didit выполняет один из трёх методов проверки живости (активный 3D, со световыми вспышками или пассивный), оценивает полученные данные, проверяет наличие известных паттернов спуфинга и выполняет биометрическое сравнение лица со всеми остальными лицами, зафиксированными ранее в вашем приложении. Каждый отчёт содержит собственныйstatus — независимый от общего статуса сессии, — который отражает результат исключительно шага проверки живости:
- Одобрена — лицо обнаружено, оценка проверки живости выше порога отправки на проверку, ни одно предупреждение с автоматическим отклонением не сработало.
- На проверке — сработало одно или несколько предупреждений, направленных на ручную проверку, либо оценка находится на уровне или ниже порога проверки, но выше порога отклонения.
- Отклонена — сработало условие автоматического отклонения (
NO_FACE_DETECTED,LIVENESS_FACE_ATTACK,FACE_IN_BLOCKLISTили риски по возрасту в сценариях с оценкой возраста), настраиваемое предупреждение было направлено на отклонение, либо оценка находится на уровне или ниже порога отклонения. - Не завершена — пользователь так и не завершил шаг проверки живости.
Где отчёт появляется в ответах API
Отчёт о проверке живости возвращается в видеliveness_checks[] в GET /v3/session/{sessionId}/decision/ — всегда в виде JSON-массива, а не единичного объекта liveness. Несколько записей появляются в тех случаях, когда сценарий запускает проверку живости более одного раза (например, основная проверка плюс повторный захват).
- API решения по сессии —
GET /v3/session/{sessionId}/decision/возвращаетliveness_checks[]на верхнем уровне. См. Получение решения по сессии. - Webhook — payload события
session.status.updatedсодержит тот же массивliveness_checks[], как только на шаге появляются данные. См. Webhook. - Отдельный API проверки живости — см. Отдельный API проверки живости.
Читайте
response.liveness_checks[0] и перебирайте элементы массива — структуры в виде единичного объекта liveness, упоминавшейся в некоторых устаревших руководствах, в endpoint решения v3 не существует.Схема
Каноническая схема с описанием каждого поля приведена на справочной странице Модели данных. Поля ниже дублируют эту каноническую схему.Межсессионные совпадения лиц
matches[] содержит список лиц из истории вашего приложения, которые превысили порог биометрического сходства с этим селфи, — до 5 записей: сначала лица из списков блокировки и разрешений, затем по убыванию сходства. Допустимыми кандидатами являются лица из списков блокировки, списков разрешений, лица из сессий со статусом Approved и лица, импортированные для ваших пользователей вендора. Лица, принадлежащие тому же пользователю (тот же vendor_data или тот же пользователь вендора при наличии), исключаются из всего поиска — как при обнаружении дубликатов, так и при проверке по спискам блокировки.
Каждая запись включает в себя:
Значения статуса
Статусы поступают из общего перечисления статусов функций (FeatureStatusChoices).
Примеры
Approved — корректный захват с активным 3D-методом
In Review — пассивная проверка живости, низкое качество захвата и возможный дубликат
log_type: "warning", и отчёт получает статус In Review.
Примечание по безопасности
Видео проверки живости и селфи представляют собой биометрические данные: подписанные URL являются временными и имеют ограниченный срок действия (по умолчанию 4 часа). Относитесь к ним как к кратковременным ресурсам: не кэшируйте их и не публикуйте в открытом доступе. Как правило, вашему приложению требуются толькоstatus, score и предупреждения — храните как можно меньше данных, чтобы минимизировать объём биометрической информации на ваших серверах.
Связанные разделы
- Предупреждения проверки живости — полный перечень значений enum предупреждений, их причины и способы устранения.
- Webhook — отслеживайте
session.status.updatedдля получения отчёта. - Модели данных — Проверка живости — каноническая схема со всеми полями.
- Отчёт о сравнении лиц — сопутствующее сравнение лиц 1:1 с портретом из документа.