크롬 웹스토어 심사 거절의 상당수는 권한(permissions)에서 나옵니다. 기능은 멀쩡한데 “권한을 왜 이렇게 많이 요구하냐”는 이유로 막히는 것이죠. 이 글에서는 권한 관련 리젝의 가장 흔한 3가지 유형과 해결법을 정리합니다. (전체 위반코드 정리는 이 글을 참고하세요.)
1. 미사용 권한 (Purple Potassium)
가장 흔합니다. manifest에 선언했지만 코드에서 실제로 쓰지 않는 권한이 있으면 거절됩니다. 개발 중에 넣었다가 안 쓰게 된 권한이 남아 있는 경우가 대부분입니다.
해결: manifest의 각 권한을 코드에서 실제 호출하는지 하나씩 확인하고, 안 쓰는 것은 전부 제거하세요. 이것만 정리해도 상당수가 통과됩니다.
2. 과범위 호스트 권한 (all_urls)
모든 사이트 접근 권한(전체 URL)은 강한 정당화 없이는 거절되기 쉽습니다. 실제로는 몇 개 사이트에서만 동작하는데 습관적으로 전체 권한을 넣는 경우가 많습니다.
해결: host_permissions를 실제 동작하는 도메인만 명시하세요(예: https://*.example.com/*). 페이지 로드 시점이 아니라 사용자가 클릭할 때만 필요하다면 activeTab 권한으로 바꾸는 것도 좋습니다.
3. 권한 정당화 누락
민감한 권한(cookies, history, tabs, downloads 등)을 쓰면서 왜 필요한지 설명하지 않으면 심사관이 의심합니다.
해결: 각 권한에 대해 “이 기능을 위해 이 권한이 필요하다”는 한 줄 정당화를 리스팅 설명과 대시보드에 명확히 적으세요. 데이터를 수집한다면 개인정보 처리방침에 수집 항목과 도메인을 전부 명시해야 합니다.
제출 전 체크리스트
- 선언한 모든 권한이 코드에서 실제로 쓰이는가?
- host_permissions가 전체 URL이 아니라 필요한 도메인만인가?
- 민감 권한마다 정당화 문구가 있는가?
- 데이터 수집 시 개인정보 처리방침에 도메인이 다 명시됐는가?
권한은 “많을수록 좋은” 게 아니라 최소한만이 원칙입니다. 제출 전 위 4가지만 확인해도 권한 리젝의 대부분을 피할 수 있습니다. 리젝 사유가 이미 애매한 코드로 왔다면 CWS 심사 통과 진단 서비스에서 원인 분석을 받아볼 수 있습니다.

답글 남기기