런북 — Play 앱 콘텐츠 선언 (`play-app-content`)
Play 앱 콘텐츠(App content)의 선언을 채우거나 고칠 때 — 광고 포함 여부, 앱 액세스, 콘텐츠 등급 설문, 타깃층과 콘텐츠, 뉴스 앱, 정부 앱, 금융 기능, 건강 앱, 광고 ID. **데이터 보안은 이 런북에서 뺀다** — Claude 가 API(`applications.dataSafety`)로 한다.
등급 미검증 — 가드 없는 실행에서 이 선언들이 원본 앱 답으로 복사됐고 틀렸다. 가드를 갖춘 첫 실행은 드라이런 뒤에 사람이 지켜보며 한다. 공통 절차는
cc-dev:grok-bot-handoff, 구분·권한·선언 원칙은 SKILL.md §5.
언제#
Play 앱 콘텐츠(App content)의 선언을 채우거나 고칠 때 — 광고 포함 여부, 앱 액세스, 콘텐츠 등급 설문, 타깃층과 콘텐츠, 뉴스 앱, 정부 앱, 금융 기능, 건강 앱, 광고 ID.
데이터 보안은 이 런북에서 뺀다 — Claude 가 API(applications.dataSafety)로 한다.
전제#
-
답표 — Claude 가 대상 바이너리에서 만든 답(SKILL.md
§5)을 소유 조직이 확정했다(값 시트
confirmed) -
칸 기준 점검(value-sheet.md
§3)에 넣을 전제 칸: 이번에 넣을 선언의 칸(
store.containsAds store.contentRating store.targetAudience store.advertisingId store.appAccess등 — 이름은 value-sheet.md §1)과botAccount play.developerName - 봇 계정 권한: 그 앱에만 "Manage policy declarations" + "Manage store presence"(콘텐츠 등급이 여기에 속한다) — 작업하는 동안만
- 앱 액세스의 심사용 자격 증명은 값 시트에
secretRef만 있다. 값은 사람이 넣는다
입력값#
선언마다 문항 → 답 표. 답표에 없는 문항은 입력하지 않는다. 이미 답이 들어 있는 선언을 고칠 때는 브리프의 고쳐 넣기 표(지금 답 → 바꿀 답)를 쓴다.
순서 — 브리프 §3 에 옮긴다#
- 앱 콘텐츠 화면을 연다
- 선언마다 답표대로 입력한다. 이미 답이 있으면 고쳐 넣기 표의 "지금 답" 과 같을 때만 바꾼다. 답표에 없는 문항이 나오면 멈춘다
- 앱 액세스: 자격 증명 칸이 나오면 보안 입력으로 사람에게 요청한다. 보안 입력이 뜨지 않으면 넘겨받기를 요청한다
- 콘텐츠 등급 설문 제출: Ask first — 사람이 답을 보고 Allow once
- 선언마다 저장·제출: Ask first
멈추고 사람을 부를 때 — 브리프 §4 에 더한다#
- 답표에 없는 문항이 나온다
- 이미 답이 들어 있는데 고쳐 넣기 표에 없거나 "지금 답" 과 다르다
- 설문 결과로 나온 등급이 답표의 예상과 다르다
기대 결과#
선언마다 한 행 — type declaration, source brief. 앱 액세스 자격 증명 행은 value (보안 입력), source
human.
검증#
- 사람: 앱 콘텐츠 화면에서 선언마다 답표와 대조한다. 이 선언들은 API 로 읽을 수 없다.
-
Claude: 광고 ID 선언, AAB 매니페스트의
AD_ID권한, 데이터 보안 답이 서로 맞는지 본다. 첫 실행에서는 "수집 없음" 데이터 보안과 "광고 ID 사용" 이 한 제출 안에서 모순이었다. - 공개 뒤: 공개 페이지의 데이터 보안 요약을 개인정보처리방침·답표와 대조한다(SKILL.md §7).