Engineering

맥에서 쓰는 프라이빗 음성 받아쓰기: Loqua의 하이브리드 음성 입력 스택이 데이터를 사용자 편에 두는 방법

대부분의 음성 받아쓰기는 클라우드 경로에 의존해요. Loqua는 민감한 레이어를 로컬 퍼스트로 두고, 클라우드 기능은 선택적으로, 경계는 눈에 보이게 두는 하이브리드 아키텍처를 써요.

TL;DR

"개인정보 처리방침이 붙은 클라우드 전사"가 아닌 진짜 의미의 맥용 프라이빗 음성 받아쓰기를 찾고 있다면, 이 글이 그 아키텍처적 답이에요. Loqua는 설계상 하이브리드예요. 민감한 핵심 경로 — 음성 인식, 로컬 정리, 개체명 처리, 화면/컨텍스트 읽기 — 는 기본적으로 Apple Silicon 위에서 온디바이스로 동작하도록 설계됐어요. 우리가 이걸 맥에서의 보안 받아쓰기라고 부르는 이유는, 오디오와 화면 콘텐츠에 닿는 레이어가 로컬 퍼스트이기 때문이지, 마케팅 문구에 "프라이빗"이라고 적혀 있어서가 아니에요. 선택적 클라우드 처리는 더 긴 재작성이나 일부 번역 같은 기능을 위해 남겨두고, 비활성화할 수 있어요. 사용자의 받아쓰기 데이터로는 학습하지 않아요. 목표는 무엇이 로컬 음성 입력 모드 안에 머무르고, 무엇이 활성화될 경우 회선을 넘는지 그 경계를 눈에 보이게 두는 거예요.

Loqua는 맥을 위한 컨텍스트 인식 음성 입력 도구예요. 화면 컨텍스트를 활용할 수 있다는 점이 개인정보 이야기를 더 중요하게 만들어요. 코드, 메시지, 절반쯤 쓰다 만 이메일을 볼 수 있는 받아쓰기 제품이라면, 그 데이터를 둘러싼 아키텍처는 마케팅의 각주가 아니에요 — 그게 곧 제품이에요.

저는 Shuran이고, 작은 알고리즘 연구자 팀과 함께 이 스택을 만들었어요. 우리도 내부 Slack, 이메일, 코딩 프롬프트, 코드 리뷰에 Loqua를 써요. 우리가 두고 싶었던 기준은 단순해요. 민감한 경로를 기본적으로 로컬에 두고, 선택적인 클라우드 사용을 눈에 보이게 만들고, 사용자 받아쓰기 데이터로는 학습하지 않는다.

클라우드 기본의 트레이드오프

많은 현대 받아쓰기 제품은 클라우드 전사를 써요. 합리적인 엔지니어링 선택일 수 있어요. 큰 모델, 중앙집중식 업데이트, 크로스플랫폼 일관성, 엔터프라이즈 컨트롤, 문서화된 무데이터 보존 모드가 모두 그 아키텍처 안에 들어갈 수 있죠.

트레이드오프는 표면적이에요. 오디오나 컨텍스트가 회선을 넘는 순간, 마이크와 커서 사이에 서버 경로가 생겨요. 전송, 큐, 로그, 모델 제공자, 운영 메타데이터, 엔터프라이즈 정책. 좋은 벤더는 이 표면을 신중히 관리해요. 그래도 사용자는 그 경계가 어디인지 알아야 해요.

Loqua는 다른 기본값에서 출발해요. 오디오와 화면 컨텍스트에 닿는 레이어들은 우선 로컬에서 돌도록 설계돼 있어요. 선택적 클라우드 기능은 보이지 않는 배관이 아니라, 명시적인 기능 경계로 다뤄져요.

순수 온디바이스도 여전히 트레이드오프인 이유

순수 온디바이스 AI는 매력적이고, 일상적인 받아쓰기에는 옳은 기본값이에요. 하지만 절대적인 주장은 잘 부서져요. 매우 긴 재작성, 거리가 먼 언어 사이의 번역, 희귀 도메인 변환 같은 일부 롱테일 작업은 더 큰 클라우드 모델의 도움을 받을 수 있어요. 모델 업데이트, 크래시 리포트, 라이선스 체크, 기능 배포도 많은 제품에서 네트워크 접점을 만들어요.

