montana/Android/Внешний-аудит/12-Phase3-PlayStore.md
2026-05-21 03:44:38 +03:00

7.1 KiB
Raw Blame History

12. Phase 3 — Production Release + Play Store Readiness (v6.7.0)

Дата: 2026-05-18, продолжение Phase 2.

Что закрыто в этой фазе

Закрытые findings

Finding Closure Verification
F-3.1 Automated purge cron systemd timer daily через mt-vpn-balance-purge.timer systemctl list-timers | grep mt-vpn
F-4 mitigation SPOF Moscow rsync replication каждые 5 мин на 3 узла (Helsinki/Frankfurt/US) через mt-vpn-balance-replicate.timer ssh montana-finland ls /var/lib/mt-vpn-balance-replica/state.json
F-7 Backup confirmation flow Новый экран s-backup-verify между создания и активации — пользователь вводит случайное слово из 24 для подтверждения Reproducible в app v6.7.0
Production release build R8 minification + shrinkResources + proper signing config + ProGuard rules APK 29 MB (vs 32 MB debug), Genesis-signed
Privacy Policy RU + EN опубликованы на https://montana.quest/privacy (HTTP 200) curl probe
Data Safety declaration Play-Store-Pack/data-safety.md — готовая выгрузка для Play Console review
Store listing RU + EN descriptions, screenshots refs, release notes Play-Store-Pack/store-listing.md

Phase 3 deployment status

Компонент Status Доказательство
Production APK release montana-6.7.0-release.apk (29 MB) подписан Genesis-keystore SHA-256 fingerprint 305bc99b…3ce4d
На сайте montana.quest/vpn/montana.apkmontana-v6.7.0-release.apk symlink curl headers
Privacy URL https://montana.quest/privacy живой HTTP 200
Backend Rust mt-vpn-balance.service active, port 5009, signed_accounts > 0 systemctl
VPN cascade haproxy + 3 xray-pinned active enabled systemctl
Daily purge mt-vpn-balance-purge.timer enabled next run 00:03 UTC
State replication mt-vpn-balance-replicate.timer every 5min rsync to 3 nodes

Google Play Store submission checklist

Перед загрузкой APK

  • APK signed with non-debug keystore (Genesis-keystore)
  • versionCode incrementally increasing (60700 > 60600)
  • versionName semver (6.7.0)
  • targetSdk = 34 (Android 14, max actual)
  • minSdk = 24 (Android 7.0)
  • ABI splits: arm64-v8a, armeabi-v7a, x86, x86_64 (universal APK)
  • R8 / ProGuard включен с правильными keep rules
  • No debug code / log spam в release build
  • Foreground service permission decorated specialUse (Android 14+ требование)
  • WebView allowed cleartext только к https://montana.local/ synthetic baseURL

Play Console submission

  • Privacy Policy URL: https://montana.quest/privacy ← готова и HTTP 200
  • Data Safety declaration текст готов — Play-Store-Pack/data-safety.md
  • App content rating answers: Play-Store-Pack/store-listing.md § Content rating
  • Store listing RU + EN: Play-Store-Pack/store-listing.md
  • Feature graphic 1024×500 — TODO: создать в графическом редакторе
  • Phone screenshots: использовать m626-*.png, m640-*.png, m660-*.png из /tmp/ сессии
  • Promo video — optional, можно отложить
  • Google Developer Account ($25) — требует автора
  • Privacy policy compliance verified by Google — после submission

Ответы на Google Play обязательные вопросы

App access

Q: Is any part of your app or game restricted by a login, password, or other authentication mechanism?
A: No. Wallet creation is anonymous, no login required.

Ads

Q: Does your app contain ads?
A: No.

Target audience

Q: Select target age groups
A: Ages 18 and over (финансовый функционал — Ɉ accumulation).

News apps

A: No.

COVID-19 contact tracing & status

A: No.

Data Safety section

См. Play-Store-Pack/data-safety.md.


Что осталось до полного mainnet (Phase 4)

Задача Severity Cost
CF-Phase2-1 Falcon-512 замена Ed25519 (post-quantum) Средний 2-3 недели (Android NDK + JNI bridge)
F-6 Encrypted seed через user passcode (Android Keystore wrap) Высокий 1 неделя
CF-Phase2-2 TOFU revocation flow Средний 1 неделя
TimeChain consensus opcode 0x06 VpnHeartbeat Низкий (текущая защита достаточна для MVP) 3-4 недели (spec patch v35.26 + mt-account + montana-node)
CF-recovery-tests Automated unit + instrumented tests Высокий 2 дня
F-8 SLIP-44 + BIP44 cross-wallet compatibility Средний (UX warning достаточно для MVP) 1 неделя

Готовность к Play Store submission

Готово к internal testing track: Yes
Готово к closed/open testing: Yes
Готово к production submission: ⚠️ Зависит от:

  • Подтверждение от автора что keystore backup надёжен
  • Подтверждение что hosting providers согласны с публичной публикацией infrastructure
  • Feature graphic (1024×500) создан

Не блокирует submission: все остальные Phase 4 задачи — это улучшения безопасности post-launch, не блокеры для Play Store guidelines.


Команды для submission (для автора)

1. Создать Google Developer Account

URL: https://play.google.com/console/u/0/signup
Cost: $25 one-time

2. Upload APK в Internal testing

Play Console → All apps → Create app
  → Name: Montana VPN
  → Default language: Russian (RU)
  → App or game: App
  → Free or paid: Free
  → Declarations: всё подписать
Release management → Internal testing
  → New release → Upload APK
  → File: /Users/kh./Python/Ничто/Montana/Android/build/montana-6.7.0-release.apk
  → Release notes: см. Play-Store-Pack/store-listing.md

3. Заполнить Store listing

Store presence → Main store listing
  → Подгрузить тексты из Play-Store-Pack/store-listing.md
  → Загрузить screenshots

4. Заполнить Data Safety

Policy → App content → Data safety
  → Использовать `Play-Store-Pack/data-safety.md` как guide

5. Privacy Policy URL

Already live: https://montana.quest/privacy
Вставить URL в Store presence → Privacy policy

6. Promote через testing → production

Internal → Closed → Open → Production

Время от submission до approval: обычно 1-3 дня для нового app.