Insight Retreat
AI 키보드 개인정보 보호, 플랫폼이 실제로 막는 것과 못 막는 것
AI·테크

AI 키보드 개인정보 보호, 플랫폼이 실제로 막는 것과 못 막는 것

iOS 보안 입력 필드와 Android IME 플래그, Gboard 연합학습의 공식 문서를 대조해 AI 키보드가 실제로 볼 수 있는 데이터와 사용자가 직접 차단해야 할 범위를 정리합니다.

Insight Retreat·
#AI키보드#온디바이스AI#개인정보보호#모바일보안#연합학습

은행 앱 비밀번호 입력창에 뜬 키보드가 그 글자를 읽을 수 있는지는 키보드 앱의 양심이 아니라 운영체제가 정한다. iOS는 secure text view와 잠금 화면 암호 입력에서 커스텀 키보드를 아예 호출하지 않고, Android는 키보드 앱에 개인화 학습을 하지 말라고 요청만 한다. 같은 'AI 키보드'라도 플랫폼에 따라 보장의 강도가 다르다.

그래서 "온디바이스 AI라서 안전하다"는 문장만으로는 부족하다. 연산 위치와 전송은 별개이고, 사용자가 끄는 스위치는 플랫폼마다 다른 것을 가리킨다. Apple Platform Security, Android API 레퍼런스, Gboard 고객센터에 적힌 동작만 근거로, 강제되는 보호와 판단할 구간을 나눈다.

iOS: 커스텀 키보드가 호출조차 되지 않는 구간

Apple의 플랫폼 보안 문서는 커스텀 키보드의 범위를 분명히 적는다. 키보드 확장은 '잠금 화면 암호 입력과 모든 secure text view를 제외한' 필드에서만 쓰인다. 비밀번호 입력창에서는 서드파티 키보드 대신 시스템 키보드가 뜬다. 추론 기능이 정교해도 그 필드에서는 입력을 볼 기회가 없다. 같은 문서는 앱 개발자가 자기 앱에서 서드파티 키보드 확장을 막을 수 있다고 설명한다. 금융 앱이 특정 화면에서 외부 키보드를 배제하는 근거다.

'전체 접근 허용'이 실제로 여는 것

커스텀 키보드는 기본적으로 네트워크 접근, 대리 통신 서비스, 타이핑 데이터 유출 API가 차단된 샌드박스에서 실행된다. 개발자가 Open Access를 요청하고 사용자가 동의해야 네트워크를 쓸 수 있다. iOS 설정의 '전체 접근 허용'이 그 동의 절차다.

이 스위치는 테마용 편의 옵션이 아니다. 키 입력이 기기 밖으로 나갈 통로를 여는 결정이다. 클라우드 번역이나 서버 자동완성을 쓰지 않는다면 꺼 두는 편이 합리적이다. 대신 네트워크를 쓰는 기능도 함께 멈춘다.

Android: IME 플래그는 보장이 아니라 요청이다

Android에서 키보드는 앱과 텍스트를 주고받는 입력 경로, 즉 IME다. 앱은 EditorInfo에 필드 성격을 적어 보내고, IME는 그 힌트를 참고해 교정·추천·학습을 조절한다.

비밀번호 필드는 InputType 변주로 표시된다. 일반은 TYPE_TEXT_VARIATION_PASSWORD, 웹 폼은 TYPE_TEXT_VARIATION_WEB_PASSWORD, 숫자는 TYPE_NUMBER_VARIATION_PASSWORD다. 추천을 원하지 않는 필드에는 TYPE_TEXT_FLAG_NO_SUGGESTIONS를 붙인다.

핵심은 그다음이다. IME_FLAG_NO_PERSONALIZED_LEARNING은 '이 필드의 입력으로 개인화 데이터를 갱신하지 말라'는 요청이다. Android 문서는 이 플래그가 보장이 아니며 일부 IME는 무시할 수 있다고 명시한다. 앱이 플래그를 세팅해도 키보드가 무시하면 학습은 일어난다. iOS처럼 시스템이 키보드를 갈아 끼우는 장치가 없다.