그래서 우리는 슬로건 버전의 개인정보 이야기는 피해요. 유용한 답은 "클라우드는 나쁘다"나 "로컬은 마법이다"가 아니에요. 분명한 기본값, 명시적인 컨트롤, 그리고 클라우드 기능이 꺼져 있어도 계속 동작하는 제품을 가진 하이브리드 아키텍처예요.

Loqua에서 하이브리드가 의미하는 것

아키텍처를 솔직하게 말하면 이래요.

레이어기본 실행 위치이유
음성 인식 (Layer 1)온디바이스, Apple Neural Engine지연 예산, 오디오 민감도
언어 지능 — 군더더기 정리, NER, 기본 포맷팅 (Layer 2)온디바이스지연, 사용자 고유의 어휘
멀티모달 컨텍스트 — 화면 읽기 (Layer 3)온디바이스화면 콘텐츠가 기기를 벗어나지 않아야 함
클라우드 후처리 — opt-in일 때만Loqua 관리 클라우드, TLS 암호화롱폼 재작성, 일부 번역

세 개의 핵심 레이어 — 오디오와 화면 콘텐츠에 닿는 레이어들 — 는 기본적으로 온디바이스에서 동작하도록 설계돼 있어요. 핵심 받아쓰기 경험은 오프라인 모드에서도 그대로 쓸 수 있어요.

클라우드는 특정한 opt-in 경우를 위해 남겨둬요. 클라우드가 쓰일 때는 트래픽이 TLS로 암호화되고, 클라우드 처리는 무보존이며(요청을 처리한 뒤 폐기), 사용자는 설정에서 클라우드를 완전히 끌 수 있어요. 우리는 어느 시점에도 사용자 데이터로 학습하지 않아요 — 클라우드 트래픽으로도, 온디바이스 사용으로도요.

모든 경계, 눈에 보이게

원칙: 데이터의 일부가 경계를 넘는다면, 사용자는 EULA를 읽지 않고도 알 수 있어야 해요. 우리는 모든 경계를 이렇게 보이게 만들어요.

  • 메뉴바 인디케이터. Loqua가 녹음 중이면 메뉴바 아이콘이 빨갛게 변해요. 특정 발화에 클라우드가 쓰일 때는 인디케이터가 눈에 띄게 다르게 표시돼요(작은 클라우드 아이콘 오버레이). 무언가 기기를 벗어나는지를 실시간으로 볼 수 있어요.
  • 설정 → 개인정보 패널. 어떤 클라우드 호출이 활성화돼 있는지 정확히 보여주고, 각각을 토글할 수 있어요. 번역은 켜두고 롱폼 재작성은 끄거나, 그 반대도 가능해요.
  • 오디오 처리. 기본 핵심 받아쓰기 경로에서는 오디오가 클라우드로 전송되지 않아요. 선택적 클라우드 기능은 명시적이고, 비활성화할 수 있어요.
  • 화면 콘텐츠 처리. 멀티모달 컨텍스트 레이어가 읽은 화면 콘텐츠는 회선을 넘지 않아요. 클라우드 재작성을 켜더라도, 재작성되는 텍스트만 나가요 — 주변 화면은 나가지 않아요.
  • 로깅. 로컬 디버그 로그에는 받아쓴 내용이 들어가지 않아요. 클라우드 측 로그에는 오디오나 전사가 들어가지 않아요.

AED와 멀티모달 컨텍스트 처리도 같은 경계 안에서 로컬에 머물러요. 의미 있는 소리에서 다룬 프로토타입 작업은 비언어 오디오를 로컬에서, opt-in으로 다루는 신호로 취급해요. 화면을 보는 리스너 만들기에서 설명한 멀티모달 리스너는 일반적인 화면 로그를 만드는 게 아니라, 현재 발화를 위한 화면 컨텍스트만 사용해요.

