콘텐츠로 이동

프라이버시 컨트롤

Cue는 작업 중 화면 콘텐츠를 캡처합니다. 프라이버시 일시정지가 주된 컨트롤입니다 — 일시정지가 켜지면 스트리밍 레코더가 멈추고, 최근 캡처 프레임이 정리되며, 빨간 테두리 오버레이가 Cue가 더 이상 보고 있지 않다는 것을 알려줍니다.

수동 일시정지

플랫폼 핫키 트레이 메뉴
macOS Cmd + Shift + Space 메뉴바 → "Privacy paused" 토글
Windows Win + Shift + Space 트레이 → "Privacy paused" 토글

핫키는 fire-and-forget — 요청만 큐에 넣어서 느린 IPC 호출에 막히지 않습니다. 상태 변화는 수백 ms 안에 반영됩니다.

수동 일시정지는 재시작 시 유지되지 않습니다. "지금 이 순간"의 컨트롤입니다. 자동 일시정지 사유는 매 실행 시 라이브 신호에서 다시 평가됩니다.

자동 일시정지

다음 신호 중 하나라도 발생하면 Cue는 자동으로 프라이버시 일시정지 상태가 됩니다:

사유 트리거
manual 사용자가 핫키나 트레이 체크박스를 토글.
secure_input OS가 보안 이벤트 입력이 켜졌다고 보고 (비밀번호 필드 또는 시스템 인증 다이얼로그가 포커스). macOS는 Carbon IsSecureEventInputEnabled latch + 포커스된 요소의 subrole에 대한 Accessibility 검사. Windows는 UIA IsPasswordPropertyId.
blocked_app 최상단 앱이 차단 목록에 있거나, 그 앱의 윈도우 타이틀이 설정된 정규식 패턴과 매치.
browser_url 최상단 브라우저의 활성 탭이 설정된 URL 정규식과 매치 (해당 브라우저가 authorized 상태일 때 — 아래 "브라우저 권한" 참고).
system_transition 시스템 슬립 또는 방금 깨어남. 잠금 화면 / 잠금 해제 윈도우의 짧은 블랙아웃을 커버.

사유는 결합됩니다 — 어떤 사유든 하나라도 활성이면 일시정지 상태가 유지됩니다.

일시정지 진입 시 일어나는 일

Cue가 일시정지 진입할 때 순서대로 일어나는 일:

  1. 스트리밍 레코더 서브프로세스가 즉시 kill됨. 진행 중이던 chunk는 버려짐.
  2. Purge cascade 실행 — 마지막 몇 초의 timestamped 산출물에 대해 inclusive cutoff 적용:
  3. 현재 chunk의 MCAP과 .log 파일 삭제.
  4. lookback 윈도우 안의 pruner 키프레임 삭제.
  5. 윈도우 안 timestamp의 디지스트 행 DB에서 제거 + digest.md를 가장 최신의 살아남은 행에서 다시 작성.
  6. 모든 화면에 빨간 테두리 오버레이 표시.

Lookback 윈도우 기본값은 5초 — 트리거 ~5초 이전에 캡처된 바이트는 살아남을 수 있습니다. 필요하면 Preferences → Privacy → "Purge lookback"에서 늘릴 수 있습니다.

일시정지 해제 시

모든 일시정지 사유가 사라지면:

  1. 빨간 테두리 오버레이 숨김.
  2. 새 스트리밍 레코더 세션이 spawn됨.
  3. 녹화가 catch up하기까지 약 1초의 짧은 갭 — 디지스트 타임라인에서 하나의 빠진 키프레임으로 보임.

빨간 테두리 오버레이

일시정지 상태에서 모든 연결된 디스플레이를 가는 펄스 빨간 테두리로 둘러쌉니다.

  • Click-through. 마우스 입력을 가로채지 않음.
  • 풀스크린 앱에서도 보임. 모든 Spaces에 join (macOS) 하거나 최상단 non-activating 윈도우로 등록 (Windows).
  • 선택사항. 시각적으로 noisy하면 Preferences → Privacy에서 비활성화. 일시정지는 오버레이 없이도 동작 — 시각 확인만 사라짐.

브라우저 권한 (macOS)

macOS는 Cue가 활성 브라우저 탭의 URL을 읽는 데 명시적 Automation 권한을 요구합니다. "모든 브라우저가 조용히 brick되는" 함정을 막기 위해 지원되는 각 브라우저는 세 상태 중 하나입니다:

  • authorized — 사용자가 macOS Automation 프롬프트를 승인. 이 브라우저에 대해 URL 기반 일시정지 활성.
  • denied — 사용자가 명시적으로 거부. 기본 fail-closed 설정 하에 이 브라우저를 최상단으로 가져오면 곧바로 일시정지 트리거 (Cue가 URL을 못 읽으니 안전 측으로 기울어짐).
  • unknown — 사용자가 아직 결정 안 함. 허용적 — 브라우저가 앞에 있다는 것만으로 Cue가 일시정지하지 않음. URL 필터도 적용 안 됨.

각 브라우저 상태는 Preferences → Privacy → Browsers에서 토글. "Ask now" 버튼은 OS Automation 권한을 다시 프롬프트.

일시정지가 하지 않는

프라이버시 일시정지는 화면 캡처와 디지스트 파이프라인을 멈춥니다. 하지 않는 것:

  • Cue를 종료. 메뉴바 아이콘은 남고, 핫키도 등록된 채.
  • API 키 / 설정 / 메모리 / 과거 디지스트 기록에 영향.
  • OS의 입력 로깅 자체를 멈춤. 일시정지는 애플리케이션 컨트롤 — 시스템 레벨 보장은 프라이버시 중심 OS 자세 (FileVault, 강화된 키체인) 사용.

알려진 한계

일부 케이스는 현재 커버되지 않습니다. 트러블슈팅 전체 목록 참고.