Starling 0.3.1
0.3.1 hardens the Android wrapper. It came out of an external review round on the panic wipe, the Tor toggle, and the biometric path. Nothing new to learn. Just update.
What changed
The panic wipe stopped trusting the system to clean up the Keystore. Android does clear an app's keystore namespace during clear-data, but that half runs in another process and swallows its errors. The wipe now deletes the wrap key and the share notification channel itself, in-process, before handing off to the system wipe.
Tor mode got three fixes. The proxy rule says socks5 outright, so hostname lookups go through the proxy. Bare socks already meant SOCKS5 in Chromium, but nobody should have to read Chromium source to trust that. Flipping the toggle reloads the page, which strands connections opened under the old setting. And while the toggle is on, fixes come from GPS only: the network provider works by sending nearby wifi and cell identifiers to an off-device lookup, which is the exact side channel you turned Tor on to avoid.
The biometric prompt used to zero its copy of the vault key only when auth succeeded. Now it zeroes on every exit, dismissal and error included.
Two doc changes worth naming. The threat model says outright that nothing here has had an external audit. The Android notes spell out the Tor toggle's limits: it assumes Orbot's default port 9050 and fails closed if the port moved, it only covers the WebView, and nothing stops another local app squatting the port. Orbot's per-app VPN mode has none of those caveats and works with zero code on our side.
Verify this build
Signed with the certificate whose SHA-256 fingerprint is served at starlingmap.app/.well-known/assetlinks.json. Reproducible: a clean checkout of tag v0.3.1 (npm ci, bash tools/sync-vendor.sh, ./gradlew assembleRelease in android/) yields an unsigned APK with sha256 5aa9d250b6e79d42db6e3327198bb0e55a99db3beae2f52eb8776aa812852be6, and signing with the same key yields this exact file:
c4eea5fd4653b264e79f75505462e8fb75af5e2952eb42ee073a65f1be9b8cb2 starling-0.3.1.apk