Документы соответствия и ноутбук

2026 Экспортный комплаенс App Store: анкета и ITSAppUsesNonExemptEncryption на посуточном Mac

Если архивы собираются, но ответы Connect расходятся с бинарными метаданными, работа над Privacy Manifest не заменяет экспортно-шифровую аргументацию. Здесь — сходимость за 24–72 часа на нативном арендованном macOS: три кластера рисков, матрица, семь шагов, три метрики. Ссылки: Privacy Manifest, Passkeys, SSH/VNC FAQ.

01. Кластеры проблем

1) В анкете «только exempt», а ITS=true: конфликт метаданных и plist провоцирует повторные проверки.

2) TLS как самодостаточный exempt: нужен инвентарь SDK и локального шифрования.

3) Параллельная смена Version/Build и анкеты: без номера билда и UTC-скриншотов нельзя откатить причину.

02. Матрица

ConnectСигналДействие на аренде
только exemptITS false/отсутствует + аудитлоги grep в тикет
не exempttrue + покрытие модулейтекст UX/TLS/SDK

03. Семь шагов

  1. Заморозить Version/Build.
  2. Разделить TLS и локальное/SDK-шифрование.
  3. Скриншоты до/после сохранения анкеты.
  4. Синхронизировать ITS, проверить overrides target.
  5. Удалить DerivedData, Clean Archive.
  6. Зафиксировать ID загрузки.
  7. Zip-доказательства: скрины, diff, при необходимости entitlements.
/usr/libexec/PlistBuddy -c "Print :ITSAppUsesNonExemptEncryption" path/to/YourApp.app/Info.plist

04. Метрики

  • M1: 22–38 % «экспортных» итераций сходятся к конфликту ITS/анкета (внутренняя выборка).
  • M2: Ворота Clean+Archive+доказательства снижают медиану кругов на 0,7–1,4.
  • M3: <20 ГБ свободно ⇒ +9–21 % ретраев экспорта IPA.

04b. Эксплуатация и цепочка доказательств

Несколько инженеров на одном арендованном хосте: требуйте каталоги UTC+сборка, только добавление, чтобы вложения в Slack не перезаписывались. Юристы спрашивают «что изменилось с прошлого одобрения?»—отвечайте диапазоном git, diff plist и хэшем скриншотов без повторного Xcode на другой машине. Разделяйте iOS и Android повествования, чтобы не копировать в Catalyst.

Сквозная таблица REST/GraphQL/WebSocket/VoIP/аналитика/краши: для каждого слоя фиксируйте кто шифрует, кто держит ключи, был ли plaintext на диске. Минидампы с памятью без договора вендора часто требуют non-exempt описания. On-device ML: разделяйте статические веса и рантайм-тензоры.

Безголовый CI и GUI Organizer: прикладывайте xcodebuild -showBuildSettings с обеих сторон. Смесь Apple Silicon / Intel — фиксируйте архитектуру. OSS-крипто: лицензии и закреплённые версии в zip.

Пятничный вечер + маркетинг параллельно = дрейф анкеты: двухчасовой freeze вокруг Archive. Ответы письмом нумеруйте; zip с 01_questionnaire/ и т.д. Откат: сначала решите, откатывать нарратив или бинарник. VNC может искажать булевы — сначала SSH.

05. Linux vs посуточный Mac

Linux дёшев для скриптов, но Organizer/codesign/plist требуют нативной согласованности macOS. Посуточная аренда укладывает затраты в пик. FAQ, гид Mac mini M4.

Расширения с отдельными bundle id включайте в тот же тикет. Для cloud-managed signing фиксируйте distribution vs development — дрейф entitlements снова открывает вопросы. Таблица «Розетта» для безопасности/юридического/инженерного языка; VNC может искажать мелкие булевы в plist — смотреть по SSH.