프라이버시 컨트롤¶
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가 일시정지 진입할 때 순서대로 일어나는 일:
- 스트리밍 레코더 서브프로세스가 즉시 kill됨. 진행 중이던 chunk는 버려짐.
- Purge cascade 실행 — 마지막 몇 초의 timestamped 산출물에 대해 inclusive cutoff 적용:
- 현재 chunk의 MCAP과
.log파일 삭제. - lookback 윈도우 안의 pruner 키프레임 삭제.
- 윈도우 안 timestamp의 디지스트 행 DB에서 제거 +
digest.md를 가장 최신의 살아남은 행에서 다시 작성. - 모든 화면에 빨간 테두리 오버레이 표시.
Lookback 윈도우 기본값은 5초 — 트리거 ~5초 이전에 캡처된 바이트는 살아남을 수 있습니다. 필요하면 Preferences → Privacy → "Purge lookback"에서 늘릴 수 있습니다.
일시정지 해제 시¶
모든 일시정지 사유가 사라지면:
- 빨간 테두리 오버레이 숨김.
- 새 스트리밍 레코더 세션이 spawn됨.
- 녹화가 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, 강화된 키체인) 사용.
알려진 한계¶
일부 케이스는 현재 커버되지 않습니다. 트러블슈팅 전체 목록 참고.