Transpareo 타임머신
Transpareo 패스뿐만 아니라 모든 DPP를 위한 오픈소스 소비자용 앱: 스캔하고, 제품의 역사를 살펴보고, 버전 정보를 공유하세요. DPP를 위한 타임머신입니다.
DPP를 위한 시간 여행 기계
손에 든 제품의 QR 코드를 스캔한다고 상상해 보세요. PDF 파일이 아닌 작은 앱이 열립니다. 그 제품을 ‘지금’의 모습으로 확인할 수 있습니다: 어떤 재료로 만들어졌는지, 어디서 왔는지, 주의해야 할 점은 무엇인지 등입니다. 화면을 스와이프하면 시간을 거슬러 올라가, 지금까지 출시된 모든 버전을 확인할 수 있습니다.
이것이 바로 모든 디지털 제품 패스를 위한 당사의 오픈소스 소비자 앱, ‘Transpareo Time Machine’입니다. 이 코드는 GPL v3 라이선스 하에 GitHub에 공개되어 있습니다.
저희가 이 앱을 개발하는 이유는, EU의 디지털 제품 패스 규정이 바로 소비자, 즉 제품을 손에 쥔 사람을 위해 마련되었기 때문입니다. 대부분의 공급업체는 이를 아무도 두 번 다시 확인하지 않는 규정 준수 양식으로만 취급합니다. 저희는 소비자가 실제로 열어볼 수 있는 앱으로 만들었습니다.
직접 확인해 보세요
데모에서는 예시 데이터가 포함된 전체 제품 패스를 확인할 수 있습니다. 버전 이력을 살펴보고 검사 스티커를 열어보세요. 별도의 계정 등록 없이 브라우저에서 바로 이용 가능합니다.
앱의 기능
제품을 손에 들고 있는 사용자의 관점에서 본 네 가지 접점. 로그인이나 앱 설치가 필요하지 않습니다.
스캔
스마트폰 카메라로 QR 코드를 스캔하세요. 앱이 브라우저에서 열립니다.
최신 소식 보기
이 제품은 ‘지금’을 반영합니다 - 구성 요소, 소재, 원산지, 관리, 재활용.
역사를 훑어보기
스와이프 동작 하나로 시간을 거슬러 올라갑니다. 수정 날짜와 사유가 표시된 모든 이전 버전을 확인할 수 있습니다.
공유하기
각 버전마다 고유한 링크가 있습니다. 사용자는 특정 버전을 친구나 관련 기관과 공유합니다.
애초에 왜
디지털 제품 패스에 관한 EU 규정은 수십 년 만에 제품 투명성 측면에서 이루어진 가장 큰 변화입니다. 이 규정의 기초가 되는 문서를 주의 깊게 읽어보면, 소비자를 위해 명시적으로 작성되었음을 알 수 있습니다. 당국, 재활용 업체, 수리점도 이에 동참하겠지만, 이 규정의 주된 수혜자는 제품을 직접 사용하는 개인입니다.
수치상으로 보면 상황은 명확합니다. 평균적인 유럽 일반인은 이번 10년이 끝날 무렵에는 연간 수십 개에서 수백 개의 제품 패스를 스캔할 수 있게 될 것입니다. 2억 가구를 기준으로 환산하면 연간 수십억 건의 소비자 상호작용이 발생합니다. 이에 비해 당국과 재활용 업체의 규모는 수치상 미미한 수준입니다.
이 규정이 소비자에게 제대로 전달되려면 소비자용 웹사이트가 빠르고, 멋지고, 논리적으로 잘 구축되어야 합니다. 그렇지 않으면 그 목적을 달성하지 못할 것입니다.
우리는 이 소비자용 웹사이트를 오픈소스로 구축하기로 결정했습니다. 그래야 특정 공급업체에 의존하지 않을 수 있기 때문입니다.
그 과정은 규정이며, 선언문은 우리가 만든 것이다
제품 패스는 수리, 새로운 재활용 비율, 리콜 등으로 인해 변경될 수 있습니다. 따라서 규정은 이전 버전을 계속 조회할 수 있도록 요구합니다. 저장 규격은 각 버전을 고정시키고, 인터페이스 규격은 각 버전을 선택적으로 읽을 수 있도록 규정합니다. 규정이 명시하지 않은 부분은 바로 그 사이의 연결 고리 , 즉 패스의 모든 버전을 하나의 역사로 엮어주는 목록입니다. Transpareo는 각 패스에 대해 이를 매니페스트 형태로 공개하며, 서명하고 각 버전을 지문(fingerprint)을 통해 이전 버전에 연결합니다. 이를 통해 ‘타임머신’은 제품의 역사를 훑어볼 수 있으며, 사용자는 특정 버전이 진본인지뿐만 아니라, 그 버전이 끊김 없는 연속성 속에서 가장 최신 버전인지도 확인할 수 있습니다.
하지만 앱은 이에 얽매이지 않습니다. 매니페스트 대신 각 제공업체가 개방형 표준에 따라 공개하는 개별 패스를 앱에 제시하면, 앱은 해당 단일 버전을 표시하고, 서명이 있는 경우 이를 검증하며, 타임라인은 단순히 생략합니다. 서명이 없는 패스는 오류로 간주되지 않으며, 단순히 검증 마크 없이 표시될 뿐입니다. 따라서 동일한 앱은 Transpareo에 등록된 적이 없는 패스도 동일하게 표시합니다.
중단 없이 통신사 변경하기
EU의 ‘디지털 제품 패스’ 규정은 상호 운용성이 보장되고 개방형 표준을 기반으로 한 제품 패스를 요구합니다. 즉, 특정 공급자에 묶여 있는 것이 아니라 서비스와 시스템 간에 이전이 가능해야 합니다. 따라서 서비스 제공업체로부터의 독립성은 부가적인 요소가 아니라 규정의 필수 요건입니다.
Transpareo Time Machine은 이러한 요건을 구체적으로 구현하는 솔루션입니다. 모든 제품 패스가 개방형 표준(리졸버 중립적 식별, 표준화된 직렬화, 공개된 키)으로 제공되며, 렌더러가 GPL v3에 따라 오픈소스로 제공되므로, 패스의 표시는 결코 당사의 플랫폼에 의존하지 않습니다.
제품 패스에 대한 책임은 제조업체, 수입업체 또는 대리인 등 경제 주체에게 있습니다. 해당 주체가 Transpareo를 떠나 다른 공급자로 전환하기로 결정하더라도 표시 방식은 안정적으로 유지됩니다. 이미 공개된 버전과 이력은 동일한 오픈 소스 렌더러를 통해 변경 없이 계속 표시되며, 동일한 개방형 표준을 지원하는 새로운 공급자의 패스도 정확히 동일한 앱에서 표시됩니다.
데이터는 그대로 이동하며, 소비자는 단절을 느끼지 않고, 누구도 마이그레이션을 기다릴 필요가 없습니다.
이전 작업 자체는 별도의 프로젝트가 아닙니다. Transpareo Time Machine은 정적 번들입니다: 한 번 구축하여 임의의 웹 서버에 복사하기만 하면 끝입니다. Transpareo에서 패스를 위해 설정하신 디자인은 게시된 스타일시트로 각 패스와 함께 이동합니다. 따라서 고객들이 익숙해져 있는 패스 화면은 색상, 글꼴, 로고까지 포함하여 귀사의 서버에서도 똑같이 표시됩니다.
브라우저에서 테스트되었으며, 당사 서버에서는 테스트되지 않았습니다.
각 제품 패스 상단에는 “Transpareo에서 검증됨”이라는 배지가 표시됩니다. 이 배지는 당사 서버가 아닌 방문자의 브라우저에서, 로드된 바이트와 발급자의 공개 키를 바탕으로 수행된 검증 결과를 나타냅니다.
각 DPP 버전에는 발행자와 Transpareo라는 서로 독립적인 두 기관이 서명합니다. 배지가 녹색으로 표시되려면 두 서명 모두 검증 가능해야 합니다. ‘Bring Your Own Key(BYOK)’ 방식을 통해 발행자는 자체 서명 엔드포인트를 운영하며, Transpareo는 개인 키를 절대 보유하지 않고 독립적인 상호 서명만 추가합니다. 이를 통해 Transpareo조차 생성할 수 없는 발행자 서명이 만들어집니다.
해킹당한 서버라도 확인 표시를 위조할 수 없습니다. 검증은 방문자 측에서 직접 이루어지기 때문입니다.
자세한 내용을 알고 싶다면 배지를 클릭하세요. 배지 뒤에는 서명 체인, 해시 값, 연결된 버전 이력이 표시됩니다. 단순히 정보만 확인하고자 하는 분은 이를 무시하고 제품 정보서를 계속 읽어보시면 됩니다.
동일한 검증 기능을 독립된 페이지에서도 이용할 수 있습니다. DPP 검증 에 원하는 제품 정보서의 매니페스트 URL을 입력하면, 정보서 자체를 열지 않고도 전체 검증 결과를 확인할 수 있습니다.
이 코드를 공개합니다
Transpareo Time Machine은 GitHub의 GPL v3 하에 배포됩니다. 공개된 수정본 역시 GPL v3에 따라 배포되어야 하며, 이를 통해 모든 후속 개발이 대중에게 기여할 수 있도록 해야 합니다.
복제, 포크, 자체 호스팅 - 모두 허용됩니다.
앱을 통합하는 방법, 즉 페이지에 한 줄을 추가하는 방식이든, 자체 애플리케이션에 패키지로 포함하는 방식이든, 아니면 완전히 자체 호스팅하는 방식이든, 해당 README에 자세히 설명되어 있습니다. 또한 DPP 검증 에서 실제 운영 중인 순수 서명 검증용 자매 프로젝트도 해당 README에서 확인하실 수 있습니다.
이 앱을 효과적으로 활용하는 사람
이 앱은 우선 소비자를 위해 개발되었습니다. 하지만 제품 데이터를 독립적으로 확인하거나 검증하고자 하는 모든 사용자에게 유용합니다.
- 최종 소비자는 스캔하고, 확인하고, 살펴보고, 공유할 수 있습니다. 로그인이나 추적 기능이 없습니다.
- 시장 감시 기관 및 당국은 소스 코드가 공개적으로 감사 가능한 소프트웨어를 통해 제품 패스를 확인할 수 있습니다.
- 정비소 및 재활용 업체는 제품에서 직접 재료 구성과 분해 지침을 확인할 수 있습니다.
- 브랜드 및 포크 운영자는 CSS 토큰, 자체 구성 요소, 자체 호스팅 등을 통해 번들을 자사 브랜드에 맞게 조정할 수 있습니다.
Transpareo가 사라지면 어떻게 될까요?
EU는 등록된 제품 패스가 발행자의 파산이나 청산 후에도 최소 10년 동안 이용 가능하도록 요구합니다. SaaS 제공업체가 그만큼 오랫동안 운영되는 경우는 드뭅니다. 따라서 저희는 처음부터 제품 패스가 당사와 무관하게 계속 사용될 수 있도록 플랫폼을 구축하고 있습니다:
- 서명된 모든 DPP 버전은 공개적으로 열람 가능한 저장소에 보관됩니다. 데이터 바이트와 공개된 공개 키만으로도 추후 검증에 충분합니다.
- 제품 패스가 EU 등록부에 등록되는 즉시, 두 번째 쓰기 금지 저장소가 각 DPP 버전과 이벤트 로그를 추가로 10년 동안 미러링합니다. 누구도 - 저희를 포함해서 - 이 미러 사본을 사후에 변경할 수 없습니다.
- 계약 해지 후에도 짧은 제품 패스 URL은 리디렉션을 통해 Transpareo 플랫폼에서 계속 접근할 수 있습니다.
- Transpareo Time Machine은 아카이브된 데이터에 대해서도 변함없이 작동합니다. 이 번들은 실행 시점에 저희에게 다시 호출을 보내지 않으며, 바이트와 키만 있으면 됩니다.
만약 내일 Transpareo 플랫폼이 사라지더라도, DPP 버전과 오픈소스 렌더러는 그대로 남게 됩니다.
기술에 호기심이 많은 분들을 위해
다음은 내부에서 어떤 일이 일어나는지 설명한 내용입니다. 자세한 내용을 알 필요가 없는 분들은 이 부분을 건너뛰셔도 됩니다. 앱은 이 부분을 건너뛰더라도 정상적으로 작동합니다.
- GS1 Digital Link (ISO/IEC 18975): 제품 패스 URL은 표준화된 형식으로 제품 식별 정보를 포함하며, 리졸버에 구애받지 않고 공급자 간에 상호 교환이 가능합니다.
- JSON Canonicalization Scheme (RFC 8785): 결정론적 직렬화 방식입니다. 이를 통해 해시는 필드 순서나 공백과 무관하게 재현 가능하며, 누구나 직접 계산해 볼 수 있습니다.
- W3C 데이터 무결성 증명 (eddsa-jcs-2022): 정규화된 형식(JCS)에 대한 Ed25519 서명.
- /.well-known/dpp-keys/ (RFC 8615): 발행자의 공개 키는 표준화된 경로에 위치하므로, Transpareo에 문의할 필요 없이 모든 검증자가 직접 찾을 수 있습니다.
모든 내용은 GitHub의 README에 문서화되어 있습니다. 여기에는 프론트엔드 아키텍처(자체 반응형 코어, 외부 프레임워크 미사용)와 자체 호스팅을 위한 빌드 안내도 포함되어 있습니다.
관련 주제
Transpareo Time Machine은 디지털 제품 패스를 독립적으로 검증할 수 있도록 하기 위한 광범위한 노력의 일환으로, 일반 소비자를 대상으로 한 플랫폼입니다.








