Лучшее ПО для оценки возраста: это не вопрос политики, а интеграции

Обязательства австралийских платформ по работе с пользователями младше шестнадцати лет стали обязательными к исполнению в декабре предыдущего года, и за их несоблюдение предусмотрены штрафы до почти пятидесяти миллионов австралийских долларов. Такое финансовое давление переместило задачу подтверждения возраста из области длительных политических обсуждений прямо в инженерные дорожные карты. Интересно, где эта работа в итоге оказалась — не в юридических службах, а у тех, кто должен выбрать поставщика, внедрить его в процесс регистрации или оформления покупки и объяснить регулятору, что произошло с фотографией лица через три секунды после выдачи оценки.

Переход от политики к интеграции случился в конце прошлогоднего периода. До этого главным в местных дискуссиях была сомнительность самой идеи: работает ли автоматическая оценка возраста вообще? Испытание технологий подтверждения возраста, заказанное eSafety, сняло этот вопрос — вывод показал: подтверждение возраста можно сделать в Австралии приватно и эффективно, но ни один метод не подходит для всех сценариев. Оценка возраста по лицу дала хорошие результаты в целом, но хуже справлялась вблизи пороговых значений — а именно там и происходит основная проверка. Это и есть ключевая инженерная задача. Модель с годовым средним модулем ошибки без труда различит, скажем, человека 34 лет и подростка 15 лет, но между 15 и 17 годами маржа ошибок быстро сужается. Именно в этом промежутке и лежит шестнадцатилетний порог Австралии; сдвиньте порог вверх — и та же проблема коснётся другой юрисдикции с восемнадцатилетним порогом. Поэтому разумные реализации не просят модель вынести окончательное решение прямо на границе. Устанавливают буфер: тех, кого система оценила в пределах нескольких лет от порога, переводят в запасной путь проверки — и всё инженерное обсуждение переходит на вопрос, насколько широк этот буфер и что именно происходит за его пределами.

Три числа важнее любого списка функций

Сравнение поставщиков часто сводится к таблицам возможностей, которые выглядят очень похоже. На практике продукты различаются тремя метриками. Первая — средняя абсолютная ошибка (MAE) в тех возрастных диапазонах, которые вам действительно важны, а не агрегированная по всей популяции цифра, скрывающая слабые места в нужных бандах. Вторая — ширина буферной зоны и доля пользователей, попадающих в неё: если 12 % регистраций оказываются в буфере, а резервный путь — загрузка документа, вы фактически создаёте продукт «загрузка документа» для одного пользователя из восьми; бюджет и отток следуют из этого процентного показателя. Третья — коэффициент завершения резервного пути: если люди не доводят его до конца, это не запасной путь, а выход из продукта. Спрашивайте, измеряется ли этот показатель по попыткам или по пользователям — при многократных попытках эти числа сильно расходятся.

Решения на рынке iDenfy строит поток вокруг проблемы буфера, а не вокруг самого предсказания. Один селфи с проверкой «живости» даёт оценку в пределах трёх лет, и те, кто оказываются близки к порогу, переводятся в проверку документов внутри той же сессии, а не перекидываются в отдельный поток или к второму поставщику. Это оперативно важно: запасной путь — та часть, которую большинство внедрений недостраивают, и связка из двух контрактов обычно и вызывает отток. Покрытие документов — более 16 тысяч типов из 200+ стран, что практически определяет, будет ли запасной путь работать для международной аудитории. Ценообразование — оплата за одобренную проверку в диапазоне $0.55–$0.75, поэтому оставленные попытки не попадают в счёт, что отличается от модели «плата за попытку» и даёт заметный эффект при прогнозировании объёмов из буфера.

Платформа iDenfy включает оценку возраста в более широкий идентификационный продукт — плюс, если вам нужно KYC на тех же рельсах, и минус, если вам нужна только проверка возраста. Стоит учесть также, что iDenfy публикует менее детальные показатели по бандами возраста, чем некоторые конкуренты, поэтому требуйте эти данные при оценке. Yoti публикует данные, с которыми другие измеряются. Их документ указывает MAE 1.1 года для возрастной группы 13–17 лет и 1.3 года для 6–12 лет, а также сообщает, что 99.3 % протестированных пользователей 13–17 лет оценены как младше 21 года. Это бранчевые показатели, выпущенные добровольно, и сама прозрачность является важным сигналом при закупке.

Оценка может быть проведена без документа и без хранения идентифицирующей записи в большинстве проверок — это «чистое» решение с точки зрения регулятора по защите биометрии. Обратная сторона — логика маршрутизации, запасной путь, журналы аудита и политика хранения остаются на вашей стороне. Команды, рассчитывавшие получить готовый поток соответствия, часто удивляются объёму дополнительной инфраструктуры, который им придётся построить. Incode заявляет MAE 0.95 года для группы 13–17 лет, комбинируя оценку по лицу и проверку документа в одной цепочке. Для порогов в 16 или 18 лет это лучший опубликованный показатель в важной возрастной группе, и он прямо снижает необходимую ширину буфера.

