Following from legacy/trac#26242 (moved), we must decide how we will distribute this app for initial download and installation.
Marketplaces (Google Play Store, F-Droid, etc.)
Direct download
...?
We can't only rely on the marketplaces, because those are blocked on some networks. We can use the same mechanisms (such as gettor) for distributing TBA. One major difference on Android (when compared with desktop) is the difficulty with which a user can verify the downloaded blob is authentic. Simply checking the cryptographic signature is not easy, and bootstrapping trust is not as easy here. Have any other project solved this in a way we can use?
Designs
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
I have been thinking about this problem for some time and I propose two things:
Add in the onboarding a link to the wiki about how to validate the APK.
Add a button in the TBA menu called "Validate App". When the user clicks on it, TBA fetchs a json from the onion service with information about what is the current version and signin certificate and checks if the current certificate is the same of the installed app. We also should tech the user that this approach doesn't work if the app is tampered.
F-Droid //client// (specifically Bazaar) is a great "offline" app store.
I haven't follow the progress of the project in a while, but it does allow for these sorts of things:
peer-to-peer app distribution over wifi
peer-to-peer app distribution over bluetooth
peer-to-peer app distribution over NFC, Android Beam
peer-to-peer app verification
.onion repos
sharing repo identities in person
Not the //client//, but also part of the F-Droid ecosystem:
trusted repos created with Repomaker, a web-based UI (not yet ready for production)
While arguably we can't get everyone to use F-Droid, I just wanted to point out that they have designed it much with these use cases and problems in mind.
I believe we should focus some resources on educating users about these peer-to-peer options, so that they can leverage existing trust relationships within communities.
We also have this ticket for automated(?) F-Droid releases here: #27539
Lastly, Nathan has a ticket to consider the broader UX issue of using the Guardian Project's F-Droid repo in censored regions here: tpo/ux/team#77 (closed)
@gaba@richard@gus Is this ticket still necessary in your view, or can we close?