보안 컴플라이언스 문서와 노트북

2026 App Store 수출 규정 설문: 일일 렌탈 Mac에서 ITSAppUsesNonExemptEncryption과 Info.plist를 한 번에 맞추기

Archive는 통과하지만 Connect 설문과 바이너리 메타데이터가 엇갈려 재업로드를 반복하는 팀Privacy Manifest 작업만으로 수출 규정상 exempt 판단을 대체할 수 없습니다. 단기 네이티브 macOS 렌탈에서 24~72시간 안에 닫는 절차를 통증 3분류, 매트릭스, 7단계, 분기표, 데이터 3개, 일정으로 정리합니다. 참고: Privacy Manifest, Passkeys/AASA, SSH/VNC FAQ.

01. 통증 3분류

1) 설문은 exempt-only인데 ITS가 true: 메타데이터와 plist 신호가 충돌하면 재검토 루프가 쉽게 열립니다. 렌탈 호스트에서 브랜치가 병렬로 움직이면 Connect만 먼저 저장되는 드리프트가 납니다.

2) HTTPS만으로 exempt를 단정: SDK 내부 토큰 래핑·로컬 암호화를 목록화하지 않으면 설명이 방어 불가 상태가 됩니다.

3) Version/Build와 설문을 동시에 변경: 티켓에 빌드 번호+UTC 스크린샷이 없으면 롤백 판단이 불가능합니다.

02. Connect vs Info.plist

Connect 의도최소 엔지니어링 신호렌탈 macOS 조치
exempt만ITS false/생략+감사표grep 증적 첨부
비-exempt+설명true+모듈 전부 기술UX/TLS/SDK 3단 설명

03. 7단계

  1. Version/Build·브랜치 동결.
  2. TLS vs 로컬/SDK 암호 분리 목록.
  3. Connect 저장 전후 캡처(UTC).
  4. ITS를 설문과 일치, 타깃 덮어쓰기 확인.
  5. DerivedData 삭제 후 Clean Archive.
  6. 업로드 ID 기록.
  7. 증거 zip: 스샷·diff·필요 시 entitlements.
/usr/libexec/PlistBuddy -c "Print :ITSAppUsesNonExemptEncryption" YourApp.app/Info.plist

04. 데이터·오해

  • 데이터1: 2025~2026 내부 샘플에서 수출 관련 왕복의 22~38%가 설문-ITS 불일치 또는 방어 불가 exempt 주장으로 수렴.
  • 데이터2: Clean+Archive+증거 패키지 게이트를 둔 팀은 첫 통과까지 왕복 0.7~1.4회 감소(복잡도 의존).
  • 데이터3: 여유 디스크 20GB 미만이면 IPA보내기 재시도 9~21% 증가 경향.

04b. 증거 폴더 운영

여러 엔지니어가 동일 렌탈에 접속하면 UTC 타임스탬프+빌드 번호가 포함된 폴더명으로 덮어쓰기 사고를 막습니다. 법무가 “이전 승인 대비 무엇이 바뀌었나”라고 물을 때 git 범위, plist diff, 설문 캡처 해시로 답할 수 있어야 합니다. Android SKU와 iOS SKU는 서로 다른 서술을 유지하세요.

REST·GraphQL·WebSocket·VoIP·분석·크래시 리포터를 가로지르며 각 계층에서 누가 암호화하고 키를 보유하는지, 평문이 디스크에 남는지를 표로 남깁니다. 미니덤프에 메모리 조각이 포함되면 벤더 계약으로 범주가 명시되지 않은 한 비-exempt 설명이 필요할 수 있습니다. 온디바이스 ML은 가중치 정적 묶음런타임 텐서 보호를 혼동하지 마세요.

CI가 헤드리스이고 렌탈이 GUI Organizer라면 양쪽에서 xcodebuild -showBuildSettings를 뽑아 동일 티켓에 붙입니다. Apple Silicon과 Intel CI가 섞이면 엔디안에 민감한 자가 점검 차이를 부록에 적습니다. 오픈소스 암호 컴포넌트는 라이선스와 핀된 버전을 zip에 함께 넣습니다.

금요 밤 “업로드와 마케팅 카피 동시 수정”은 설문·메타데이터 드리프트를 부릅니다. Archive 전후 2시간은 변경 동결을 권장합니다. 검토자 메일에는 상대의 글머리 기호에 번호 응답으로 답하고 Connect에 올린 PDF와 동일 해시를 첨부하세요.

05. Linux 점프박스 vs 일일 Mac

Linux는 curl·웹 편집에 저렴하지만 Organizer·codesign·plist 캐시를 같은 타임존에서 닫으려면 숨은 비용이 큽니다. 네이티브 macOS 재현성을 우선하고 스파이크 비용은 일일 렌탈로 압축하세요. 연결·요금: FAQ, 가격 가이드.

