#SaveTo

2025-12-01

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:
- community.signalusers.org/t/46
- community.signalusers.org/t/55

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!

@signal@lemmy.ml @signal@lemmy.blahaj.zone

2022-01-09

Давно не писал ничего про Сохранялку, а ведь она получила несколько обновлений. Самое последнее (1.15.2) ещё на одобрении в Google и F-Droid.

// Пока писал, в GPlay уже одобрили. В F-Droid робот приходит раз в неделю, так что или в выходные, или на следующей неделе будет

1. Теперь приложение умеет прикидываться вьювером. Эта фича добавлена по просьбе пользователя, у которого какая-то прилага позволяет открывать PDF для просмотра во внешнем приложении, но не позволяет его сохранять и даже шарить. И внешний PDF вьювер, которым он пользуется, тоже не умеет шарить (кстати, тот, который у меня - тоже не умеет, лол). Если у вас есть подобные сценарии, то в настройках нужно включить опцию обработки события ACTION_VIEW. Тогда "открытие" внутри Сохранялки будет вызывать, собственно, сохранение

2. Для новой опции добавлен выбор, куда пробрасывать при ACTION_VIEW - в ручное сохранение или в автоматическое

3. Т.к. Сохранялка начинает прикидываться вьювером, есть проблема, что можно ткнуть "Всегда" в запросе системы, где открывать файл. Если это сделать, то файл уже нельзя будет нормально открыть, т.к. Сохранялка всегда будет создавать копии съедаемого файла. Чтобы обойти эту проблему, добавлена опция для проверки, является ли Сохранялка обработчиком по умолчанию для полученного типа файла. Если да, то вывешивается нотификаци, тап по которой сразу бросает в системный экран, где нужно просто нажать кнопку сброса дефолтов. В старших версиях бросает сразу на нужный экран, в младших нужно сделать 1 дополнительный тап: notabug.org/Umnik/SaveTo/issue

4. Исправлено падение, которое появилась из-за перевода одного экрана на дата бингдинг. Точнее не из-за этого, а из-за того, что я перенёс экран, когда делал дата биндинг, но не поправил для его вызова интент. Падение происходило только если пытаться отключить иконку в лончере. Впрочем, я в принципе не рекомендую отключать иконку. Фича была добавлена по просьбе пользователя, который сделал мне перевод то ли на русский, то ли на китайский язык, уже не помню

5. Обновлены зависимости

GPlay: play.google.com/store/apps/det

F-Droid: f-droid.org/ru/packages/xyz.my

#Android #opensource #saveto #сохранялка #fdroid

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst