A wrong password fetched the encrypted APK before being refused, and a
phone browser can keep that fetch as a download. A small sealed check is
opened first; nothing is fetched when it fails.
Agent: main (opus)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- version 0.2.0 (versionCode 2)
- The app reads version.json from the download page once at launch and
offers the page when a newer build is out; settings shows the version
and a check button.
- tools/publish-download.py encrypts an APK under the download password
and writes the page that decrypts it in the browser.
Agent: main (opus)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>