Евросоюз строит open-source систему проверки возраста, но проект уже столкнулся с критикой. Мейнтейнер подтвердил: привязка к аппаратному обеспечению — обязательное архитектурное требование. Отказаться от неё нельзя. Под угрозой оказались Linux, кастомные Android ROM и самостоятельно собранные приложения.
Спор начался в GitHub-репозитории Android-приложения. Пользователь написал, что привязка учётных данных к конкретному железу усложнит поддержку открытых систем. Мейнтейнер ответил: «Hardware-bound attestation — требование проекта, а не деталь реализации, которую можно просто выбросить». Он пригласил сообщество предлагать альтернативные архитектуры и пообещал опубликовать отдельный security review с threat model.
Система даёт пользователям подтвердить возраст, не раскрывая имя, точную дату рождения или полный документ. Чтобы защитить учётные данные от копирования, клонирования и переиспользования модифицированными клиентами, ключи лежат в защищённом железе: Android TEE, StrongBox или Apple Secure Enclave.
Критики считают, что такой подход завязывает систему на небольшой набор одобренных устройств, операционных систем и провайдеров аттестации. Техническая спецификация требует от приложений использовать криптографическое железо, когда оно есть. Но более строгие проверки — root detection, Google Play Integrity, Apple App Attest — не обязательны в эталонной реализации. Их могут добавлять те, кто разворачивает сервис.
Разница важна: хранение ключей в железе не требует от сервера одобрять всё устройство, ОС или сборку. Но формулировки мейнтейнера оставляют неясность, насколько строгими будут продакшн-развёртывания.
Есть и управленческое ограничение. Провайдеры Proof of Age должны выдавать учётные данные только приложениям из списка совместимых приложений, который ведёт Европейская комиссия. Поэтому публикация исходников не гарантирует, что собранная сообществом версия заработает с реальным сервисом.
Linux явно не запрещён. Пользователь десктопного Linux может зайти на сайт и отсканировать QR-код поддерживаемым мобильным кошельком. Но в текущей архитектуре нет нативного Linux-кошелька, а альтернативные мобильные ОС вряд ли выполнят требования доверия.
Спор выходит далеко за рамки одного Android-приложения. Проект пока стоит на своём: привязка к железу остаётся обязательной. Будущий security review и threat model, возможно, объяснят, почему выбран такой компромисс и могут ли альтернативные корни доверия или менее строгие реализации соответствовать требованиям.
Главный вопрос остаётся открытым: может ли финансируемая ЕС open-source система оставаться по-настоящему открытой, когда реальный доступ зависит не только от кода, но и от одобренных приложений, поддерживаемого железа, доверенных ОС и политик провайдеров учётных данных.