Антифрод
Анализируем файлы с изображениями и выдаём набор признаков подделки
Last updated
Was this helpful?
Анализируем файлы с изображениями и выдаём набор признаков подделки
Last updated
Was this helpful?
Данная версия сервиса устарела и больше не поддерживается. Рекомендуем использовать .
Злоумышленники могут внести изменения в изображения документов. Сервис «Признаки подделки» ищет прямые и косвенные признаки того, что файл был умышленно модифицирован. Сервис не может гарантировать 100% защиты от злоумышленников, но позволяет автоматически отсеивать часть фрода и снижать нагрузку на операторов. Сервис запускает следующие проверки:
Проверка соответствия вида документа ожидаемому.
Определение паспортов, созданных в онлайн-генераторах документов.
Поиск визуальных признаков модификации паспорта в цифровых редакторах. Например, подмена отдельных символов, или фотографии, или целых полей.
Проверка метаданных изображения. По умолчанию метаданные присутствуют в любой фотографии или скане. Отсутствие метаданных — весомый повод отклонить документ. При наличии метаданных сервис проверяет их на внутреннюю непротиворечивость.
Логические проверки полей паспорта. Проверяем наличие всех полей и фотографии: серию-номер, регион по ОКАТО, дату выдачи, дату рождения, код подразделения, пол человека, сверяем визуальные поля с машиночитаемой зоной.
Проверяем источник изображения. Им может быть фотография, скан, скриншот или фотография экрана. Мы советуем отклонять изображения из последних двух источников, но в вашем бизнес-процессе также могут быть недопустимы сканы.
Проверяем цветность изображения. Рекомендуем отклонять чёрно-белые изображения.
Если вам заранее известны данные клиента (например, ФИО и дата рождения), сервис сверит их с написанными в документе с помощью функции сверки с внешним файлом.
Чтобы воспользоваться сервисом, отправьте POST-запрос на URL
Вы можете использовать эти параметры при запросе к сервису определения подделок.
Поведение по умолчанию: async=false
— сервис обрабатывает запросы синхронно. При отправке запроса вы получите ответ только после окончательного завершения обработки запроса сервисом.
Если вам нужен асинхронный режим, укажите в запросе async=true
. В ответ на запрос сервис вернёт в response body
параметр task_id
. Например:
Используйте этот task_id
, чтобы получить результаты классификации в методе result
:
Не забудьте указать в параметре token
ваш ключ лицензии. Рекомендуем запрашивать метод result
в цикле с периодом 1-2 секунды.
return_crops — boolean
Поведение по умолчанию: return_crops=false
— cервис не возвращает найденные области изображения.
Если вам нужны найденные сервисом области изображения, укажите return_crops=true
. Сервис вернёт в ответе API в параметре crop найденные области изображения с лицами.
task_tags — string array
Поведение по умолчанию: параметр не используется.
Функция тегирует запросы по вашему усмотрению. Это упрощает отслеживание пакетов документов, связанных с конкретным клиентом-физлицом. Для использования функции укажите в параметре task_tags
удобный вам тег: task_tags=тэг
Остальные параметры запроса не несут практического смысла. Оставили их для совместимости со старой версией метода recognize, который используется внутри сервиса
image — string ($binary)
Изображение обязательно для передачи в запросе. Сервис ожидает изображение в двоичном виде.
fraud/verify_fields — string ($binary)
С помощью этой функции можно быстро сравнить данные клиента, которые вам известны. Например, ФИО с текстом в самом документе. Для использования функции дополнительно укажите JSON-файл в параметре verify_fields
.
Ниже показан пример JSON-файла для сравнения серии-номера и ФИО из паспорта РФ с данными из документа:
Функция сверки возвращает результат в атрибут expected_text_missmatch
.
task_id
— string, идентификатор запроса, формат: 32 символа, 16-ричная строка
error
— string, текстовое описание ошибки
task_tags
— array[string], теги, если они переданы в параметре task_tags
success
— boolean, статус запроса
true
— запрос выполнен успешно
false
— запрос не выполнен
status_code
— integer, HTTP-код статуса запроса
200 — запрос выполнен успешно
result
doc_type_missmatch
— boolean
true
— найденный на изображении тип документа не соответствует ожидаемому
false
— найденный на изображении тип документа соответствует ожидаемому
generated_document
— depricated, не используйте
visual_modifications
coords
— массив, в котором перечислены координаты подозрительных областей изображения документа по четырём точкам: верхний левый угол, верхний правый, нижний левый, нижний правый
result
— boolean
true
— нейросеть считает, что в файл вносили изменения в графическом редакторе либо он был сгенерирован в генераторе синтетических паспортов
false
— нейросеть считает, что изображение не фейк
null
— главный разворот Паспорта РФ не найден, поэтому проверка не запускалась
metadata
— объект, содержащий информацию о метаданных
not_present
— boolean
true
— в файле отсутствуют метаданные
false
— в файле найдены метаданные
inconsistency
— boolean
true
— в метаданных файла найдены противоречия
false
— противоречия в метаданных файла не найдены
null
— метаданные не найдены, проверка не запускалась
maker
— string, производитель устройства
model
— string, модель устройства
software
— string, программное обеспечение, которое последним меняло изображение
date_time
— объект, содержащий данные со всеми датами и временами, найденными в метаданных изображения:
modify_date
— string, дата и время модификации изображения
create_date
— string, дата и время создания изображения
date_time_original
— string, оригинальные даты и время создания изображения
gps_date_stamp
— string, дата и время снимка согласно GPS
gps_coords
— объект, содержащий координаты согласно GPS метаданным:
latitude_ref
— string, n или s — северная или южная широта, в которой сделан снимок
latitude
— string, широта снимка
longitude_ref
— string, e или w — восточная или западная долгота, в которой сделан снимок
longitude
— string, долгота снимка
altitude_ref
— string, 1 или 0 — высота над уровнем моря или абсолютная
altitude
— string, высота над уровнем моря
logical_inconsistency
result
— boolean
true
— в данных документа найдены противоречия
false
— в данных документа противоречия не найдены
null
— главный разворот Паспорта РФ не найден, поэтому проверка не запускалась
series_number_inconsistency
— boolean
true
— серия или номер паспорта на разных страницах не совпадают друг с другом
false
— серия или номер паспорта на разных страницах совпадают
fake_series_okato
— boolean
true
— серия паспорта содержит несуществующий номер ОКАТО
false
— серия паспорта содержит допустимый номер ОКАТО
series_mismatch_printing_year
— boolean
true
— серия паспорта выходит за допустимый диапазон отклонения от даты выдачи паспорта
false
— серия паспорта находится в допустимом диапазоне относительно даты выдачи паспорта
issue_year_mismatch_date_of_birth
— boolean
true
— дата выдачи паспорта находится вне допустимого диапазона относительно даты рождения для действительного паспорта
false
— дата выдачи паспорта находится в рамках допустимого диапазона относительно даты рождения для действительного паспорта
issue_code_mismatch_issue_authority
— boolean
true
— код подразделения не соответствует полю «Паспорт выдан»
false
— код подразделения соответствует полю «Паспорт выдан»
fake_year_of_birth
— boolean
true
— год рождения находится вне допустимого диапазона относительно текущей даты
false
— год рождения находится в допустимом диапазоне относительно текущей даты
photo_not_found
— boolean
true
— фотография не найдена
false
— фотография найдена
photo_gender_mismatch
— boolean
true
— пол на фотографии не соответствует тексту в поле «Пол»
false
— пол на фотографии соответствует тексту в поле «Пол»
mrz_presence_mismatch_issue_year
— boolean
true
— наличие или отсутствие машиночитаемой зоны паспорта невозможно при такой дате выдачи паспорта
false
— наличие или отсутствие машиночитаемой зоны паспорта возможно при такой дате выдачи паспорта
visual_field_missing
— boolean
true
— одно или несколько обязательных полей паспорта не найдено
false
— найдены все поля паспорта
visual_fields_mismatch_mrz
— boolean
true
— данные визуальных полей не совпадают с данными из машиночитаемой зоны
false
— данные визуальных полей совпадают с данными из машиночитаемой зоны
image_origin
— string, источник изображения, может принимать одно из четырёх значений:
photo
— фотография
scan
— скан
screenshot
— скриншот
monitor_photo
— фотография экрана
image_no_color
— boolean
true
— изображение чёрно-белое
false
— изображение цветное
expected_text_mismatch
— boolean
true
— данные в документе не совпали с ожидаемыми
false
— данные в документе совпали с ожидаемыми
null
— проверка не запускалась, выводится в случае, если вы не подали JSON на вход.
Поведение по умолчанию: doc_type=passport_main
— сервис ожидает изображение с главным разворотом паспорта РФ. Другие допустимые варианты doc_type перечислены в разделе . Для проверки фотографии лица передайте тип not_document.
Перед началом работы с сервисами изучите раздел . Там мы рассказываем про допустимые форматы файлов, виды запросов и ответов, набор HTTP-статусов и даём рекомендации по устранению ошибок
Для составления своего JSON-файла скопируйте наименования полей из
400, 403, 500 и т.д. — расшифрованы в «»
input_image
— $string, с MIME-типом JPEG в формате base64 — оригинал изображения, возвращается, если в запросе передать return_crops=true