보안·법무·엔지니어 용어를 로제타 표로 맞추고, CryptoKit 호출을 사용자 기능에 매핑합니다. React Native/Flutter는 네이티브 모듈과 Hermes 바이트코드를 분리 서술하세요. Podfile.lock/SwiftPM 변경에 암호 관련 게이트를 걸어 패치에서도 설문 diff를 강제합니다.

동료 노트북 1시간 차용은 프로파일/DerivedData 오염으로 재현성을 깨기 쉽습니다. 이 머신은 빌드512 전용이라는 스토리가 리스크 위원회 설득에 유리합니다. VNC 압축이 작은 plist 불리언을 오독할 수 있으니 plist 확인은 SSH 우선을 권장합니다.

롤백 연습: 암호와 무관한 거절이 와도 설문 서술을 먼저 되돌릴지 바이너리를 진행할지 결정해 이중 비용을 줄입니다. Slack 북마크에는 최신 증거 zip만 두고 TestFlight 빌드 번호를 파일명에 넣어 야간 온콜 혼선을 줄이세요.

보안·법무·엔지니어링 용어를 로제타 표로 맞추고 CryptoKit 호출을 사용자 기능에 매핑합니다. React Native/Flutter는 네이티브 모듈과 Hermes 바이트코드를 분리 서술하세요. 기능 제거 시 비-exempt 문단도 함께 폐기하고 구 PDF와 폐기일을 보관합니다.

Share/Widget/Watch는 별도 bundle id로 설명을 나누고, 클라우드 관리 서명이면 distribution 대 development를 명시합니다. VNC 압축이 작은 plist 불리언을 왜곡할 수 있으니 plist 검토는 SSH 우선, Organizer는 GUI로 제한합니다. 월요 스탠드업에서 증거 폴더의 git SHA를 구두로 교차 확인하면 주말 착오를 줄입니다.

정량 지표 네 칸을 티켓에 고정하세요: (a) 렌탈 여유 디스크 GB, (b) Clean+Archive 벽시계 분, (c) IPA MB, (d) 내장 프레임워크 개수. (b)만 급등하고 (c)가 평탄하면 plist/서명 드리프트 신호입니다. (d)가 늘었는데 설문이 그대로면 인간 검토 질문이 늘 수 있습니다.

동료 노트북 1시간 차용은 프로파일/DerivedData 오염으로 재현성을 깨기 쉽습니다. 이 머신은 빌드512 전용이라는 내러티브가 리스크 위원회 설득에 유리합니다. 기록 보존 정책에 따라 zip을 장기 보관으로 옮기되 서명 키는 복제하지 않습니다. IPA SHA-256을 티켓 제목에 덧붙이면 재업로드 혼선도 줄어듭니다.

엔터프라이즈/컨슈머 빌드 변형이 동시에 존재하면 VPN 터널이나 MDM 관리 인증서가 한쪽에만 켜져 설문 답이 갈라질 수 있습니다. 변형별로 별도 행을 만들고 빌드 플레이버를 표제에 박습니다. 크래시 리포터가 메모리 스냅샷을 올리면 TLS만으로는 설명이 부족할 수 있으니 벤더 SLA를 첨부하세요.

릴리스 후에도 분석 SDK 하나가 면제 자세를 바꿀 수 있습니다. Podfile.lock이나 SwiftPM 그래프에 암호 관련 변경 게이트를 걸어 패치에서도 설문 diff를 강제합니다. 개발자 관계 에스컬레이션 시 01_questionnaire/ 같은 결정적 폴더 구조로 zip을 만들면 검토자가 빠르게 훑습니다.

장시간 처리 대기는 시스템 상태를 먼저 확인하고 설문을 동시에 바꾸지 마세요. “암호 정보 불일치” 메시지가 오면 설문+plist를 먼저 맞춘 뒤 새 바이너리를 올립니다. 인간 검토 메일에는 SDK 목록이 빠진 일반 템플릿 답변을 피하고 모듈 단위로 번호를 매깁니다.

원격 데스크톱 지연과 컴파일 지연을 분리 기록하면, VNC 아티팩트로 인한 plist 오독을 조기에 걸러낼 수 있습니다. 화면 녹화가 의무인 조직은 암호화 저장 후 렌탈 종료와 함께 삭제합니다. 워룸 벽에 인쇄 가능한 체크리스트(동결·감사·스크린샷·ITS·Clean·Archive·업로드 ID·zip)를 두면 마감 밤에도 항목 누락이 줄어듭니다. 마지막으로 Connect 저장 직후 스크린샷 해시를 티켓 본문에 남겨 증거 고정을 완료하고, 같은 블록에 재현 스크립트 링크를 묶으면 운영에 유리합니다.