7.1 KiB
7.1 KiB
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.apk → montana-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.