앱 개발

구글 플레이 연락처 권한 정책, 우리 앱도 해당될까

구글 플레이 연락처 권한 정책, 우리 앱도 해당될까

구글 플레이 연락처 권한 정책, 우리 앱도 해당될까

2027년 1월 27일부터 Android 17 이상을 타깃으로 하는 앱은 READ_CONTACTS를 쓰려면 Play Console 선언이 필요합니다. 해당 여부 확인법과 연락처 선택기 대안, 대응 순서를 정리했습니다.

2027년 1월 27일부터 Android 17 이상을 타깃으로 하는 앱은 READ_CONTACTS를 쓰려면 Play Console 선언이 필요합니다. 해당 여부 확인법과 연락처 선택기 대안, 대응 순서를 정리했습니다.

8분 소요

8분 소요

구글 플레이는 앱이 사용자의 연락처 전체를 읽는 READ_CONTACTS 권한을 제한하는 연락처 권한 정책을 2026년 4월에 발표했습니다. 2027년 1월 27일부터 Android 17(API 37) 이상을 타깃으로 하는 앱은, 시스템 연락처 선택기로 핵심 기능을 해결할 수 없는 경우에만 이 권한을 쓸 수 있고 Play Console에서 선언서를 내야 합니다. 친구 초대나 연락처 하나 고르기 정도라면 권한을 빼고 선택기로 바꾸는 쪽이 맞습니다. 이 글은 우리 앱이 해당되는지 가려내는 방법과 대응 순서를 정리한 것입니다.

구글 플레이 연락처 권한 정책, 우리 앱도 해당될까 대표 이미지

연락처 권한 정책, 언제부터 무엇이 바뀌나요

구글 플레이 정책 일정표에는 연락처 권한 정책이 2026년 4월 15일에 발표됐고, 준수 기한이 2027년 1월 27일로 올라가 있습니다. 정책 이름 자체는 기존의 민감한 정보에 접근하는 권한 및 API 정책 안에 들어가는 형태입니다.

연락처 권한 정책 일정
  1. 2026.4.15연락처 권한 정책 발표
  2. 2026.9Play Console 선언 양식 안내 시작
  3. 2027.1.27Android 17 타깃 앱 준수 의무
  4. 2027.8.25연락처 관리 권한 정책 기한
Play Console에서 30일 자동 연장이 가능합니다.

최소 범위 대안이 있는 제한 권한 안내 문서에 일정이 조금 더 자세히 나와 있습니다. 2026년 9월부터 이 권한을 가진 앱의 개발자에게 Play Console에서 선언 양식을 내라는 안내가 뜨기 시작했고, 2027년 1월 27일부터는 Android 17 이상을 타깃으로 하는 모든 앱에 준수가 의무가 됩니다. Play Console에서 30일 자동 연장을 스스로 신청할 수 있다고도 적혀 있습니다.

바뀌는 내용을 한 문장으로 말하면, 연락처를 넓게 읽는 권한은 그게 꼭 필요한 앱만 쓰라는 것입니다. 사진·동영상 권한에서 이미 같은 방식이 적용됐습니다. 갤러리 앱이 아니면 READ_MEDIA_IMAGES를 빼고 사진 선택기를 쓰게 했던 것처럼, 이번에는 연락처 차례입니다.

우리 앱이 해당되는지 확인하는 법

가장 먼저 볼 것은 매니페스트입니다. 앱의 AndroidManifest.xml에 android.permission.READ_CONTACTS가 있는지 찾아보면 됩니다. 이때 앱 코드에 직접 적은 것뿐 아니라, 라이브러리가 끼워 넣은 권한까지 합쳐진 최종 매니페스트를 봐야 합니다. 빌드 결과물의 병합된 매니페스트나 Play Console의 앱 번들 탐색기에서 권한 목록을 확인할 수 있습니다.

해당 여부 확인 항목
  • 병합된 매니페스트에 READ_CONTACTS
  • 라이브러리가 넣은 권한까지 확인
  • targetSdk가 Android 17 이상
  • 연락처를 읽는 기능 목록 작성
  • 쓰지 않는 기능의 남은 권한 정리
크로스플랫폼 앱도 플러그인 권한을 봐야 합니다.

권한이 있다면 두 번째로 targetSdk를 봅니다. 공식 문서가 의무 대상으로 적은 것은 Android 17 이상을 타깃으로 하는 앱입니다. 지금 API 36을 타깃으로 하고 있더라도 구글 플레이의 타깃 API 요건은 해마다 올라가니, 다음에 targetSdk를 올릴 때는 이 정책을 함께 처리해야 합니다. 타깃 API 요건 이야기는 타겟 API 36 대응 글에 따로 적었습니다.

