본문으로 건너뛰기

2026-07-28

userHash를 개인정보 기반 해시에서 임의 값으로 전환 — 이름·생년월일(IVMS101)로 userHash를 만들던 방식을 제거하고, 개인정보와 무관한 설치 단위 임의 ID(CSPRNG 32바이트 → 64자 16진수)로 대체했습니다. 텔레메트리 사용자 식별값에 개인정보가 유입될 경로를 제거했습니다.


제거

  • AppKit 공개 함수 computeUserHash, resolveUserHash와 타입 UserHashInput 제거 — 이름·생년월일 해시(SHA-256 성|이름|생년월일) 유도 로직 삭제
  • 데모 dApp(connect/payment)의 성명·생년월일 query·환경 변수 입력 경로 제거

변경

  • getOrCreateFallbackUserHash()getOrCreateUserHash() 로 이름 변경 — 더 이상 예비 경로가 아니라 기본 경로임
  • 새로 생성되는 ID 형식을 crypto.randomUUID() UUID에서 crypto.getRandomValues로 만든 32바이트·64자 16진수 값으로 변경했습니다.
  • 데모 dApp은 명시적으로 전달한 userHash를 우선 사용하고, 없으면 getOrCreateUserHash()를 사용하도록 변경했습니다.

참고

  • 저장된 기존 id는 유지됨 — localStorage 키(scc.uh.v1)를 그대로 사용하므로 이전 버전이 저장한 UUID는 계속 재사용되며, 콘솔 수집 검증은 64자 hex와 36자 UUID를 모두 허용함(이력 단절 없음)
  • userHash는 설치 단위 식별자이므로 같은 사람이 여러 기기·브라우저를 쓰면 서로 다른 id로 집계됨(기기 간 동일 인물 매칭은 더 이상 불가)
  • dApp이 자체 사용자 식별자를 userHash로 넘기는 것은 계속 가능하나, 개인정보나 그 해시를 넣지 않습니다
  • 콘솔 지표(유니크/활성/신규), DB 스키마, 수집 API 동작은 변경 없음