Another #HowTo, this time how to use #Signal on #Android without giving it broad media permissions.

Signal does not use the 2 possible secure methods of accessint photos that Android offers, and clones #Whatsapp in that regard.

By insisting on needing access to read all your images, while being a complex app connected to the internet, and the only official versions containing proprietary #Google #blobs.

Links:
- https://community.signalusers.org/t/46828
- https://community.signalusers.org/t/55725

Other messengers like #SimpleX, #Element, #ElementX, #Fluffychat, #Conversations, #Threema and more save themselves the effort and just use the builtin options, improving security by design and unnecessary code bloat.

So, how can I use Signal without trusting it with all my images?

1. Use the "Share" Portal.

That is the obvious one, and a very nice feature on Android. It allows to share any media to an application and giving it access to only that.

This also works across the #WorkProfile or #PrivateSpace and can be used by Apps like #SaveTo to transfer files.

The workflow is often slower than just using the media chooser portal, but it works. It is what I use since years.

2. Android hacks

But this is not all. Setting a profile picture or group profile picture does not work through the share portal. So we use a Feature specific to Androids Sandbox:

- All apps can save files to various default directories like Pictures, Movies, Music, Downloads, Documents; without having read access to it.
- And all apps can access files they themself saved there.

Combining these two features, you can send a picture to Signal and use the "Save locally" button to save it from within the app.

The result is that this picture will be visible in Signals internal gallery and can be selected for profile and group pictures.

Obvious downsides are
- it is a stupid workflow
- it duplicates images that you need to delete manually afterwards
- pictures might be compressed twice, losing quality

But for this very limited purpose, it is kinda fine.

Still, @signalapp please solve this very old issue!

@[email protected] @[email protected]

Implement Android's Photo Picker

Currently, order to attach pictures or video to a message in Signal for Android, the user must grant the app access to photos and media on the device, after they choose on add and choose on “Gallery”. This provides Signal access to all photos, videos, and audio files on the phone thereafter. On Android 11+, Photo Picker (Photo picker  |  Android Developers) is available, which prompts the user to select the photo(s) and video(s), and the app will then only have access to those additional files...

Signal Community

Before anyone takes this as a discussion point pro #iOS...

A few counterarguments on #LocalMess (#Facebook #Instagram #Yandex #LocalhostTracking), why this would make #Android worse than #iOS:

This vulnerability seems to only have existed on Android, but not everyone would need to be affected by it.

I see #GrapheneOS as a perfected form of the Android idea (stripping the #Advertising and Tracking from it, and adding needed extensions to the permission system).

1. #AdBlock and #Tracking Blocking on Android is easy.

Use a Browser like #Ironfox with #UBlockOrigin in advanced mode, and block known tracking Javascript that way.

Solved, no #Metapixel, #GoogleAnalytics, #YandexMetrica, #CloudflareInsights and whatever else exists out there. It is blocked from loading or executing, so it can't listen on your localhost either.

2. Disabling apps

Android has 3 ways to isolate and disable apps. Note that due to this working on localhost, and all user profiles sharing the same localhost, the isolation is worthless here. Only the ability to disable apps is of value.

A: User profiles. Only nice to use on GrapheneOS, but they need barely any storage space and offer the strongest isolation. All data is separately encrypted too so using the same Pin is fine (if your threat is not people seeing your pin)

B: The #PrivateSpace. A new Android feature which allows having a separate nested profile within the main one. You can enable it in the settings, enable auto-lock when turning off the screen, add other restrictions. You can toggle it on and off in the app drawer.

C: The #WorkProfile. This is a pretty old feature, intended to grant your employer control over a nested user profile, but giving you the control to turn it on or off.

When using it alone you need a companion app like #Shelter or #Island, and due to the design this app has full potential control over that profile (so it should be really trusted!).

Work profiles take up a lot of space, but integrate the best into the system (easily accessible, icons can be placed on the home screen).

D: Disabling apps. Android only supports this for system apps. GrapheneOS also allows this for any app but the UI is not great (Androids fault), as apps disappear from the home screen and app drawer. They can be enabled again in the settings.

#CalyxOS has a nice toggle that is very easy to use. Apps do not disappear from the homescreen but appear disabled. This is the easiest way to stop apps from running.

---

GrapheneOS also has support for "private spaces" within separate user profiles, which makes the switching faster and easier.

All these nested or separate profiles use the same localhost (local network), but by turning them off you can fully disable the apps that would serve the cookies used for this method.

3. (Progressive) #Webapps.

While iOS has blocked this feature for years, locking developers to their pricey and walled #AppStore, on Android every Website in your browser can be used like a native app.

#Meta ironically blocks this aggressively, locking Video Playback and more to "their App™". Other apps like #GoogleMaps, #TikTok or #Shitter annoy you with popups, and offer often reduced versions, but they work.

Normal websites like #Discourse forums work just fine.

Webapps are WAY more isolated, cannot and execute random code, everything goes through your browser and the blocklists and restrictions you control.

Using only one of these isolation methods will break any future exploit with this method.

They allow Android users to restrict, disable or confine untrusted apps.

GrapheneOS stays secure and private.

Hopefully the "app disabling" from Calyx will be included soon.

#PWAs

O Mamulu dlaczego ja tego wcześniej nie spróbowałem?!
A i jeszcze dlaczego są tylko dwa profile, znalazłbym zastosowanie dla co najmniej jeszcze jednego. :D

No ale wywalenie gkonta na śmieci wraz z zarejestrowanymi tam aplikacjami na bok, z możliwością ich wyłączenia hurtem jest genialne w swojej prostocie. Nie miałem pojęcia jak mi tego brakowało! xD

#TIL #android #WorkProfile

A taki temat jak shelter. https://alternativeto.net/software/shelter-app/about/ używacie takich rzeczy? Czy są jakieś wcześniej nieznane upierdliwości związane z użyciem tego?
Czy można to instalować kiedykolwiek czy raczej powinna to być pierwsza rzecz na słuchawce?

#android #workProfile

#GrapheneOS on #Android14 works pretty good so far. They even restored the #workprofile behaviour for pausing. Most #UI improvements made it into the os aswell. And this is even the first #alpha built. Looking forward to what comes next.
#Android's #multipleuserprofiles are such a powerful feature. This way, i can have my main profile, with everything reliant on #googleplayservices on my main's #workprofile, a dummy profile that looks real, and a #secure profile with only #grapheneos' default apps and ehnanced #security settings. Overall, it makes it possible to seperate everything. Definitely worth checking out!
The Android work profile solution is something I really like. Enough separation between my own and company data, with the ability to switch off the entire profile with a single click in order to disconnect mentally. That's the perfect compromise for me between carrying around two separate devices and giving my company some control over the content on my personal device.
#Android #Work #WorkProfile

@frankie l am using #CalyxOS on #Fairphone4. Can totally recommend it. Banking App works as it should do. #Workprofile is great feature. I use it for some apps from my work.

#calyx
#fp4

#til & #fyi you can set a schedule for #Android #WorkProfile via settings -> Digital Wellbeing
(Resolved) Known Issue: Devices Upgrading to Android 13 cannot enroll into management https://bit.ly/3WgnbXH #Workprofile #Android13 #Samsung
(Resolved) Known Issue: Devices Upgrading to Android 13 cannot enroll into management

We were recently alerted to an issue where Samsung devices are unable to enroll as personally-owned Work Profile on Android 13. Users may see a dialog box saying that the profile was unable to be created. S21 and S22 devices are confirmed to be affected, but impact on other models may be possible. W...

TECHCOMMUNITY.MICROSOFT.COM