개인정보 처리방침
AppVolume - 앱별 볼륨 제어
핵심 안내: AppVolume에는 계정이나 로그인 기능이 없으며, 앱별 볼륨 설정과 규칙은 기기에 저장됩니다. 이 앱은 Google AdMob 광고를 표시하고(광고 제거가 적용되어 있으면 광고를 표시하지 않음, 적용 조건은 4항 참고), Google의 Firebase Analytics와 Firebase Crashlytics로 사용 이벤트와 비정상 종료 보고서를 전송합니다. 볼륨을 설정한 앱의 이름이나 패키지명은 전송하지 않습니다. 대신 Android가 분류한 앱 종류(예: 게임·동영상·SNS)와 볼륨 값 등이 사용 이벤트에 포함되며, 접근성 서비스가 앱이 화면 전면에 온 것을 감지해 볼륨을 적용할 때마다 이 정보가 Firebase Analytics로 전송됩니다.
1. 수집·처리하는 정보
AppVolume이 다루는 정보는 다음과 같습니다.
- 볼륨 설정과 규칙 — 기기에 저장: 기기 내부 데이터베이스에 다음을 저장합니다.
- 앱별 볼륨 설정: 볼륨을 설정한 앱의 패키지명과 앱 이름, 사용 여부, 미디어 볼륨 값(%), 앱별 볼륨 키 처리 방식, 앱별 일시중지 종료 시각, 설정을 만들고 바꾼 시각
- 조건 규칙: 앱별 또는 카테고리별로 만든 규칙의 조건(출력 기기: 스피커·유선·블루투스, 시간대: 시작·종료 시각), 볼륨 값(%), 사용 여부, 규칙 순서, 만들고 바꾼 시각
- 카테고리 규칙: 앱 종류(게임·동영상·SNS 등)별 사용 여부, 볼륨 값(%), 바꾼 시각
- 커스텀 카테고리: 사용자가 입력한 이름, 사용 여부, 볼륨 값(%), 속한 앱의 패키지명, 만들고 바꾼 시각
- 카테고리 제외 앱: 카테고리 적용에서 뺀 앱의 패키지명, 뺀 시각, 제외가 끝나는 시각(기한 없음 포함)
- 앱 설정과 작동 기록 — 기기에 저장: 전체 일시중지 종료 시각, 테마·언어, 볼륨 키로 바꾼 볼륨의 처리 방식(무시·기억·고정), 화면 안내 표시 방식·모양·위치·볼륨 바 방향, 첫 실행 안내(온보딩) 완료 여부, 광고 제거 적용 여부(참/거짓), 1.0.28부터는 이 기기에서 광고 제거가 적용된 적이 있는지(참/거짓)와 웰컴 혜택용 기록(1.0.28 이상 버전을 이 기기에서 처음 실행한 시각, 홈 화면의 웰컴 혜택 카드를 닫았는지), 마지막 전면 광고 표시 시각, 리뷰 요청 판단용 기록(볼륨 적용 횟수(10회까지만 셈), 홈 화면을 처음 연 시각, 마지막 리뷰 요청 시각), 서비스 꺼짐 알림 판단용 기록(서비스가 연결된 적이 있는지, 마지막 연결 시각, 마지막 알림 시각, 알림 권한을 요청했는지), 한 번만 보내는 사용 이벤트를 이미 보냈는지 여부를 기기 내부 저장소에 저장합니다.
- 기준 볼륨 임시 기록 — 기기에 저장: 볼륨을 적용할 앱에 들어갈 때, 나중에 되돌릴 직전 미디어 볼륨 값과 그때의 출력 기기 종류(스피커·유선·블루투스), 그 앱의 패키지명, 기록 시각을 기기 내부 저장소에 임시로 저장합니다. 앱 프로세스가 비정상 종료되어도 원래 볼륨을 되돌리기 위한 것이며, 삭제 시점은 6항을 참고하세요.
- 설치된 앱 정보 — 기기에서 조회: 볼륨을 설정할 앱을 고를 수 있도록 홈 화면(런처)에 표시되는 앱의 패키지명·이름·아이콘을 기기에서 불러와 보여줍니다. 또 카테고리 규칙 적용과 사용 이벤트의 앱 종류 값을 위해 Android가 각 앱에 지정한 앱 종류(
ApplicationInfo.category)를 기기에서 읽습니다. 불러온 목록은 저장하거나 전송하지 않으며, 앱 종류는 아래 사용 이벤트의 app_category 값으로만 전송합니다. 사용자가 켜거나 설정을 바꾼 앱, 커스텀 카테고리에 넣은 앱, 카테고리에서 제외한 앱, 백업 파일에서 불러온 앱만 위의 볼륨 설정과 규칙에 저장됩니다.
- 현재 미디어 볼륨과 출력 기기 종류 — 기기에서 확인: 볼륨을 적용·복원하고 앱을 새로 추가할 때의 기본값을 정하기 위해 기기의 현재 미디어 볼륨을 읽습니다. 출력 기기 조건 규칙과 복원 보호를 위해 연결된 오디오 출력 기기의 종류(스피커·유선·블루투스)만 판별하며, 블루투스 기기의 이름이나 주소는 읽지 않습니다.
- 사용 이벤트 — Firebase Analytics로 전송: 앱은 다음 이벤트를 Firebase Analytics로 보냅니다. 앱 이름과 패키지명은 어떤 이벤트에도 넣지 않습니다. 아래의 "앱 종류"(
app_category)는 Android가 분류한 값(game, audio, video, image, social, news, maps, productivity, accessibility, undefined, other, unknown 중 하나)입니다.
screen_view: 화면을 열 때, 화면 이름(홈·앱 목록·볼륨 편집·규칙 편집·설정·테마/언어 선택·카테고리 규칙·카테고리 설정·카테고리 앱 목록·커스텀 카테고리 편집·광고 제거·온보딩)
onboarding_page_view, onboarding_skipped, onboarding_completed: 첫 실행 안내에서 페이지를 볼 때, "나중에 하기"로 끝낼 때, 안내를 마칠 때("나중에 하기" 포함), 페이지 번호와 접근성 서비스를 켰는지 여부
a11y_disclosure_shown, a11y_disclosure_result: 접근성 안내 창을 보여줄 때와 동의·거부할 때, 안내를 연 위치(홈·설정·온보딩)와 응답
enable_service_clicked: 홈 또는 온보딩에서 접근성 안내에 동의하고 접근성 설정으로 이동할 때 (추가 값 없음)
a11y_settings_abandoned: 접근성 안내에 동의해 설정으로 이동한 뒤 5분 안에 서비스를 켜지 않고 돌아왔을 때 (추가 값 없음)
a11y_enabled: 접근성 서비스가 처음 연결될 때 한 번 (추가 값 없음)
service_connected: 접근성 서비스가 연결될 때, 볼륨 설정을 켜 둔 앱의 개수
a11y_lost: 접근성 서비스가 해제·종료될 때, 또는 서비스 꺼짐 알림을 보낼 때, 그 원인(해제·종료·꺼짐 감지)
managed_app_added(처음 한 번은 first_app_added도): 앱 목록에서 앱을 켜거나 볼륨 편집 화면에서 새 앱의 설정을 처음 저장할 때, 그 앱의 앱 종류와 발생 위치
managed_app_removed: 앱 목록에서 앱을 끄거나 홈 화면에서 앱을 삭제할 때, 그 앱의 앱 종류와 발생 위치
volume_preset_changed: 볼륨 편집 화면에서 바꾼 볼륨 값이 저장될 때, 그 앱의 앱 종류와 새 볼륨 값(%)
volume_key_mode_changed: 볼륨 편집 화면에서 그 앱의 볼륨 키 처리 방식을 바꿀 때, 범위 값(app)과 고른 방식(무시·기억·고정·설정 따름). 어떤 앱인지는 보내지 않음
route_profile_set: 규칙 편집 화면에서 출력 기기 조건이 있는 조건 규칙을 새로 저장할 때, 출력 기기 종류와 규칙의 대상 구분(앱·앱 종류별 카테고리·커스텀 카테고리)
schedule_set: 규칙 편집 화면에서 시간대 조건이 있는 조건 규칙을 새로 저장할 때, 규칙의 대상 구분(앱·앱 종류별 카테고리·커스텀 카테고리). 시각은 보내지 않음
category_rule_changed: 카테고리 규칙을 켜고 끄거나 값을 바꿔 저장할 때, 앱 종류와 사용 여부, 볼륨 값(%)
custom_category_saved: 커스텀 카테고리(사용자가 앱을 골라 만드는 묶음)를 만들거나 수정해 저장할 때와 켜고 끄거나 볼륨 값을 바꿔 저장할 때, 속한 앱의 개수와 사용 여부, 볼륨 값(%). 카테고리 이름과 속한 앱의 이름·패키지명은 보내지 않음
custom_category_deleted: 커스텀 카테고리를 삭제할 때 (추가 값 없음)
category_app_excluded, category_app_included: 카테고리 앱 목록 화면에서 앱의 체크를 해제하거나 다시 체크해 저장할 때, 카테고리 구분(앱 종류별 카테고리·커스텀 카테고리). 어떤 앱·어떤 카테고리인지는 보내지 않음
volume_applied(처음 한 번은 first_volume_applied도): 접근성 서비스가 볼륨을 적용할 때(전면 앱 전환 감지, 일시중지 해제, 서비스 연결, 출력 기기 변경 등), 그 앱의 앱 종류, 적용한 볼륨 값(%), 값의 출처(앱별 설정·카테고리 규칙·커스텀 카테고리)
volume_apply_rejected: 접근성 서비스가 볼륨을 적용하려 했지만 기기에 값이 반영되지 않아(방해 금지·안전 볼륨 경고·볼륨이 고정된 기기 등) 바꾸지 않고 넘어갈 때 (추가 값 없음)
volume_restored: 이전 볼륨으로 되돌릴 때, 되돌린 계기(홈 화면으로 나감, 다른 앱으로 전환, 일시중지, 전체 일시중지, 서비스 종료, 비정상 종료 후 재연결, 스피커로 출력 복귀)
volume_learned: "기억" 방식에서 앱 안에서 바꾼 볼륨을 설정값으로 저장할 때, 그 앱의 앱 종류와 저장한 볼륨 값(%)
restore_skipped_route_changed: 출력 기기가 바뀌어 이전 볼륨 복원을 건너뛸 때 (추가 값 없음)
volume_lock_suspended: "고정" 방식에서 설정값으로 되돌리기를 그 앱을 쓰는 동안 멈출 때(되돌린 값이 반영되지 않아 멈춘 경우에는 볼륨이 설정값에 닿으면 다시 되돌림), 멈춘 사유(되돌린 값이 반영되지 않음·다른 주체가 값을 곧바로 다시 바꿈·되돌린 횟수가 상한에 닿음). 어떤 앱인지는 보내지 않음
pause_set, pause_resumed: 자동 볼륨 전환을 일시중지하거나 다시 켤 때, 범위(전체·앱), 위치(홈·화면 안내·빠른 설정 타일), 일시중지 시간(분, 무기한은 -1)
overlay_action: 화면 안내 문구에서 일시중지 버튼을 누르거나, 일시중지 시간 목록에서 항목을 고르거나 취소하거나, 메뉴를 열거나, 메뉴에서 볼륨을 바꿔 저장하거나 볼륨 키 처리 방식을 바꾸거나 설정 열기·이 앱 끄기·카테고리에서 제외를 고를 때, 동작 종류. 어떤 앱인지와 바꾼 값은 보내지 않음
ad_shown: 앱 오프닝 광고나 전면 광고가 표시될 때, 광고 형식과 표시 계기
paywall_shown: 광고 제거 화면을 열 때, 연 위치 값(어디서 열든 settings로 기록)
purchase_initiated, purchase_completed, purchase_failed, purchase_restored: 광고 제거 결제를 시작·완료·실패하거나 구매 복원을 시도할 때, 상품 ID(remove_ads_lifetime, 1.0.28부터는 웰컴 혜택 상품이면 remove_ads_lifetime_welcome)와 실패 사유 코드 또는 복원 성공 여부. 주문 번호·결제 금액·결제 수단·구매 토큰은 보내지 않습니다.
backup_exported, backup_imported: 설정을 파일로 내보내거나 파일에서 불러와 병합할 때, 내보내거나 불러온 앱 설정의 개수. 규칙 수와 파일 이름·위치·내용은 보내지 않습니다.
review_prompted: 앱이 Google Play 리뷰 창을 요청할 때 (추가 값 없음)
- 사용자 속성: 볼륨 설정을 켜 둔 앱의 개수(
managed_app_count), 접근성 서비스를 켠 적이 있는지(a11y_enabled), 현재 출력 기기 종류(audio_route: 스피커·유선·블루투스·그 밖의 외부 출력), 광고 제거 결제를 이 기기에서 완료했는지(premium, 결제를 완료할 때만 기록)
Firebase Analytics가 이와 함께 자동으로 수집하는 정보는 4항을 참고하세요.
- 비정상 종료 보고서 — Firebase Crashlytics로 전송: 앱이 비정상 종료되면 오류 정보와 기기 진단 정보, 앱 빌드를 구분하는 커밋 해시(
git_hash)가 전송됩니다. 자세한 내용은 4항을 참고하세요.
- 광고 관련 정보 — Google AdMob이 수집: 광고를 게재하기 위해 AdMob SDK가 광고 ID 등 기기 식별자와 IP 주소, 광고 상호작용 정보를 수집·이용할 수 있습니다. 유럽경제지역(EEA)·영국 등 동의가 필요한 지역에서는 Google User Messaging Platform(UMP)이 동의를 받고, 선택 내용을 기기에 저장합니다. 자세한 내용은 4항을 참고하세요.
- 구매 정보 — Google Play가 처리: 광고 제거 구매는 Google Play 결제 시스템이 처리합니다. 앱은 카드 번호 등 결제 수단과 청구 주소를 받거나 저장하지 않습니다. Google Play에서 받는 상품 가격은 화면 표시와 웰컴 혜택의 할인율 계산·표시 여부 판단에만 쓰고 저장하거나 전송하지 않습니다. 구매에 관해 기기에 저장하는 값은 광고 제거가 적용되었는지(참/거짓)와, 1.0.28부터는 이 기기에서 적용된 적이 있는지(참/거짓)뿐입니다. 자세한 내용은 4항을 참고하세요.
- 백업 파일 — 사용자가 고른 위치에 저장: 설정 화면에서 내보내기를 하면 사용자가 시스템 파일 선택기로 직접 고른 위치에 백업 파일(JSON)을 만듭니다. 파일에는 파일 형식 버전, 내보낸 시각, 앱별 설정(패키지명·앱 이름·사용 여부·미디어 볼륨 값(%)·앱별 볼륨 키 처리 방식), 앱별 조건 규칙(패키지명·출력 기기 종류·시간대 시작·종료 시각·볼륨 값·사용 여부·규칙 순서), 카테고리 규칙(앱 종류·사용 여부·볼륨 값), 커스텀 카테고리(사용자가 입력한 이름·사용 여부·볼륨 값·속한 앱의 패키지명), 카테고리에서 기한 없이 제외한 앱의 패키지명, 카테고리 조건 규칙(대상 앱 종류 또는 커스텀 카테고리 이름·출력 기기 종류·시간대 시작·종료 시각·볼륨 값·사용 여부·규칙 순서)이 담깁니다. 블루투스 기기 이름·주소 같은 개별 기기 정보는 담기지 않습니다. 일시중지 상태(전체·앱별 일시중지와, 시간을 정해 카테고리 적용에서 뺀 앱), 설정을 만들고 바꾼 시각, 테마·언어 등 앱 설정과 작동 기록, 계정·기기 식별자도 담기지 않습니다. 앱은 이 파일을 어디에도 전송하지 않으며, 불러오기를 할 때도 사용자가 고른 파일만 한 번 읽습니다.
- 요청하지 않는 정보: 앱은 이름·이메일·전화번호를 입력받지 않으며, 주소록·사진·저장소·정확한 위치·카메라·마이크·블루투스 기기에 접근하는 권한을 요청하지 않습니다.
2. 접근성 서비스(Accessibility Service)
AppVolume은 "특정 앱이 화면 전면에 오면 그 앱에 맞춘 미디어 볼륨으로 바꾸고, 벗어나면 되돌린다"는 핵심 기능을 위해 Android 접근성 서비스를 사용합니다.
- 받는 이벤트: 창 상태 변경 이벤트(
TYPE_WINDOW_STATE_CHANGED)와 창 목록 변경 이벤트(TYPE_WINDOWS_CHANGED) 두 종류를 구독합니다. 1.0.26까지의 버전은 창 상태 변경 이벤트 한 종류만 구독합니다. 접근성 이벤트와 별도로, 서비스가 연결되어 있는 동안 Android가 보내는 미디어 볼륨 변경 알림과 방해 금지 상태 변경 알림도 받습니다.
- 읽는 정보: 이벤트가 발생한 앱의 패키지명과 창 클래스명, 현재 활성 창의 패키지명을 읽어 어떤 앱이 전면에 있는지 판단합니다. 1.0.27부터는 볼륨을 적용한 앱이 PIP(화면 속 화면) 창으로 남아 있는지 알기 위해 화면에 떠 있는 창의 목록(창 종류, PIP 여부, 위치)과 PIP 창의 패키지명도 읽습니다. 서비스 설정에는 창 콘텐츠 조회(
canRetrieveWindowContent)가 선언되어 있지만, 앱 코드가 활성 창과 PIP 창에서 읽는 값은 패키지명뿐이며 화면에 표시된 텍스트나 입력 내용은 읽지 않습니다.
- 하는 일: 볼륨을 설정하고 켜 둔 앱(또는 앱별 설정이 없고, 켜 둔 카테고리 규칙에 해당하는 앱)이 전면에 오면 기기의 미디어 볼륨을 설정값으로 바꾸고, 그 앱을 벗어나면 이전 볼륨으로 되돌립니다. 1.0.27부터는 그 앱이 PIP 창으로 남아 있는 동안에는 되돌리지 않고 유지하며, PIP 창이 닫히면 되돌립니다. 조건 규칙이 있으면 그때의 출력 기기와 기기 시각에 맞는 규칙의 값을 씁니다. 앱을 쓰는 중에 출력 기기의 종류(스피커·유선·블루투스·그 밖의 외부 출력)가 바뀌면 새 종류에 맞는 값으로 다시 적용하고, 이전 종류의 기기에서 읽어 둔 볼륨 값은 새 기기에 쓰지 않습니다. 기기는 종류로만 구분하므로, 같은 종류의 다른 기기로 바뀐 경우(예: 블루투스 이어폰에서 블루투스 스피커로)는 구분하지 못합니다.
- 화면 안내: 볼륨을 바꾸거나 되돌리거나 기억할 때 화면에 안내를 잠깐 표시합니다. 이 안내는 Android 알림이 아니라 접근성 서비스가 화면 위에 띄우는 창(접근성 오버레이)입니다. 1.0.25부터 기본 모양은 화면 가장자리의 작은 볼륨 바이며(터치를 받지 않음), 볼륨 키로 바꾼 값을 기억할 때는 안내 문구로 알립니다. 설정의 "안내 모양"에서 "자세히"를 고르면 안내 문구로 표시합니다. 이때 볼륨을 적용할 때의 안내 문구에는 앱별 설정·카테고리 규칙·커스텀 카테고리 중 어느 것으로 적용했든 일시중지 버튼과 메뉴 버튼이 있고, 되돌리거나 기억할 때의 안내 문구에는 버튼이 없습니다. 일시중지 버튼을 누르면 일시중지 시간 목록이 나오고, 고른 시간 동안(기한 없음 포함) 그 앱에만 볼륨을 적용하지 않습니다(카테고리로 적용한 앱이면 그 앱만 그동안 카테고리 적용에서 뺌). 메뉴에는 볼륨 −/+, 일시중지, 볼륨 키 처리 방식(앱별 설정으로 적용한 앱만), 설정 열기, 이 앱 끄기(앱별 설정으로 적용한 앱) 또는 카테고리에서 제외(카테고리로 적용한 앱), 닫기가 있습니다. 설정 화면의 "화면 안내"에서 모두 표시·적용 시에만 표시·표시 안 함을 고를 수 있습니다.
- 볼륨 키로 바꾼 볼륨: 설정에 따라 "기억"(1.0.26까지의 기본값)이면 앱을 벗어날 때 앱 안에서 바꾼 볼륨을 그 앱(또는 그때 적용된 조건 규칙)의 설정값으로 저장하고, "고정"이면 앱 안에서 미디어 볼륨이 바뀌었을 때 설정값으로 되돌리며, "무시"(1.0.27부터의 기본값)면 아무것도 하지 않습니다. 이를 위해 서비스는 연결되어 있는 동안 방식과 관계없이 Android가 보내는 미디어 볼륨 변경 알림(바뀐 볼륨 값)을 받으며, "기억"의 안내 표시와 "고정"의 되돌리기에 씁니다. 볼륨 키 입력 자체를 가로채거나 기록하지 않으며(키 이벤트 필터링을 선언하지 않음), 이 처리는 모두 기기 안에서 이루어집니다.
- 전송되는 정보: 볼륨을 적용할 때마다 해당 앱의 앱 종류와 볼륨 값이
volume_applied 이벤트로 Firebase Analytics에 전송됩니다. 이 밖에 접근성 서비스는 volume_restored, volume_learned, restore_skipped_route_changed, volume_apply_rejected, volume_lock_suspended, service_connected(켜 둔 앱의 개수), a11y_lost, 화면 안내의 버튼이나 메뉴를 조작했을 때의 overlay_action·pause_set 이벤트와 출력 기기 종류 사용자 속성(audio_route)을 보냅니다(1항 참고). 앱 이름과 패키지명은 보내지 않습니다. 적용할 앱별 설정이나 켜 둔 카테고리 규칙이 없는 앱, 앱별 설정을 꺼 둔 앱, 일시중지한 앱으로 전환될 때는 volume_applied 이벤트가 전송되지 않습니다.
- 기기 저장: 앱 코드는 전면 앱 전환 이력을 기기에 저장하지 않습니다. 접근성 서비스가 스스로 기기에 기록하는 값은 전체 일시중지 시간이 끝났을 때의 일시중지 해제, "기억" 방식으로 저장한 볼륨 설정값(앱별 설정 또는 그때 적용된 앱별 조건 규칙), 기준 볼륨 임시 기록(1항), 리뷰 요청 판단용 볼륨 적용 횟수, 서비스 연결 기록(연결된 적이 있는지, 마지막 연결 시각), 한 번만 보내는 사용 이벤트를 이미 보냈는지 여부입니다. 이 밖에 사용자가 화면 안내의 버튼이나 메뉴를 조작하면 그 내용을 기록합니다: 일시중지 종료 시각(앱별 설정으로 적용한 앱은 그 앱의 설정에, 카테고리로 적용한 앱은 패키지명과 함께 카테고리 제외 앱에), 메뉴에서 바꾼 볼륨 값(앱별 설정 또는 그때 적용된 앱별 조건 규칙에 저장하고, 카테고리로 적용한 앱이면 그 앱의 패키지명·앱 이름으로 앱별 설정을 새로 만듦), 앱별 볼륨 키 처리 방식, 앱별 설정 끄기, 카테고리에서 제외(앱 종류별 카테고리는 카테고리 제외 앱에 패키지명을 추가하고, 커스텀 카테고리는 속한 앱에서 지움). 다만 Firebase로 보내는 이벤트는 전송될 때까지 Firebase SDK가 기기에 임시로 보관합니다.
- 대신 수행하는 동작 없음: 사용자를 대신해 화면을 누르거나 스크롤하거나 입력하지 않습니다. 제스처 수행 권한(
canPerformGestures)을 선언하지 않습니다.
- 사용자 통제: 접근성 서비스는 사용자가 Android 설정에서 직접 켜야 동작합니다. 앱은 접근성 설정 화면으로 이동하기 전에 안내 창을 표시하고 동의를 요청합니다. 동의 후 5분 안에 서비스를 켜면 앱 화면으로 자동으로 돌아옵니다. Android 설정에서 언제든 끌 수 있으며, 홈 화면·빠른 설정 타일에서 자동 볼륨 전환을 일시중지할 수 있습니다.
3. 요청하는 권한
- 접근성 서비스(BIND_ACCESSIBILITY_SERVICE): 전면 앱을 감지해 미디어 볼륨을 자동으로 바꿉니다(2항 참고).
- 설치된 앱 조회: 볼륨을 설정할 앱 목록을 보여주기 위해 홈 화면(런처)에 표시되는 앱을 조회하도록 선언합니다. 앱에 포함된 라이브러리도 일부 조회 항목을 자동으로 선언합니다(광고 SDK: 웹 링크·전화·문자·일정 추가를 처리하는 앱, Google Play 결제 라이브러리: Google Play 스토어 앱). 모든 앱을 조회하는 권한(
QUERY_ALL_PACKAGES)은 요청하지 않습니다.
- 알림(POST_NOTIFICATIONS, Android 13 이상): 접근성 서비스가 꺼졌거나, 켜져 있지만 연결되지 않은 상태가 되면 "AppVolume이 꺼져 있어요" 알림을 보냅니다. 앱은 WorkManager로 약 6시간마다 서비스 상태(서비스 연결 여부와 Android 접근성 설정에 이 앱이 켜져 있는지)를 확인합니다. 상태 확인 자체는 기기 안에서 이루어지며, 알림을 보낼 때
a11y_lost 이벤트를 전송합니다. 서비스가 꺼질 때마다 한 번만 알리고, 꺼진 상태가 이어져도 다시 알리지 않으며, 다시 연결됐다가 꺼지면 다시 한 번 알립니다. 알림을 누르면 앱 홈 화면이 열립니다. 권한은 접근성 서비스가 동작 중일 때 홈 화면에서, 또는 설정 화면에서 접근성 서비스를 켜고 돌아왔을 때 요청하며, 앱 전체에서 한 번만 묻고 거부하면 다시 묻지 않습니다. 상주 알림은 보내지 않습니다. 1.0.27까지의 버전은 광고성 알림도 보내지 않습니다. 1.0.28부터는 광고성 알림인 웰컴 혜택 종료 안내 알림을 보냅니다. 웰컴 혜택 기간(1.0.28 이상 버전을 이 기기에서 처음 실행한 시각부터 7일, 4항 참고)이 끝나기 약 24시간 전에 한 번 보내도록 앱 화면을 열 때 WorkManager로 예약하며, 보낼 시점에 광고 제거가 적용되어 있거나, 이 Google 계정이 광고 제거 상품을 이미 보유한 것으로 조회되었거나, 보유 여부 조회가 끝나지 않았거나, 혜택 기간이 끝났거나, Google Play에서 웰컴 혜택 상품의 가격을 받지 못했거나, 그 가격이 정가 상품보다 싸지 않거나, 알림 권한이 없으면 보내지 않습니다. 이 알림은 서비스 꺼짐 알림과 다른 알림 채널("혜택 알림")로 보내며, 알림을 누르면 앱의 광고 제거 화면이 열립니다(첫 실행 안내 중이면 이동하지 않음). 이 알림을 위해 알림 권한을 따로 요청하지는 않습니다.
- 인터넷(INTERNET), 네트워크 상태(ACCESS_NETWORK_STATE): 광고 동의 확인과 광고 불러오기, Firebase Analytics·Crashlytics 정보 전송, 설정 화면에서 이 개인정보 처리방침 페이지를 여는 데 사용됩니다.
- 광고 ID(AD_ID), 광고 서비스 권한(ACCESS_ADSERVICES_AD_ID·ACCESS_ADSERVICES_ATTRIBUTION·ACCESS_ADSERVICES_TOPICS): Google AdMob SDK와 Firebase Analytics가 광고 게재·측정을 위해 선언합니다.
- Google Play 결제(com.android.vending.BILLING): Google Play 결제 라이브러리가 선언하며, 광고 제거 구매와 구매 확인·복원에 사용됩니다.
- WAKE_LOCK, 설치 리퍼러 조회(BIND_GET_INSTALL_REFERRER_SERVICE): Firebase Analytics와 WorkManager가 선언합니다. 설치 리퍼러는 앱이 어떤 경로로 설치되었는지에 대한 Google Play 정보입니다.
- FOREGROUND_SERVICE, DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION: 앱에 포함된 Android 라이브러리(WorkManager, AndroidX)가 자동으로 선언합니다. 앱은 포그라운드 서비스를 실행하지 않으며, 후자는 앱 내부에서만 쓰는 수신기를 다른 앱이 호출하지 못하게 막는 이 앱 전용 권한입니다.
- 빠른 설정 타일: 알림창의 빠른 설정에 "자동 볼륨" 타일을 추가할 수 있습니다. 타일을 누르면 자동 볼륨 전환의 일시중지·재개 상태를 바꾸고, 접근성 서비스가 동작하지 않을 때는 대신 앱을 엽니다(타일을 길게 눌러도 앱이 열립니다). 타일은 별도 권한을 요청하지 않습니다(시스템만 타일에 연결할 수 있도록 BIND_QUICK_SETTINGS_TILE로 보호됨).
4. 제3자 서비스
AppVolume은 다음 제3자 서비스를 사용합니다.
- Google AdMob과 User Messaging Platform: 홈 화면 하단의 배너 광고, 홈 화면에서 뒤로 가기로 앱을 나갈 때의 전면 광고, 앱을 열거나 다시 돌아올 때의 앱 오프닝 광고를 표시합니다(접근성 설정·배터리 최적화 설정·파일 선택기·서비스 꺼짐 알림·빠른 설정 타일·화면 안내 메뉴의 "설정 열기"에서, 1.0.28부터는 웰컴 혜택 알림에서 앱으로 들어올 때도 앱 오프닝 광고를 표시하지 않음). 1.0.28부터는 첫 실행 안내(온보딩)를 마치기 전에는 앱 오프닝 광고를 표시하지 않고, 안내를 마친 뒤 앱을 나갔다가 다시 들어올 때부터 표시합니다(광고를 미리 불러오는 요청은 안내 중에도 이루어질 수 있음). 광고는 소리가 나지 않도록 음소거로 설정합니다. 앱 화면을 열면 먼저 UMP SDK로 동의가 필요한 지역인지 확인하고, 필요하면 동의 양식을 표시합니다. 광고를 요청할 수 있는 상태일 때만 AdMob SDK를 초기화하고 광고를 미리 요청하므로, 접근성 서비스·빠른 설정 타일·서비스 상태 확인 작업(1.0.28부터는 웰컴 혜택 알림 작업 포함) 때문에 앱 프로세스만 실행될 때는 광고 SDK 초기화와 광고 요청이 일어나지 않습니다. 동의 선택은 UMP SDK가 기기에 저장하며, 동의가 필요한 지역(EEA·영국 등)에서는 앱의 설정 화면에 있는 "개인정보 옵션"에서 바꿀 수 있습니다(앱 데이터를 삭제하거나 앱을 다시 설치하면 초기화되고, 다음에 앱을 열 때 다시 확인합니다). AdMob은 광고 게재·측정과 부정 행위 방지를 위해 광고 ID·앱 세트 ID 등 기기 식별자, IP 주소와 이를 통한 대략적인 위치, 광고 상호작용 및 진단 정보를 수집·이용할 수 있으며, 이 정보는 Google이 처리합니다. 앱은 광고 요청에 맞춤 광고 제한 설정을 따로 지정하지 않으므로, 맞춤 광고 여부는 동의 선택(해당 지역)과 Google 광고 설정에 따릅니다. 광고 제거가 적용되어 있으면 배너·전면·앱 오프닝 광고를 요청하거나 표시하지 않습니다(구매 후 적용되는 조건은 아래 "웰컴 혜택과 광고 제거 적용" 참고). 다만 앱 화면을 열 때의 동의 확인과 AdMob SDK 초기화는 광고 제거가 적용된 뒤에도 이루어집니다. 자세한 내용은 Google 개인정보처리방침과 AdMob 안내를 참고하세요.
- Google Play 결제: 이 방침에서 "광고 제거"라고 부르는 구매는 앱에서 "AppVolume Pro"라는 이름으로 표시되는 상품(한 번 결제, 상품 ID
remove_ads_lifetime)이며, 광고를 표시하지 않는 것 외에 무료 사용 한도도 풉니다. 광고 제거가 적용되어 있지 않으면 조건 규칙은 앱별·카테고리별 규칙을 합쳐 2개, 커스텀 카테고리는 1개까지만 새로 만들 수 있고, 꺼져 있는 카테고리 규칙(앱 종류별)을 켜는 것과 설정 백업 내보내기·불러오기는 할 수 없습니다. 이미 만든 조건 규칙·커스텀 카테고리와 이미 켜 둔 카테고리 규칙은 한도와 관계없이 그대로 동작하고 수정·삭제할 수 있습니다. 구매와 결제는 Google Play가 처리하며, 결제 정보는 Google 정책에 따라 Google이 처리합니다. 앱은 기기의 Google Play 스토어 앱을 통해 앱 프로세스가 시작될 때(접근성 서비스 연결로 시작된 경우 포함) 상품 가격과 이 Google 계정의 구매 보유 여부를 조회하고, 광고 제거 화면을 열 때와 그 화면에서 결제 창을 띄우지 못했을 때는 가격을 아직 받지 못한 경우에만 상품 가격을 조회합니다(1.0.28부터는 이때 보유 여부 조회가 아직 한 번도 끝나지 않았으면 보유 여부도 조회). 구매 보유 여부는 구매 복원을 누를 때, 앱 화면으로 돌아올 때, 구매 버튼을 눌렀는데 Google Play가 이미 보유한 상품이라고 알려 줄 때에도 다시 조회합니다. 1.0.28부터는 앱이 보유를 이미 확인한 계정이면 구매 버튼을 누를 때 결제 창을 띄우지 않고 바로 보유 여부를 조회합니다. 또 1.0.28부터는 웰컴 혜택 알림 작업(3항)이 실행될 때에도 보유 여부를 조회하며, 이 작업은 가격을 아직 받지 못했으면 상품 가격도 조회합니다. 구매가 완료되면 구매 확인을 위해 구매 정보를 Google Play에 다시 보내지만 구매 토큰을 저장하지는 않으며, 광고 제거가 적용되었는지(참/거짓)와 1.0.28부터는 이 기기에서 적용된 적이 있는지(참/거짓)만 기기에 저장합니다.
- 웰컴 혜택과 광고 제거 적용(1.0.28부터):
- 웰컴 혜택: 1.0.28 이상 버전을 이 기기에서 처음 실행한 시각부터 7일 동안, 같은 내용(광고 제거와 무료 사용 한도 해제)을 할인가로 파는 별도 상품(한 번 결제, 상품 ID
remove_ads_lifetime_welcome)을 홈 화면·설정 화면·광고 제거 화면에 표시합니다. 광고 제거가 적용되어 있거나, 이 Google 계정이 광고 제거 상품을 이미 보유한 것으로 조회되었거나, 보유 여부 조회가 아직 끝나지 않았거나, Google Play에서 웰컴 혜택 상품의 가격을 받지 못했거나, 그 가격이 정가 상품보다 싸지 않으면 표시하지 않습니다. 가격과 할인율은 Google Play에서 받은 두 상품의 가격으로 표시·계산하고, 남은 기간은 기기에 저장한 첫 실행 시각과 기기 시각으로 기기 안에서 계산합니다. 홈 화면의 웰컴 혜택 카드는 접근성 서비스가 동작 중일 때만 표시하고, 한 번 닫으면 다시 표시하지 않습니다. 기간이 끝나기 약 24시간 전에 알림을 한 번 보냅니다(3항 참고).
- 광고 제거 적용: 결제를 마쳤을 때, 광고 제거 화면에서 "구매 복원"을 눌렀을 때, 이미 보유한 계정으로 구매 버튼을 눌렀을 때 적용됩니다. 두 상품 중 어느 쪽을 보유해도 같습니다. 앱이 스스로 하는 보유 조회(앱 프로세스 시작, 앱 화면 복귀, 광고 제거 화면을 열 때와 그 화면에서 결제 창을 띄우지 못했을 때, 웰컴 혜택 알림 작업)는 아직 구매 확인이 끝나지 않은 새 구매가 있거나 이 기기에서 광고 제거가 적용된 적이 있을 때에만 광고 제거를 적용합니다. 따라서 앱을 다시 설치했거나 앱 데이터를 삭제한 기기에서는 구매 확인이 이미 끝난 구매가 자동으로는 다시 적용되지 않으며, "구매 복원"을 누르면 다시 적용됩니다. 보유가 확인된 계정이면 구매 버튼을 눌러도 결제 없이 다시 적용됩니다(Google 백업에서 앱 설정이 복원된 경우는 6항 참고). 어떤 조회든 성공했는데 보유한 구매가 없으면 적용을 해제하고, 조회에 실패하면 현재 상태를 유지합니다. 1.0.27까지의 버전은 보유 조회에 성공할 때마다 보유 여부대로 적용하거나 해제합니다.
- Google Play 인앱 리뷰: 볼륨이 10번 이상 적용되고, 홈 화면을 처음 연 지 3일이 지났으며, 마지막 요청 뒤 60일이 지났을 때 홈 화면에서 Google Play 리뷰 창을 요청합니다. 창을 실제로 표시할지와 작성한 리뷰는 Google Play가 처리하며, 앱은 리뷰를 작성했는지나 별점·내용을 알 수 없습니다.
- Firebase Analytics(Google Analytics for Firebase): 1항의 사용 이벤트와 사용자 속성을 수집합니다. 접근성 서비스와 서비스 상태 확인 작업이 보내는 이벤트는 앱 화면을 열지 않은 상태에서도 전송될 수 있습니다. 이와 별도로 Firebase Analytics SDK는 앱 인스턴스 ID, 기기 모델·OS 버전·앱 버전·언어, IP 주소에서 추정한 대략적인 지역(국가·도시 등) 같은 정보와 첫 실행·세션 시작·사용 시간·인앱 구매 같은 이벤트를 자동으로 수집합니다. 앱에는 광고 ID 수집을 끄는 설정이 적용되어 있지 않아 광고 ID도 함께 수집될 수 있습니다. 이벤트는 앱 인스턴스 ID(수집되는 경우 광고 ID 포함)와 연결되어 처리되므로 익명 정보가 아닙니다. Google 개인정보처리방침을 참고하세요.
- Firebase Crashlytics: 배포(release) 빌드에서 앱이 비정상 종료되면 오류 스택 정보, 기기 모델·OS 버전·앱 버전 등 진단 정보, 설치 식별자와 함께 빌드를 구분하는 커밋 해시(
git_hash)를 전송합니다. 앱이 Firebase Analytics도 함께 사용하므로, 비정상 종료 보고서에는 비정상 종료 전에 기록된 최근 Analytics 이벤트(1항의 사용 이벤트 포함)가 함께 포함될 수 있습니다. Crashlytics에 포함된 Firebase Sessions가 앱 세션 정보를 함께 전송할 수 있습니다. Google 개인정보처리방침을 참고하세요.
- GitHub Pages: 설정 화면의 "개인정보처리방침"을 누르면 앱 안의 웹 화면이 feelpass.github.io에 있는 이 페이지를 불러옵니다. 이때 GitHub 서버에 IP 주소 등 일반적인 웹 요청 정보가 전달됩니다.
- Android 설정 > Google > 광고에서 광고 ID를 재설정하거나 삭제(또는 맞춤 광고 선택 해제)할 수 있습니다. 메뉴 이름은 기기와 Android 버전에 따라 다를 수 있습니다.
5. 정보의 이용
- 기기에 저장된 설정과 기록: 앱별 설정·조건 규칙·카테고리 규칙에 따른 볼륨 자동 전환과 복원, 볼륨 키로 바꾼 볼륨 처리, 일시중지, 화면 안내, 테마·언어 적용, 광고 제거 적용, 광고·리뷰 요청 빈도 조절, 서비스 꺼짐 알림에 사용합니다. 1.0.28부터는 웰컴 혜택 기간 계산·표시와 종료 안내 알림에도 사용합니다.
- Firebase Analytics 이벤트: 기능이 얼마나 쓰이는지, 어떤 종류의 앱에 볼륨 설정이 쓰이는지, 첫 실행 안내·접근성 설정·구매 과정에서 사용자가 어디서 멈추는지 파악해 앱을 개선하는 데 사용합니다.
- Crashlytics 보고서: 오류 원인을 찾아 앱 안정성을 개선하는 데 사용합니다.
- AdMob: 앱을 무료로 제공하기 위한 광고 게재에 사용됩니다.
- Google Play 결제·인앱 리뷰: 광고 제거 구매를 처리·확인하고, 사용자가 원할 때 앱 리뷰를 남길 수 있게 하는 데 사용됩니다.
6. 보관 및 삭제
- 설정 삭제: 앱 목록에서 앱을 끄면 해당 설정이 꺼진 상태로 기기에 남고, 홈 화면에서 앱을 삭제하면 그 앱의 볼륨 설정과 조건 규칙이 기기에서 함께 지워집니다. 조건 규칙은 볼륨 편집 화면에서 따로 삭제할 수 있고, 카테고리 규칙은 끄면 값이 유지된 채 꺼진 상태로 남습니다.
- 기준 볼륨 임시 기록: 원래 볼륨으로 되돌린 직후, 또는 출력 기기가 바뀌어 되돌릴 수 없게 됐을 때 삭제됩니다. 앱 프로세스가 비정상 종료되면 다음에 서비스가 연결될 때 원래 볼륨으로 되돌린 뒤 삭제하며, 24시간이 지난 기록은 되돌리지 않고 삭제합니다. 스피커로 출력이 돌아올 때 쓰기 위한 스피커 볼륨 값은 메모리에만 잠시 보관하고 저장하지 않습니다.
- 앱 제거: 앱을 제거하면 기기에 저장된 볼륨 설정·규칙·앱 설정·임시 기록이 함께 삭제됩니다. 앱 데이터만 삭제한 경우 광고 동의 선택은 초기화됩니다. 광고 제거는 1.0.27까지의 버전에서는 다음 실행 때 Google Play 조회로 다시 적용되고, 1.0.28부터는 자동으로는 다시 적용되지 않고, 광고 제거 화면에서 "구매 복원"을 누르거나 보유가 확인된 계정으로 구매 버튼을 누르면(결제 없음) 다시 적용됩니다(앱을 제거했다가 다시 설치한 경우도 같음. 다만 다시 설치할 때 Google 백업에서 앱 데이터가 복원되면 아래 "Android 자동 백업"처럼 달라질 수 있음. 자세한 조건은 4항 참고). 1.0.28부터는 이때 웰컴 혜택 기간도 다음 실행 시각부터 새로 계산됩니다.
- 백업 파일: 내보낸 백업 파일은 사용자가 고른 위치에 남으며, 앱을 제거해도 삭제되지 않습니다. 필요 없으면 사용자가 직접 삭제해야 합니다. 클라우드 드라이브 등 다른 서비스가 제공하는 위치를 고르면 그 파일은 해당 서비스의 정책에 따라 보관됩니다.
- Android 자동 백업: 앱은 Android 자동 백업을 허용하며 백업 대상을 제한하는 규칙을 두지 않습니다. 따라서 기기에서 Google 백업이 켜져 있으면 볼륨 설정·규칙과 앱 설정이 사용자의 Google 계정 백업에 포함되어 새 기기나, 앱을 제거했다가 다시 설치한 기기에 복원될 수 있습니다. 앱 설정에는 광고 제거 적용 기록과 웰컴 혜택용 기록(1항)도 들어 있으므로, 1.0.28부터는 백업에서 앱 설정이 복원된 기기에서는 "구매 복원"을 누르지 않아도 Google Play 보유 조회로 광고 제거가 다시 적용될 수 있고, 웰컴 혜택 기간도 이전 첫 실행 시각을 기준으로 이어질 수 있습니다. 백업은 Android 설정의 Google 백업 메뉴에서 관리할 수 있습니다.
- 환불: 광고 제거 구매가 환불·취소되면 다음 Google Play 조회 때 광고 제거 적용이 해제되어, 광고가 다시 표시되고 4항의 무료 사용 한도가 다시 적용됩니다(한도를 넘는 새 조건 규칙·커스텀 카테고리 만들기, 꺼져 있는 카테고리 규칙 켜기, 설정 백업 내보내기·불러오기를 할 수 없음). 볼륨 설정이나 규칙 등 기기의 데이터는 삭제하지 않으며, 이미 만든 규칙·카테고리와 이미 켜 둔 카테고리 규칙은 그대로 동작합니다.
- Google로 전송된 정보: AdMob·Firebase Analytics·Firebase Crashlytics·Google Play로 전송된 정보는 Google이 각 서비스 정책에 따라 보관합니다. 앱을 제거해도 이미 전송된 정보가 함께 삭제되지는 않습니다.
- 전송 중단: 앱 안에는 Firebase Analytics·Crashlytics 전송을 끄는 설정이 없습니다. 접근성 서비스를 끄면 볼륨 자동 적용과 함께 접근성 서비스가 보내는 이벤트(2항)도 발생하지 않습니다. 접근성 서비스를 꺼도 앱 화면을 이용하면 화면 이벤트와 광고 요청은 계속 발생합니다. 광고 SDK 초기화와 광고 요청은 앱 화면을 열 때만 일어나지만, 앱 프로세스가 시작되면 Google Play 구매 조회와 서비스 상태 확인 작업이 실행되며, 이 작업이 서비스 꺼짐 알림을 보낼 때
a11y_lost 이벤트가 전송됩니다.
- 전송된 정보에 관한 문의나 삭제 요청은 아래 문의처로 연락해 주세요.
7. 아동의 개인정보
AppVolume은 만 13세 미만 아동을 대상으로 하지 않으며, 아동의 개인정보를 고의로 수집하지 않습니다.
8. 정책 변경
본 방침은 필요에 따라 갱신될 수 있으며, 변경 시 본 페이지를 통해 안내합니다.
9. 문의
개인정보 처리방침에 대한 문의는 philleeran@gmail.com 으로 연락해 주세요.
시행일: 2026년 10월 4일