그래서 Android에서 키보드 선택은 보안 결정에 가깝다. 교체 시 뜨는 경고 문구가 과장이 아닌 이유다.

설치 전에 확인할 두 가지

Google Play 데이터 보안 섹션과 개인정보처리방침에서 수집·공유 항목을 확인하고, 어떤 기능이 네트워크를 쓰는지 본다. 음성 입력, 클라우드 번역, 테마 스토어가 있으면 권한도 따라온다. 네트워크를 전혀 쓰지 않는 키보드라면 전송 통로 자체가 없다.

Gboard 연합학습에서 실제로 오가는 데이터

Google은 Gboard 연합학습의 동작을 고객센터 문서에 적어 두었다. 연합학습은 '말하거나 입력한 텍스트를 Google로 보내지 않고' 기기에서 학습한 결과만 보낸다. 그 결과는 다른 사용자의 것과 합쳐져 모델 개선에 쓰인다. 충전 중이고 Wi-Fi에 연결되어 있고 기기를 쓰지 않는 동안에만 동작한다.

연합학습과 음성 스니펫 기부는 별개다. 기부에 동의하면 최대 15초(무음·인식 불가 구간이 있으면 25초)의 오디오가 전송·보관되고 18개월을 넘기지 않고 폐기된다. 문서는 사람 검토자가 일부 스니펫을 듣거나 받아쓸 수 있다고도 밝힌다. 연합학습을 껐다고 음성 기부까지 꺼지지는 않는다.

설정에서 실제로 끄는 경로

Gboard 문서가 안내하는 순서는 설정 → 시스템 → 언어 및 입력 → 화면 키보드 → Gboard → 개인정보 보호다. 이 화면에서 'Personalize for you'(기기 안 학습), 'Improve for everyone'(모두를 위한 개선), 'Delete learned words and data'(학습 데이터 삭제)를 각각 선택한다. 음성 기부는 같은 화면의 Voice에서 'Audio donations'를 끈다.

연합학습은 기본 켜짐이다. 하나를 끄고 "이제 다 껐다"고 생각하기 쉬운 구조라서 세 항목을 각각 확인해야 한다. 제조사나 OS 버전에 따라 메뉴 이름이 다르므로, 경로가 보이지 않으면 'Gboard'와 '개인정보 보호'를 기준으로 찾는다.

흔한 오해와 실제

흔한 주장실제 동작근거
온디바이스 AI 키보드는 원문을 절대 보내지 않는다연산 위치와 전송은 별개. 클라우드 번역·음성 입력은 서버를 쓴다플랫폼 문서·앱 정책
비밀번호 필드에서는 모든 키보드가 잠긴다iOS는 키보드를 배제하고, Android는 IME 재량이다Apple Platform Security, EditorInfo
전체 접근 허용을 켜도 온디바이스면 안전하다네트워크와 키 입력 전송 경로를 여는 동의다Apple Platform Security
연합학습을 끄면 전송이 모두 멈춘다사용 통계, 음성 기부, 서버 번역은 별도다Gboard 고객센터
키보드 앱의 네트워크 권한만 끄면 된다iOS에는 앱별 네트워크 차단 화면이 없다iOS 설정 구조

플랫폼별 보호 범위 비교

항목iOS 커스텀 키보드Android IMEGboard 연합학습
보안 입력 필드시스템이 키보드 자체를 배제앱이 요청하고 IME가 결정해당 없음
기본 네트워크차단, 전체 접근 시 개방앱 권한에 따름충전·Wi-Fi·미사용 중
사용자가 끄는 스위치전체 접근 허용키보드 선택·앱 권한개인정보 보호 항목
원문 전송전체 접근 시 가능IME 구현에 따름전송하지 않는다고 안내
보장 강도운영체제 강제요청과 신뢰정책과 설계

표의 '보장 강도'는 기능 우열이 아니라 사용자가 기대어도 되는 정도다. iOS는 시스템이 막는 구간이 넓고, Android는 키보드를 고르는 순간 신뢰를 위임하는 구조다. Gboard 연합학습은 검증을 Google 설명에 의존한다.