낮은 지연에서의 알고리즘 트레이드오프

이 스택에서 가장 어려운 엔지니어링은 일반 소비자용 맥에서도 받아쓰기가 반응성을 유지하면서 핵심 레이어를 온디바이스에서 돌리는 일이에요. 세 가지가 이걸 가능하게 했어요.

  • Neural Engine을 위한 공격적인 연산자 선택. 모든 트랜스포머 연산자가 Apple Neural Engine에서 효율적으로 도는 건 아니에요. 우리는 빠른 경로 위에 머무는 레이어 타입, 어텐션 변형, 양자화 방식을 골라요. Apple Core ML 문서에 지원되는 연산자 집합이 정리돼 있고, 그 바깥으로 떨어지면 비용이 커요.
  • 스트리밍 우선 음성 인식. 전체 발화가 끝나기 전에 출력이 시작돼요. 비스트리밍 방식이 발화당 정확도를 높일 수는 있지만, 사용자 체감은 더 느려져요.
  • 병렬 파이프라인. 컨텍스트 레이어가 음성 인식과 병렬로 돌아요. 언어 레이어가 출력을 포맷팅할 준비가 됐을 때쯤이면, 도착지 컨텍스트는 이미 로컬에서 읽혀 있어요.

트레이드오프: 파라미터 예산이 빠듯해요. 각 로컬 레이어는 노트북 발열 제약이 없는 클라우드 모델보다 작아요. 이걸 작업별 학습 데이터, 신중한 파인튜닝, 그리고 좁은 맥 우선 범위로 보완해요. 현재 내부 벤치마크는 대략 200ms급 응답, 높은 기술 어휘 인식, 지원 조건에서 한 자릿수 초반의 WER을 목표로 해요. 공개 벤치마크 페이지가 생기기 전까지는 이걸 내부 목표로만 표현할게요.

우리가 보장하는 것

분명한 리스트예요.

  • 사용자 데이터로 학습하지 않음. 오디오로도, 전사로도, 클라우드에서 처리된 텍스트로도. 앞으로의 어떤 모델 버전에서도요.
  • opt-in하지 않으면 오디오는 업로드되지 않음. 기본값: 클라우드 오디오 없음. opt-in 클라우드 기능은 명시적이고, 기능별로 따로 켜요.
  • 클라우드에서 처리된 데이터는 무보존. 요청은 처리된 뒤 즉시 폐기돼요. "30일 소프트 삭제" 같은 게 없어요 — 삭제할 사본 자체가 없거든요.
  • 모든 클라우드 트래픽은 TLS. 기본기지만 완결성을 위해 명시해 둘게요.
  • 오프라인 모드. 설정의 토글 하나로 모든 클라우드 호출이 꺼져요. Loqua는 온디바이스 레이어만으로 계속 동작해요.
  • 브라우저 훅 없음. 앱 간 추적 없음. Loqua는 현재 받아쓰기를 위해 활성 앱의 컨텍스트만 읽어요. 받아쓰기와 받아쓰기 사이에는 멀티모달 컨텍스트 레이어가 쉬고 있어요.
  • 개인 사전은 로컬에 머무름. 커스텀 어휘는 로컬 파일에 들어 있어요. 어떤 클라우드와도 동기화되지 않고, 우리에게 보이지 않아요.

사용자가 가진 컨트롤

개인정보 보호는 사용자가 쉽게 찾을 수 있는 컨트롤이 있을 때만 의미가 있어요. 설정 → 개인정보 패널에서 다음을 할 수 있어요.

  • 선택적 클라우드 호출 비활성화
  • 롱폼 클라우드 재작성 켜기/끄기
  • 클라우드 번역 켜기/끄기
  • 특정 앱을 Loqua에서 완전히 제외
  • macOS 시스템 설정에서 마이크 권한 해제
  • macOS 시스템 설정에서 Accessibility 권한 해제

규제가 있거나 보안에 민감한 워크플로라면 풀 오프라인 모드를 쓰고, 본인의 컴플라이언스 검토를 진행해 주세요. 우리는 블로그 글을 법률이나 HIPAA 컴플라이언스 자문으로 내세우지 않아요. 제품의 경계는 기술적이고, 공식 컴플라이언스 요구사항은 적절한 정책 채널을 통해 평가되어야 해요.