세 번째는 권한을 실제로 어디에 쓰는지입니다. 기획서나 화면 목록을 놓고 연락처를 읽는 기능을 하나씩 적어 보면 됩니다. 저희가 다른 회사가 만든 앱을 넘겨받아 보면, 예전에 만들었다가 지금은 빠진 친구 찾기 기능 때문에 권한만 남아 있는 경우도 있습니다. 이런 권한은 정책과 상관없이 정리하는 편이 좋습니다.

웹뷰 앱이나 Flutter, React Native 같은 크로스플랫폼 앱도 마찬가지입니다. 연락처 플러그인이 권한을 매니페스트에 넣고 있으면 해당됩니다.

연락처 권한을 계속 쓸 수 있는 앱

공식 문서의 선언 양식에는 READ_CONTACTS가 필요한 용도로 고를 수 있는 항목이 나열되어 있습니다. 연락처 관리, 전화·문자 앱, 통화 기록, CRM(고객 관리), 통화 차단과 걸러 내기, 접근성, 개인 비서, 친구 찾기, 백업과 복원, 자동 수정·자동 완성 같은 것들이고 기타 항목도 있습니다.

반대로 권장되지 않는 쪽도 분명히 적혀 있습니다. 파일 공유, 함께 작업할 사람 고르기, 친구 초대나 추천, 송금 같은 거래 상대 고르기에만 연락처를 쓰는 앱은 일반적으로 이 권한을 요청하지 말아야 한다고 되어 있습니다. 자체 제작한 연락처 선택 화면이나 브랜드 디자인을 입힌 화면을 쓰고 싶다는 것도 권한을 유지할 이유로 인정되지 않습니다.

선언 양식에 있는 용도 예 일반적으로 권한 없이 처리할 용도
연락처 관리, 전화·문자, 통화 기록 파일 공유, 공동 작업 상대 선택
CRM, 통화 차단·걸러 내기 친구 초대, 추천
접근성, 개인 비서, 친구 찾기 송금 등 거래 상대 선택
백업·복원, 자동 완성 자체 디자인 선택 화면

한국 앱에서 흔한 기능으로 바꿔 보면, 쇼핑이나 금융 앱의 친구 초대 이벤트, 선물하기에서 받는 사람 고르기, 모임 앱에서 멤버 초대하기는 대부분 오른쪽 칸에 해당합니다.

초대나 공유 기능만 있다면 연락처 선택기로 바꿔야 합니다

대안은 Android 17에 들어간 시스템 연락처 선택기입니다. Android 17 연락처 선택기 문서에 따르면 앱이 전화번호나 이메일처럼 필요한 항목만 요청하고, 사용자가 고른 연락처의 그 항목만 앱에 전달됩니다. 주소록 전체를 넘기지 않아도 되고, 검색과 여러 명 선택, 개인·업무 프로필 전환도 시스템 화면이 알아서 처리합니다.

구현은 ACTION_PICK_CONTACTS 인텐트로 선택기를 띄우고, 돌아온 주소로 선택된 데이터를 읽는 방식입니다. 이 주소의 읽기 권한은 임시라서, 나중에 다시 써야 하는 정보는 받는 즉시 앱에 저장해 두라고 문서에 나와 있습니다. 결과에서 계정 관련 정보는 빠진다는 점도 알아 두시면 좋습니다.

기존에 ACTION_PICK으로 연락처 하나를 고르게 만든 앱은 Android 17 이상을 타깃으로 하면 시스템이 자동으로 새 선택기로 바꿔 줍니다. 코드를 안 고쳐도 새 화면이 뜨는 셈입니다. 다만 여러 항목을 한 번에 받거나 여러 명을 고르게 하려면 새 인텐트로 옮겨야 합니다.

주의할 점이 하나 있습니다. 이 선택기는 이전 버전으로 내려오지 않고 Android 17 이상 기기에만 있습니다. Android 16 이하 기기에서는 기존 ACTION_PICK 방식이 그대로 쓰이니, 기기 버전에 따라 두 경로가 다 매끄럽게 돌아가는지 확인해야 합니다.

선언 양식에는 무엇을 적나요

권한을 유지해야 하는 앱은 Play Console 선언 양식에 두 가지를 답하게 됩니다. 하나는 이 권한이 필요한 사용자 기능이 무엇인지로, 위의 용도 목록에서 고르거나 기타를 선택합니다. 다른 하나는 연락처 선택기로는 왜 기술적으로 부족한지에 대한 설명입니다.

두 번째 질문이 사실상 심사의 중심입니다. "주소록을 다 읽어야 편하다" 수준의 설명으로는 통과를 기대하기 어렵습니다. 예를 들어 통화 차단 앱이라면 걸려 온 번호가 주소록에 있는지 사용자가 고르지 않아도 매번 확인해야 한다는 식으로, 선택기 구조로는 기능이 성립하지 않는 이유를 구체적으로 적어야 합니다. 심사 반려를 줄이는 일반적인 요령은 앱 심사 반려 글에도 적어 두었습니다.