지금 설정에서 확인할 5단계

  • iOS라면 설정 → 일반 → 키보드 → 키보드에서 '전체 접근 허용' 상태를 확인한다. 클라우드 기능을 쓰지 않는다면 꺼 둔다.
  • Android라면 설정 → 시스템 → 언어 및 입력 → 화면 키보드에서 현재 IME를 확인하고, 쓰지 않는 키보드는 지운다.
  • Gboard 개인정보 보호 화면에서 세 가지 학습·기부 항목을 각각 확인한다.
  • 금융·인증 앱의 비밀번호 입력창에서 추천 단어가 뜨는지 본다. 보이면 secure로 선언되지 않았을 가능성이 크다.
  • 키보드 앱의 데이터 보안 신고와 개인정보처리방침에서 수집 항목, 보유 기간, 제3자 공유를 확인한다.

네 번째는 문서 내용을 뒤집은 진단법이다. iOS에서 secure text view라면 커스텀 키보드가 호출되지 않으므로, 추천 단어가 보인다는 것은 그 필드가 secure가 아니라는 신호다. 은행 앱이라도 웹뷰나 자체 UI로 그린 입력창은 이 보호를 받지 못할 수 있다.

온디바이스 보호만으로 부족한 이유

첫째, 온디바이스와 클라우드는 한 앱 안에서 섞인다. 자동 교정은 기기에서 돌아가도 음성 입력·번역·검색은 서버를 거치는 경우가 많다. '온디바이스 AI'라는 표기가 앱 전체의 데이터 흐름을 설명하지는 않는다.

둘째, 웹뷰와 커스텀 입력 UI는 사각지대다. iOS의 배제는 secure text view에만 적용되고, Android의 플래그는 앱이 제대로 선언해야 의미가 있다. 앱이 비밀번호 필드를 평범한 텍스트 필드로 만들면 키보드는 일반 입력으로 취급한다.

셋째, 학습 데이터는 기기에 남는다. 'Personalize for you'는 음성·타이핑 기록을 기기 안에 저장하므로, 기기를 넘기거나 백업할 때를 함께 생각해야 한다. 기본값과 메뉴 이름은 OS 업데이트마다 바뀔 수 있으니, 큰 업데이트 뒤에는 같은 화면을 다시 확인한다.

자주 묻는 질문

Q1. 전체 접근 허용을 켜면 키보드가 비밀번호를 볼 수 있나?

iOS에서는 볼 수 없다. 전체 접근 허용은 네트워크와 전송 경로를 여는 동의이지 secure text view 접근 권한이 아니다. 다만 secure로 선언되지 않은 필드는 전체 접근과 무관하게 키보드가 입력을 받는다. 앱이 필드를 어떻게 선언했는지가 먼저다.

Q2. 비행기 모드로 두면 유출을 막을 수 있나?

즉시 전송은 막을 수 있지만 완전한 차단은 아니다. 앱은 입력을 기기에 저장해 두었다가 연결이 복구되면 보낼 수 있다. 네트워크 차단은 지금 나가는 것만 막는다. 나중에 나갈 것까지 막으려면 앱이 무엇을 저장하는지 봐야 한다.

Q3. 연합학습을 끄면 맞춤 추천도 사라지나?

항상 그렇지는 않다. 연합학습은 모두를 위한 모델 개선 경로이고, 기기 안에서의 개인화는 별도 설정이다. 추천을 완전히 끄려면 개인화 항목과 학습 데이터 삭제를 함께 확인해야 한다.


참고 문헌 및 공식 자료


관련 글

글쓴이 Insight Retreat

IT 업계에서 개발·PM·컨설팅 역할을 했고, 은퇴 후 현재는 헤드헌터로 일하고 있습니다. 사주명리와 심리학은 오래 관심을 두고 공부해 온 분야입니다.

IT 현장 경험과 AI 개발 도구를 직접 써 보며 정리한 글입니다.

※ 코드와 설정은 작성 시점 기준이며 환경에 따라 다를 수 있으니 테스트 환경에서 먼저 확인한 뒤 적용하세요. 운영자 소개와 글 작성 방식