더 읽을거리

여기서 다루지 않은 음성 입력 개인정보나 보안 요구사항이 있다면, 메일을 보내주세요. 우리는 작은 팀이고, 일반적인 정책 문서로 추측하게 두는 것보다 직접 답하는 게 좋아요. Loqua가 클라우드 기능 제품이기 전에 맥용 프라이빗 음성 받아쓰기 제품으로 먼저 만들어진 이유의 짧은 버전이에요.

자주 묻는 질문

오디오가 클라우드로 전송되는 경우도 있나요?
기본적으로는 아니에요. 음성 인식은 Apple Silicon에서 온디바이스로 동작해요. 오디오가 필요한 클라우드 기능을 명시적으로 켰을 때에만 클라우드로 전송돼요(현재로는 일부 롱폼 재작성과 일부 번역 페어). 설정 → 개인정보에서 모든 클라우드 호출을 비활성화할 수 있어요.
Loqua는 제 받아쓰기나 오디오로 학습하나요?
아니에요. 오디오로도, 전사로도, 클라우드에서 처리된 텍스트로도 학습하지 않아요. 앞으로의 어떤 모델 버전에서도요. 우리는 사용자 콘텐츠가 포함되지 않은 신중하게 큐레이션된 학습 데이터셋만 사용해요.
Loqua를 완전히 오프라인으로 돌릴 수 있나요?
네. 설정 → 개인정보에서 모든 클라우드 호출을 꺼주세요. 핵심 받아쓰기 경험 — 음성 인식, 멀티모달 컨텍스트, NER, 앱 인식 포맷팅 — 은 전부 온디바이스로 동작해요. 선택적 클라우드 기능(롱폼 재작성, 일부 번역)은 못 쓰게 되지만, 네트워크 표면이 없는 스택을 얻게 돼요.
어떤 게 로깅되나요?
로컬 디버그 로그에는 진단 정보(모델 로드 시간, 지연 측정, 에러 트레이스)가 들어가지만, 사용자가 받아쓴 내용은 포함되지 않아요. 클라우드 측 로그에는 오디오나 전사가 들어가지 않고, 서비스 안정성을 위한 불투명한 요청 메타데이터만 들어가요.
GDPR / CCPA는 어떻게 되나요?
준수하도록 설계돼 있어요. 대부분의 처리가 온디바이스이고 클라우드 처리는 무보존이라, 일반적으로 접근이나 삭제 요청의 대상이 될 개인정보가 없어요. 본인 지역에 해당하는 구체적인 사항은 개인정보 처리방침을 보거나 메일로 문의해 주세요.
HIPAA처럼 규제가 있는 워크플로에서 Loqua를 쓸 수 있나요?
이 블로그 글을 법률이나 HIPAA 컴플라이언스 자문으로 받아들이지는 말아 주세요. 민감한 워크플로에서는 Loqua의 선택적 클라우드 기능을 끄고 사용할 수 있지만, 규제 환경 배포는 본인 컴플라이언스 프로세스와 필요한 계약을 통해 검토되어야 해요.

지금 Loqua를 사용해 보세요

무료로 시작할 수 있어요. 맥 네이티브. 매일 직접 쓰는 알고리즘 연구자들이 만들었어요.

맥용 다운로드

Loqua 블로그 더 보기

how-to
맥에서 코드 받아쓰는 방법: Cursor, VS Code, Claude Code를 위한 완전 가이드
비교
Loqua vs Wispr Flow: 컨텍스트·코딩·개인정보를 위한 맥 퍼스트 Wispr Flow 대안
엔지니어링
멀티모달 음성 인식: 화면을 보는 리스너 만들기
엔지니어링
오디오 이벤트 감지 받아쓰기: 단어 너머의 의미 있는 소리들
생산성
보이스 생산성 스택: 우리가 실제로 쓰는 글쓰기·출시·사고 도구 9가지