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 동작은 변경 없음