공식 문서에는 개인용 기기 관리 앱과 기업용 기기 관리 앱이 이 요건에서 빠진다고 되어 있습니다.

연락처 수정 권한과 그 다음 일정도 함께 봐 두세요

연락처 정책은 읽기 권한에서 끝나지 않습니다. 정책 일정표에는 2026년 10월 29일에 발표된 연락처 관리 권한(MANAGE_CONTACTS) 정책이 2027년 8월 25일 기한으로 올라가 있습니다. 정책 변경 미리보기 문서에 따르면 API 38 이상을 타깃으로 하는 앱이 이 권한을 쓰려면 선언서를 내야 하고, 나머지 앱은 연락처 추가·편집용 인텐트인 ACTION_INSERT, ACTION_EDIT를 써야 합니다.

같은 안내 문서에는 API 38 이상을 타깃으로 하는 앱에서는 WRITE_CONTACTS로 쓰기 권한을 더 이상 얻을 수 없다는 내용도 있습니다. 채팅 화면에서 상대를 주소록에 저장하는 정도의 기능은 연락처 관리 권한을 유지할 이유가 되지 않는다고 적혀 있습니다. 연락처를 쓰는 기능이 있다면 이번에 읽기와 쓰기를 한꺼번에 정리해 두는 편이 두 번 일하지 않는 길입니다.

대응은 이런 순서로 합니다

저희가 연락처 권한을 정리할 때는 대략 이 순서를 따릅니다.

연락처 권한 대응 순서
  1. 권한 출처 찾기병합된 매니페스트에서 위치 확인
  2. 기능 목록 작성연락처 쓰는 화면과 용도 표시
  3. 선택기로 교체초대·공유 기능은 권한 빼고 전환
  4. 선언 양식 준비선택기로 안 되는 이유 정리
  5. 버전별 테스트Android 17과 이전 기기 각각 확인
읽기와 쓰기 권한을 한 번에 정리합니다.
  1. 병합된 매니페스트에서 READ_CONTACTS, WRITE_CONTACTS가 어디서 들어왔는지 찾습니다.
  2. 연락처를 읽거나 쓰는 화면을 모두 적고, 기능마다 선언 용도에 해당하는지 표시합니다.
  3. 초대·공유·받는 사람 고르기처럼 선택기로 충분한 기능은 선택기로 바꾸고 권한을 뺍니다.
  4. 권한이 꼭 필요한 기능이 남으면 선택기로 안 되는 이유를 정리해 선언 양식을 준비합니다.
  5. Android 17 기기와 그 이하 기기에서 연락처 기능을 각각 테스트한 뒤 배포합니다.

권한을 빼면 기존 사용자가 이미 허용해 둔 연락처 접근도 쓸 수 없게 되니, 서버에 올려 둔 연락처 기반 기능이 있다면 그쪽 동작도 같이 확인해야 합니다. 구글 플레이 정책 전반은 2026년 구글 플레이 정책 글에서 보실 수 있습니다.

자주 묻는 질문

지금 API 36을 타깃으로 하고 있으면 신경 쓰지 않아도 되나요?

공식 문서가 의무 대상으로 적은 것은 Android 17 이상을 타깃으로 하는 앱입니다. 다만 targetSdk는 매년 올려야 하므로 언젠가는 해당됩니다. 다음 타깃 상향 작업 범위에 미리 넣어 두시길 권합니다.

친구 초대 이벤트에 연락처를 쓰는데 권한을 꼭 빼야 하나요?

공식 문서는 초대나 추천에만 쓰는 앱은 일반적으로 이 권한을 요청하지 말아야 한다고 안내합니다. 연락처 선택기로 초대할 사람만 고르게 바꾸면 기능은 유지하면서 권한을 뺄 수 있습니다.

연락처 선택기를 쓰면 권한 요청 팝업이 뜨나요?

선택기는 사용자가 직접 고른 연락처의 요청 항목만 앱에 넘겨주는 방식이라 READ_CONTACTS를 요청하지 않아도 됩니다. 사용자는 권한 허용 창 대신 시스템 연락처 선택 화면을 보게 됩니다.

기한까지 대응을 못 하면 어떻게 되나요?

공식 문서에는 의무 기한 이후 정책을 지키지 않은 앱은 제재 대상이 된다고 되어 있고, Play Console에서 30일 자동 연장을 신청할 수 있다고 안내합니다. 연장은 시간을 버는 수단일 뿐이니 작업 일정은 그 안에 잡아야 합니다.

연락처 권한을 쓰는 기능이 여러 곳에 흩어져 있어 범위를 잡기 어렵다면 상담 페이지로 앱 현황을 보내 주세요. 출시 후 유지보수 범위에서 이런 정책 대응을 어떻게 진행하는지는 서비스 소개에 적어 두었습니다.

앱 개발이 고민되시나요?
앱 개발이 고민되시나요?

기획부터 출시까지, 모바일파트너스가 함께합니다