Потребительское приложение с открытым исходным кодом для любого Transpareo-DPP: отсканируйте, пролистайте историю продукта, поделитесь информацией о версии. Машина времени для DPP.
Представьте, что вы держите в руках продукт и сканируете QR-код на нём. Вместо PDF-файла открывается небольшое приложение. Вы видите информацию о продукте в режиме реального времени: из чего он состоит, откуда он родом, на что следует обратить внимание. Одно движение пальцем - и вы переноситесь назад во времени: можно просмотреть каждую версию, которая когда-либо выпускалась.
Именно это вы можете попробовать прямо сейчас: в демо-версии представлен полный паспорт продукта с примерными данными.
Это Transpareo Time Machine - наше приложение с открытым исходным кодом для потребителей, предназначенное для любого цифрового паспорта продукта. Код доступен под лицензией GPL v3 на GitHub.
Мы разрабатываем его, потому что Регламент ЕС о цифровом паспорте продукта был написан для потребителей - для тех, кто держит продукт в руках. Большинство поставщиков превращают его в форму для обеспечения соответствия требованиям, которую никто не сканирует дважды. Мы же делаем из него приложение, которое потребитель действительно открывает.
Четыре точки взаимодействия с точки зрения человека, держащего продукт в руках. Не требуется вход в систему или установка приложения.
Отсканируйте QR-код с помощью камеры смартфона. Приложение откроется в браузере.
Продукт предстает в настоящем - компоненты, материалы, происхождение, уход, переработка.
Одно движение пальцем позволяет пролистать назад во времени. Каждая предыдущая версия с датой и причиной изменения.
Каждая версия имеет свою собственную ссылку. Пользователь делится конкретной версией с друзьями или государственными органами.
Регламент ЕС о цифровом паспорте продукта - это самый значительный шаг в направлении обеспечения прозрачности продукции за последние десятилетия. Если внимательно прочитать исходные тексты, становится ясно, что он разработан именно для потребителей. Органы власти, предприятия по переработке отходов и ремонтные мастерские также вовлечены в этот процесс, но основным адресатом является человек, держащий продукт в руках.
С точки зрения цифр ситуация очевидна. К концу десятилетия среднестатистический европейский частный человек сможет сканировать от десятков до сотен паспортов продуктов в год. Если рассчитать на 200 миллионов домохозяйств, это означает миллиарды взаимодействий с потребителями ежегодно. По сравнению с этим масштаб деятельности органов власти и предприятий по переработке отходов ничтожно мал.
Если мы хотим, чтобы этот регламент дошёл до потребителя, то потребительский портал должен быть хорошо разработан - быстрым, привлекательным и логичным. В противном случае он не достигнет своей цели. Мы решили создать этот потребительский портал на основе открытого исходного кода, чтобы он не зависел от какого-либо одного поставщика.
Регламент ЕС о цифровом паспорте продукта требует, чтобы паспорта продуктов были взаимосовместимыми и основанными на открытых стандартах - то есть могли передаваться между сервисами и системами, а не привязывались к одному конкретному поставщику. Таким образом, независимость от поставщика услуг - это не дополнение, а часть требований.
Transpareo Time Machine - это инструмент, который воплощает это требование в жизнь. Поскольку каждый паспорт продукта предоставляется в соответствии с открытыми стандартами - идентификация, независимая от резолвера, каноническая сериализация, публично доступные ключи - а рендерer распространяется с открытым исходным кодом под лицензией GPL v3, отображение паспорта никогда не зависит от нашей платформы.
Ответственность за паспорт продукта несет субъект хозяйственной деятельности - производитель, импортер или уполномоченное лицо. Если он решает отказаться от Transpareo и перейти к другому поставщику, отображение остаётся неизменным: уже опубликованные версии вместе с историей по-прежнему отображаются тем же рендерером с открытым исходным кодом без изменений, а новый поставщик, поддерживающий те же открытые стандарты, будет отображаться точно тем же приложением. Данные переносятся вместе с ним, потребители не замечают никаких сбоев, и никому не приходится ждать миграции.
В верхней части каждого паспорта продукта отображается значок: «Проверено Transpareo». Он отражает результат проверки, которая проводится не на нашем сервере, а в браузере посетителя - на основе загруженных байтов и открытых ключей эмитента.
Каждую версию DPP подписывают две независимые друг от друга стороны: эмитент и Transpareo. Обе подписи должны поддаваться проверке, чтобы значок стал зелёным. Используя технологию «Bring Your Own Key» (BYOK), эмитент управляет собственным конечным пунктом подписи - Transpareo никогда не хранит закрытый ключ и лишь добавляет независимую встречную подпись. Таким образом создаётся подпись эмитента, которую сама Transpareo не может сгенерировать. Скомпрометированный сервер не может подделать галочку, поскольку проверка происходит у самого посетителя.
Тот, кто хочет узнать подробности, нажимает на значок. За ним вы увидите цепочку подписей, хэши и цепочку версий. Если вам нужна только информация, просто проигнорируйте это и продолжайте читать паспорт продукта.
Такая же проверка доступна и на отдельной странице: на странице проверки DPP введите URL-адрес манифеста любого паспорта продукта и увидите полный результат проверки - без необходимости открывать сам паспорт.
Transpareo Time Machine распространяется по лицензии GPL v3 на GitHub. Клонирование, форки, самостоятельное размещение - всё разрешено. Опубликованные модификации, в свою очередь, должны распространяться по лицензии GPL v3, чтобы каждое дальнейшее развитие приносило пользу обществу.
Три способа интеграции пакета:
<script> и <transpareo-time-machine src="…"> - и готово, никаких сборок не требуется.npm install transpareo-time-machine в собственном приложении.Если вам нужна только проверка подписи без полного просмотра продукта, импортируйте дочерний элемент <dpp-verifier> - идеально подходит для инструментов аудиторов. Можно увидеть в действии на странице верификации DPP.
Приложение изначально разработано для потребителей. Однако оно подходит для всех, кто хочет самостоятельно просматривать или проверять данные о продукте.
ЕС требует, чтобы зарегистрированный паспорт продукта оставался доступным не менее десяти лет - даже после банкротства или ликвидации эмитента. Поставщики SaaS редко существуют так долго. Поэтому мы с самого начала создаем платформу таким образом, чтобы паспорта продукции оставались доступными независимо от нас:
Даже если завтра платформа Transpareo исчезнет, версии DPP и рендерер с открытым исходным кодом останутся.
Вот что происходит «под капотом». Если вам не нужно знать об этом подробно, можете пропустить этот раздел - приложение будет работать и без этого.
Всё задокументировано в README на GitHub - включая архитектуру фронтенда (собственное ядро React, без внешних фреймворков) и инструкции по сборке для самостоятельного хостинга.
Transpareo Time Machine - это потребительский аспект более широкой инициативы, направленной на обеспечение возможности независимой проверки цифровых паспортов продукции. Подробнее:
Полный исходный код, все релизы и обсуждение проблем можно найти в общедоступном репозитории.