← Docs hub

Speaker Identity Privacy And Safety

화자 인식은 개인 식별 가능성이 있는 기능이다. 따라서 기술적으로 가능하다는 이유만으로 음성 원본, 임베딩, 대화 기록, 개인화 profile을 무제한 저장하거나 Cloud로 전송하면 안 된다.

Privacy And Safety Overview

1. 데이터 분류

Data Classification

데이터 민감도 저장 위치 권장 Cloud 전송
일반 실행 중 raw audio/WAV/PCM 높음 기본 저장 금지 금지
보이스 프로필 등록용 5개 임시 WAV 높음 OnDevice session temp 금지
accepted source sample 높음 필요성이 승인된 경우에만 온디바이스 암호화 보관 금지
Reference Embedding 높음 OnDevice + Cloud Registry 암호화 등록 동기화에 한해 허용
Query Embedding 높음 기본 비저장 PPT runtime 요청 호환에 한해 전송 가능, Cloud 조회·매칭·저장 금지
Voice ID 중간 온디바이스 원본, Cloud mapping key 가능
display name 중간 Cloud 사용자 정보, 기기 표시 cache metadata bind 시 가능
speaker confidence/state 낮음~중간 로그 가능 가능
대화 기록 중간~높음 speaker scope + retention 요약/후보만
profile candidate 중간 동의/삭제 정책 필요 제한 가능
person_id / identity link 중간~높음 계정/제품 identity 저장소 가능하나 최소화
vital_face_id 높음 바이탈 사인 저장소 직접 노출 금지, scope token 권장
vital history 높음 바이탈 사인 저장소 요약/추세만 제한 가능
external account scope 높음 계정 연동 저장소 scope 요약만 가능

2. 삭제와 동의

Delete And Consent Flow

필수 정책:

2.1 Cloud에는 원음이 아닌 등록 Reference Embedding을 동기화

최신 제품 기준에서는 등록 원음을 Cloud로 보내지 않는다. OnDevice가 Reference Embedding과 Voice ID를 만든 뒤 다음 데이터를 Cloud Voice Sync Registry에 동기화한다.

  1. requestId, profileBindingToken, voiceId, deviceId
  2. nickname, locale, 개인화 설정
  3. Reference Embedding과 model/profile version, sync 상태

Cloud에는 WAV, PCM, 로컬 파일 경로를 보내지 않는다. sync가 실패하면 동일 Voice ID와 Reference Embedding payload를 idempotent하게 재시도한다. Figma의 업로드 오류는 원음 업로드 오류가 아니라 Voice Sync Registry 동기화 오류를 뜻한다.

Runtime Query Embedding은 별도 데이터다. PPT 3페이지의 Lookup API 입력에는 포함되어 있지만 조회 키는 Voice ID뿐이며 Cloud 화자 인식에는 사용하지 않는다. 서버는 이를 로그·DB·캐시에 저장하지 않아야 한다. 계약 정리 시 필드를 제거할 수 있다면 제거하는 편이 데이터 최소화 원칙에 더 맞다.

제품 등록 경로의 상세 계약은 보이스 프로필 등록 제품 구현 기준서를 따른다.

3. 안전 실행 정책

side-effect 기능은 speaker confidence에 따라 실행 정책을 달리해야 한다.

기능군 identified unknown/ambiguous multi/overlap
일반 대화 허용 허용 재시도 권장
제품 설명 허용 허용 재시도 권장
청정/이동 허용 확인 질문 차단
보안/잠금/프라이버시 권한 확인 차단 차단
개인 기록 조회 본인만 차단 차단
바이탈 이력 요약 linked/verified + 동의 + 단일 화자 차단 또는 앱 확인 차단
외부 계정 일정 verified + provider scope 차단 차단

4. 로그 정책

로그에 남길 수 있는 것:

로그에 남기면 안 되는 것:

5. 리스크와 대응

Risk Control Matrix

리스크 예시 대응
오인식 개인화 다른 사람의 선호 공간 적용 confidence/margin gate
기록 노출 unknown speaker가 “내 기록 보여줘” speaker owner 확인
권한 오남용 guest가 보안 해제 요청 authority_level gate
다화자 오작동 주변 대화가 명령처럼 인식 overlap/multi speaker block
데이터 과수집 temporary raw audio 방치 또는 runtime embedding 저장 local commit 직후 삭제, Query Embedding 비저장, Reference Embedding 목적 제한
건강 정보 노출 다른 화자의 바이탈 이력 발화 person_id/consent/single speaker gate
외부 계정 오용 Google 일정이 잘못된 화자에게 노출 provider scope + verified identity gate
identity 오결합 Voice ID를 잘못된 Face ID/Account에 연결 앱 확인, suggested 상태, revoke flow
latency 회귀 화자인식 0.5초 지연이 모든 기능에 누적 민감 기능만 blocking, timeout fallback

Voice ID, Vital Face ID, 컨트롤 앱 계정, Google 계정은 모두 다른 trust level을 가진다. 따라서 아래 원칙을 둔다.

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date