Capture / Install the Android app
Install the Android app
The lwis app runs on Android 9 or later. It isn't in an app store yet: you download the APK from lookwhatisee.xyz and can check it before you install it.
Download and install
- On your phone, open /download/apk. The file is named after the release, for example
lwis-0.11.0+abc1234.apk. - Open the downloaded file. Android asks you to allow installs from your browser or file manager the first time.
- Open lwis. Use a screen lock on your phone: the app protects its pairing secrets with an Android Keystore key that needs your fingerprint or screen lock. Removing the screen lock later erases that key, and you then pair again.
The app's capture UI is bundled inside the APK. No server can push new code into it.
Check the APK before you install it
You can check the download on a computer first, in either of two ways.
The minisign signature
Every release file has a minisign signature next to it. The release public key is RWQ3k1eNSLv/THHxZ9vd5wWyQEfYXQObusc6FSR7DLDV8tWIbAIhJlAv (key id 4CFFBB488D579337). It is also published in DNS: see Verifying releases.
curl -fsSLo lwis.apk https://lookwhatisee.xyz/download/apk
curl -fsSLo lwis.apk.minisig https://lookwhatisee.xyz/download/apk.minisig
minisign -Vm lwis.apk -x lwis.apk.minisig -P RWQ3k1eNSLv/THHxZ9vd5wWyQEfYXQObusc6FSR7DLDV8tWIbAIhJlAv
The signing certificate
Android identifies an app by the certificate that signs it. Check it with apksigner from the Android build tools:
apksigner verify --print-certs --min-sdk-version 28 lwis.apk
The SHA-256 digest of the signer certificate must be:
0e88d987a52a7a8a6f4a2926a3767633cdd8b68adf023148544e03d6331a9bc6
The same value is published in the DNS TXT record _android._lwis-release.lookwhatisee.xyz:
dig +short TXT _android._lwis-release.lookwhatisee.xyz
Updates
The app doesn't update itself. To update, download the new APK from /download/apk and install it over the old one: Android keeps your pairings, contacts and identity. The current version and its checksum are listed in /download/manifest.json.
Android only accepts an update signed by the same key as the installed app, so a tampered APK is refused.
Key rotation from early releases
The first developer-preview releases were signed with a public debug key. Current releases are signed with the offline release key above, and carry an APK Signature Scheme v3 rotation proof from the debug key to the release key.
- If you installed an early release, install a current one over it. Your data is kept, and from then on Android refuses any update that isn't signed by the release key.
- Until you do, anyone holding the public debug key could sign an "update" your phone would accept. Update soon.
- Fresh installs have nothing to compare with: check the certificate or the signature as shown above.
Next steps
- Pair the phone with your machine.
- Choose how the phone wakes up for new captures while lwis is closed.
- Create your identity to send captures to people.