Dbrain
Ask or search…
K
Comment on page

Признаки подделки

Анализируем файлы с изображениями и выдаем набор признаков подделки
Наши клиенты часто сталкиваются со злоумышленниками, которые вносят изменения в изображения документов. Сервис «Признаки подделки» ищет прямые и косвенные признаки того, что файл был умышленно модифицирован. Сервис не может гарантировать 100% защиты от злоумышленников, но позволяет автоматически отсеивать часть фрода, тем самым снизив нагрузку на операторов. Сервис запускает следующие проверки:
  1. 1.
    Проверка соответствия вида документа ожидаемому.
  2. 2.
    Определение паспортов, созданных в онлайн-генераторах документов.
  3. 3.
    Поиск визуальных признаков модификации паспорта в цифровых редакторах. Например, подмена отдельных символов или фотографии, или целых полей.
  4. 4.
    Проверка метаданных изображения. По умолчанию метаданные присутствуют в любой фотографии или скане. Отсутствие метаданных — весомый повод отклонить документ. При наличии метаданных сервис проверяет их на внутреннюю непротиворечивость.
  5. 5.
    Логические проверки полей паспорта. Проверяем наличие всех полей и фотографии: серию-номер, регион по ОКАТО, дату выдачи, дату рождения, код подразделения, пол человека, сверяем визуальные поля с машиночитаемой зоной.
  6. 6.
    Проверяем источник изображения. Им может быть фотография, скан, скриншот или фотография экрана. Мы советуем отклонять изображения из последних двух источников, но в вашем бизнес-процессе также могут быть недопустимы сканы.
  7. 7.
    Проверяем цветность изображения. Рекомендуем отклонять чёрно-белые изображения.
  8. 8.
    Если вам заранее известны данные клиента, например ФИО и дата рождения, сервис сверит их с написанными в документе с помощью функции сверки с внешним файлом.
Проверки 2, 3 и 5 работают только для главного разворота паспорта РФ.
Чтобы воспользоваться сервисом, отправьте POST-запрос на URL https://latest.dbrain.io/check/fraud

Параметры запроса к API

Вы можете использовать эти параметры при запросе к сервису определения подделок.

Ожидаемый тип документа

doc_type — string

Поведение по умолчанию: doc_type=passport_main — сервис ожидает изображение с главным разворотом паспорта РФ. Другие допустимые варианты doc_type перечислены в разделе «Типы документов». Для проверки фотографии лица передайте тип not_document.
Перед началом работы с сервисами, советуем заглянуть в раздел «Общая информация о сервисах». В нем перечислили форматы файлов, которые поддерживают сервисы, описали общие для всех сервисов параметры API, а также расшифровали коды ошибок.

Тело запроса к API

Сверка полей с внешним файлом

fraud/verify_fields — string ($binary)
С помощью этой функции можно быстро сравнить данные клиента, которые вам известны, например ФИО, с текстом в самом документе. Для использования функции дополнительно укажите JSON-файл в параметре verify_fields.
Ниже показан пример JSON-файла для сравнения серии-номера и ФИО из паспорта РФ с данными из документа:
{
"series_and_number": "1111 222222",
"surname": "Иванов",
"first_name": "Иван",
"other_names": "Иванович"
}
Для составления своего JSON-файла скопируйте наименования полей из API-спецификации.
Функция сверки возвращает результат в атрибут expected_text_mismatch.

В ответе на запрос к API:

  • task_id — string, идентификатор запроса, формат: 32 символа, 16-ричная строка
  • status_code — integer, дублирует код состояния HTTP
  • success — boolean, статус выполнения запроса
  • result
    • input_image — оригинальное изображение из запроса в формате base64
    • doc_type_mismatch — boolean
      • true — найденный на изображении тип документа не соответствует ожидаемому
      • false — найденный на изображении тип документа соответствует ожидаемому
    • generated_document — boolean
      • true — документ создан в генераторе документов
      • false — документ не создан в генераторе документов
      • null — главный разворот Паспорта РФ не найден, поэтому проверка не запускалась
    • visual_modifications
      • result — boolean
        • true — в файл вносили изменения в графическом редакторе
        • false — в файл не вносили изменения в графическом редакторе
        • null — главный разворот Паспорта РФ не найден, поэтому проверка не запускалась
      • coords— массив, в котором перечислены координаты подозрительных областей изображения документа по четырём точкам: верхний левый угол, верхний правый, нижний левый, нижний правый
    • metadata — объект, содержащий информацию о метаданных
      • not_present — boolean
        • true — в файле отсутствуют метаданные
        • false — в файле найдены метаданные
      • inconsistency — boolean
        • true — в метаданных файла найдены противоречия
        • false — противоречия в метаданных файла не найдены
        • null — метаданные не найдены, проверка не запускалась
      • maker — string, производитель устройства
      • model — string, модель устройства
      • software — string, программное обеспечение, которое последним меняло изображение
      • date_time — объект, содержащий данные со всеми датами и временами, найденными в метаданных изображения:
        • modify_date — string, дата и время модификации изображения
        • сreate_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 на вход.
  • traceback — string, сообщение об ошибке. Содержит информацию о том, где произошла ошибка в коде и какие функции были вызваны перед ней. Это сообщение может помочь разработчикам понять причину возникновения ошибки и исправить ее. Передайте сообщение нашей службе поддержки в телеграм.
Параметры fake и is_fake_visual в ответе метода recognize теперь не отражают результаты проверок на признаки подделки. Мы оставили их для совместимости API.
Last modified 17d ago