Продукт ориентирован на корпоративные внедрения и стоит соответственно: большая платформа, объединяющая идентификацию, борьбу с мошенничеством и проверки возраста, получает реальную выгоду от консолидации, тогда как средний сервис с единственным входным возрастным шлюзом может обнаружить, что коммерческие и интеграционные издержки непропорциональны задаче. k‑ID пришёл из игровой сферы, где требование редко было бинарным — скорее нужно было настраивать, что игрок видит, что может купить и о чём общаться, в зависимости от возрастной группы и юрисдикции. Это наследие отражается в продукте: если нужен градуированный опыт, а не простой «да/нет», движок соответствия k‑ID справляется с классом сложности, который другие оставляют на стороне клиента.

k‑ID также запустил проект OpenAge, основанный на AgeKey — креденшла на основе FIDO-паскей, позволяющем пользователю один раз доказать свой возраст и повторно использовать это доказательство у участвующих сервисов вместо постоянных сканов лица. Несколько крупных игроков присоединились к инициативе; станет ли это стандартом или одним из конкурирующих подходов — вопрос открытый, но это наиболее конкретная попытка решить проблему повторений. Persona делает ставку на доказательства развёртывания, а не на публикуемые таблицы точности. Её используют крупные платформы для распределения пользователей по возрастным группам и настройкам контактов; при больших объёмах оценка, выдержанная в боевых условиях, даёт уверенность, которую не воспроизведёт ни один бенчмарк.

Интеграция у Persona рассчитана на масштаб: если вы уже используете Persona для верификации личности, добавление оценки возраста по той же цепочке — простая задача; если это ваш первый поставщик и вам нужен один единственный шлюз по возрасту, вы фактически берёте платформу ради функции.

Конфигурация под юрисдикции

Если работаете за пределами одной страны, вы неизбежно сталкиваетесь с несколькими порогами. В Австралии правила включают шестнадцатилетний порог; в другой юрисдикции главный порог может быть восемнадцать; некоторые штаты США и национальные регламенты ЕС добавляют собственные требования. Это превращается не в проблему соответствия, а в задачу конфигурации: одна и та же оценка должна сравниваться с разными порогами в зависимости от местоположения пользователя, с разной шириной буфера, разным набором приемлемых запасных методов и разными правилами хранения данных. Если захардкодить один порог, логику придётся переписывать в ближайшее время. Поэтому важно узнать на раннем этапе, считает ли поставщик юрисдикцию первоклассным параметром или ожидает, что это будете обрабатывать вы.

Многие продукты вернут оценку и оставят политику решения на вас — это нормально, если вы это спланировали, и дорого, если вы думали, что поставщик сделает это за вас. В демо это различие должно проявиться явно.

Чем проваливаются аудиты — не модели

Точность — то, чему команды обычно уделяют максимум внимания при выборе, и одновременно то, что реже всего вызывает проблемы при аудите. Причины проблем — обработка данных. Австралийские правила запрещают делать государственные документы единственным доступным путём, поэтому поток «селфи, а если не получилось — загрузите права» изначально неполон. Нужен как минимум ещё один путь. Те же правила требуют уничтожать данные, собранные для подтверждения возраста, как только они выполнили свою задачу, поэтому поставщик, который по умолчанию хранит фотографии для улучшения модели, создает архитектурную обязанность, которую вам придётся разворачивать в обратную сторону.

Три вопроса решают большую часть рисков. Где вычисляется оценка — на устройстве или на серверах поставщика? Что по умолчанию сохраняется после возврата оценки? И можно ли выключить хранение, не потеряв доказательств проверки, которые нужно предъявить регулятору? Последний вопрос многих застает врасплох: «ничего не хранить» и «ничем не доказать» — легко перепутать. Верифицируемый журнал совершённой проверки с результатом и временной меткой — не то же самое, что сама фотография, и поставщики сильно различаются по тому, позволяют ли они хранить одно без другого.

Выводы для закупки и интеграции

Каждый из перечисленных поставщиков может вернуть оценку возраста; различия в точности между серьёзными игроками уже не так велики, как их маркетинг предполагает. Настоящие различия проявляются в том, как будет выглядеть ваш поток через два года, когда пользователь, подтвердивший возраст в другом сервисе, не захочет делать это вновь. Спрашивайте поставщика о поддержке повторно используемых креденшалов и о том, что происходит, если пользователь приходит с доказательством, выданным где‑то ещё. Спрашивайте про коэффициент завершения запасного пути и методику его измерения. И главное — требуйте оценку того, какой процент вашей типичной аудитории попадёт в буферную зону при применяемом вами пороге, — и смотрите, дают ли вам число или удобное объяснение того, почему это число зависит от контекста.