2026년 Microsoft Clarity 세션 녹화 쿠키 동의 통합 가이드
Microsoft Clarity는 2020년에 세션 녹화, 히트맵, 인터랙션 분석에서 Hotjar와 Smartlook의 무료 무쿼터 대안으로 출시되었습니다. 5년 후 현재, 중소기업 웹사이트에서 세계적으로 상당한 점유율을 차지하고 있습니다. 이는 부분적으로 실제로 유용하기 때문이고, 부분적으로는 대부분의 운영자가 별다른 고민 없이 붙여넣는 단 한 줄의 JavaScript로 설치할 수 있기 때문입니다. 개인정보 보호 관점에서 바로 이 설치의 용이성이 문제입니다. Clarity는 마우스 움직임, 스크롤 행동, 클릭, 키 입력, 폼 인터랙션, 페이지 전체 DOM 스냅샷을 기록합니다 — 일반적으로 사용되는 분석 도구 중 가장 밀도 높은 행동 데이터 페이로드 — 스크립트가 로드되는 순간 모든 것을 Microsoft 서버로 전송합니다. EU, UK, EEA, 브라질 또는 캘리포니아 트래픽에 관여하는 모든 배포의 경우 기본 설치는 규정을 준수하지 않으며, 세션 녹화 집행에서 가장 활발한 규제 기관인 CNIL, 이탈리아 Garante, UK ICO는 도구의 가격 수준이나 벤더에 관계없이 분석이 적용된다고 명확히 밝혔습니다. 이 가이드는 Clarity가 무엇을 기록하는지, 동의 경계가 어떻게 작동하는지, 감사를 통과하는 통합 패턴을 설명합니다.
Clarity가 실제로 기록하는 것
Clarity SDK(www.clarity.ms/tag/{project_id}에서 로드)는 전역 clarity 객체를 초기화하고 _clck라는 Microsoft 소유 쿠키와 세션 쿠키 _clsk로 방문자를 식별합니다. 그 순간부터 스크립트는 밀도 높은 행동 스트림을 수집합니다:
- 마우스 및 터치 입력 — 모든 움직임, 클릭, 탭, 스크롤, 제스처가 타임스탬프와 좌표와 함께 기록됩니다.
- 폼 인터랙션 — 모든 폼 필드의 포커스, 블러, 입력 이벤트, 마스킹이 설정되지 않은 경우 비민감 필드의 텍스트도 포함됩니다.
- DOM 스냅샷 — 세션 리플레이가 언제든지 정확한 시각적 상태를 재현할 수 있도록 페이지 DOM의 주기적 전체 스냅샷.
- 커스텀 이벤트 — 애플리케이션이 clarity("event", "name") 호출을 통해 명시적으로 발생시키는 이벤트.
- 성능 및 오류 데이터 — JavaScript 오류, 네트워크 장애, 코어 웹 바이탈 타이밍.
- 식별자 데이터 — Clarity 소유 쿠키, IP 기반 지리 위치, 사용자 에이전트 핑거프린팅.
이 조합 — 특히 DOM 스냅샷과 폼 필드 캡처 — 은 Clarity를 방문자 세션의 비디오 녹화와 기능적으로 동등하게 만듭니다. GDPR에 따른 규제 분류는 명확합니다: 이는 개인 데이터 처리이며, 쿠키는 비필수적이고, 데이터는 Microsoft의 미국 인프라로 국경을 넘어 전송되며, 필요한 법적 근거는 동의입니다. 세션 녹화에 관한 CNIL의 2024년 가이던스는 이 점에서 명확하며 Clarity 카테고리의 도구를 명시적으로 언급합니다.
민감한 데이터 위험
세션 녹화 도구에는 다른 분석 도구에는 없는 특정 개인정보 보호 위험이 있습니다: 실수로 민감한 개인 데이터를 캡처할 수 있습니다. 신용카드 번호, 건강 상태, 종교적 소속, 국가 식별자를 폼 필드에 입력하는 사용자는 해당 필드가 명시적으로 마스킹되지 않으면 Clarity에 의해 기록됩니다. GDPR 하에서 이는 Article 9의 민감한 개인 데이터 처리로, 명시적인 옵트인 동의가 필요하며 일반적인 마케팅 동의 결정으로는 거의 다루어지지 않습니다.
Clarity는 특정 필드를 녹화에서 숨기는 콘텐츠 마스킹 구성을 지원하지만, 기본 동작은 모든 것을 캡처합니다. 감사에 방어적인 접근 방식은 적극적으로 마스킹하는 것입니다 — 반증될 때까지 모든 폼 필드를 민감한 것으로 가정하고 마스킹 결정을 명시적으로 문서화합니다.
Clarity의 네이티브 개인정보 제어
Microsoft는 지난 2년 동안 Clarity의 개인정보 보호 제어에 투자해왔습니다. 플랫폼은 이제 CMP 통합이 활용할 수 있는 여러 프리미티브를 노출합니다.
마스크 속성
DOM 요소에 data-clarity-mask="true"를 추가하면 세션 녹화에서 해당 콘텐츠가 숨겨집니다. 자식 요소에 data-clarity-unmask="true"를 추가하면 해당 하위 트리의 마스크가 재정의됩니다. 개인 데이터를 포함할 수 있는 폼 필드의 올바른 기본값은 마스킹하고, 안전한 곳에서 명시적으로 마스크를 해제하는 것입니다.
동의 API
Clarity는 clarity("consent") 호출을 노출하며, 이를 호출하면 동의가 부여되었고 SDK가 진행해야 함을 신호합니다. 이 호출 없이 SDK는 초기 로드 후 중지하도록 구성할 수 있습니다. 이는 활성화 측의 CMP 통합에 적합한 프리미티브입니다.
IP 마스킹 및 식별자 처리
Clarity 프로젝트 설정은 IP 절삭 및 식별자 마스킹 옵션을 노출합니다. 이를 활성화하는 것은 CMP 게이팅 위에 심층 방어 조치입니다; 동의를 대체하지 않습니다.
민감한 콘텐츠 자동 마스킹
최근 Clarity 릴리스는 민감한 필드(신용카드 패턴, 비밀번호 필드, "ssn" 또는 유사하게 명명된 필드)를 자동 감지하고 기본적으로 마스킹하려고 시도합니다. 감지는 휴리스틱하고 불완전합니다; 유일한 방어선으로 신뢰하지 마십시오.
CMP 통합 단계별 가이드
신뢰할 수 있는 아키텍처는 동의가 부여될 때까지 Clarity SDK를 완전히 지연시킨 다음 동의 API를 통해 명시적으로 활성화하는 것입니다.
1. 문서 헤드에서 기본 태그 제거
Clarity 설치 스니펫은 페이지 로드 시 SDK를 초기화하는 단일 인라인 스크립트입니다. type이 text/plain이고 data-category가 CMP가 세션 녹화 도구를 분류하는 방식에 따라 analytics 또는 marketing인 플레이스홀더 스크립트 요소로 교체하십시오.
2. 카테고리 매핑 결정
세션 녹화는 논쟁의 여지가 있는 카테고리입니다. CNIL은 데이터가 내부 UX 조사에 사용될 때는 분석으로, 데이터가 개인화 결정이나 외부 공유를 촉진할 때는 마케팅으로 다양하게 취급했습니다. 보수적인 매핑은 마케팅입니다; 감사에 방어적인 입장은 녹화가 실제로 어떻게 사용되는지 구체적으로 명시해야 합니다.
3. 활성화 전 적극적인 마스킹 구성
모든 폼 요소, 모든 입력 필드, 개인 데이터를 보유할 수 있는 모든 컨테이너에 data-clarity-mask="true"를 추가하십시오. 기본 정책은 안전한 것으로 알려진 요소(페이지 제목, 내비게이션 레이블, 공개 콘텐츠 블록)에 대한 명시적 마스크 해제 예외와 함께 기본 마스킹입니다.
4. 동의 콜백에서 Clarity 활성화
CMP가 관련 카테고리 승인 이벤트를 발생시키면, 플레이스홀더 스크립트 태그를 다시 작성하고 SDK가 진행할 수 있도록 clarity("consent")를 호출하십시오. 동의 전 기간에 버퍼링된 대기 이벤트는 그 후 플러시됩니다.
5. 취소를 명시적으로 처리
사용자가 동의를 취소하면, Clarity SDK에는 활성화 API와 동등한 깔끔한 녹화 중지 호출이 없습니다. 실용적인 패턴은 SDK 버전에서 지원되는 경우 clarity("consent", false)를 호출하고, 클라이언트 측에서 Clarity 쿠키를 추가로 지우는 것입니다. 과거 녹화의 완전한 삭제를 위해 Clarity 관리 UI의 데이터 삭제 워크플로 또는 삭제 API를 사용하십시오.
일반적인 함정
네 가지 통합 실수가 Clarity 배포의 감사 결과 대부분을 차지합니다.
방문자가 무엇을 하는지 확인하기 위해 Clarity 설치
가장 일반적인 패턴: 제품 관리자가 UX 문제를 조사하기 위해 Clarity를 설치하고, 동의 게이팅을 활성화하지 않으며, 마스킹을 구성하지 않고 스크립트를 잊어버립니다. 녹화 표면이 계속 누적됩니다. 해결책은 Clarity를 완전히 제거하거나 다른 모든 트래커와 동일한 동의 아키텍처 하에 두는 것입니다.
자동 마스킹 신뢰
Clarity의 휴리스틱 민감한 필드 감지는 명백한 경우를 포착하지만 도메인 특정 사례를 놓칩니다 — 의료 사이트의 증상 텍스트 영역, 특이한 이름의 금융 사이트 계좌 번호 필드. 명시적으로 마스킹하십시오; 감지에 의존하지 마십시오.
세션 녹화를 분석으로 취급
CNIL은 세션 녹화 카테고리가 동의 관점에서 퍼스트파티 분석보다 마케팅에 더 가깝다고 명확히 밝혔습니다. Clarity를 분석 전용 동의 하에 두는 것은 녹화가 내부 UX 조사에만 사용되고 조직 외부에 공유되지 않을 때만 방어 가능합니다.
커스텀 이벤트 페이로드 잊기
clarity("event", "name", customProperties)를 호출하는 애플리케이션 코드는 customProperties 페이로드를 통해 개인 데이터를 Clarity 스트림으로 유출할 수 있습니다. 모든 호출 사이트를 감사하고 이벤트 속성에 사용자 식별자, 이메일 주소 또는 개인 데이터를 전달하지 마십시오.
감사 체크리스트
EU, UK, 브라질 또는 캘리포니아 트래픽에 관여하는 Clarity 배포에 답해야 할 여섯 가지 구체적인 질문입니다.
- Clarity가 동의를 기다립니까? 개인 창에서 페이지를 열고 배너가 승인되기 전에 clarity.ms 요청이 발생하지 않는지 확인하십시오.
- 마스킹이 적극적입니까? 모든 폼 필드와 잠재적으로 개인적인 콘텐츠가 있는 모든 컨테이너에 data-clarity-mask가 적용되어 있는지 확인하십시오.
- 카테고리 매핑이 문서화되어 있습니까? Clarity가 분석 또는 마케팅 하에 게이팅되어 있는지, 이유와 함께 서면 기록이 있는지 확인하십시오.
- 동의 API가 연결되어 있습니까? CMP 콜백이 부여 시 clarity("consent")를 호출하고 취소 시 동등한 것을 호출하는지 확인하십시오.
- 커스텀 이벤트가 감사되었습니까? clarity("event", ...) 호출이 속성 페이로드에 식별 또는 민감한 데이터를 전달하지 않는지 확인하십시오.
- 삭제가 자동화되어 있습니까? DSAR 요청이 수동 지원 티켓이 아닌 Clarity의 삭제 워크플로를 트리거하는지 확인하십시오.
동의 우선 스택에서 Clarity의 위치
세션 녹화는 일반적인 배포에서 가장 높은 정보 밀도를 가진 행동 추적 표면이며, Clarity는 그것을 가장 적극적으로 민주화한 도구입니다. 무료 가격 수준과 마찰 없는 설치는 UX 행동에 대한 가시성을 원하는 모든 팀에게 최소한의 저항 경로가 됩니다. 바로 그 마찰 없는 설치가 2026년 감사에서 Clarity를 가장 일반적으로 잘못 구성된 분석 도구로 만드는 것입니다. 올바른 아키텍처는 Clarity를 다른 모든 식별 트래커처럼 취급합니다: 명시적 동의 뒤에 게이팅하고, 기본적으로 폼 필드를 적극적으로 마스킹하며, 카테고리 매핑을 문서화하고, CMP가 기록한 것을 SDK 자체 프리미티브가 적용하도록 동의 API를 연결합니다. 올바르게 수행되면 도구 구매의 이유가 된 UX 조사 가치가 보존되면서 규제 노출은 기본 설치가 수반하는 것의 일부로 줄어듭니다.