missing-root
My recommendations are driven more by the need for simplicity and ease of setup for less technical users.

My grandparents can comfortably trust and install signal, or trust and use a USB-C flash drive.
Less so for localhost + a random app.

Side question - could one use a localhost solution via native GOS tools only, without trusting a new app? Curious to learn.

missing-root signal is paid by donations

Point well taken
Agreed that USB-C would be the more socially responsible choice, depending on your usage / volume / feelings about Signal etc

    zzz

    I dont get the grandparents and socially choice thing.

    Localhost is there, syncthing-fork works well, that other app is also very likely secure.

    Using a usb flash device means it needs to be unencrypted. Android is uncapable of LUKS or other encryption methods for external media.

    Android is also incapable of wiping a USB device afaik. So overwriting it with /dev/urandom, 0-s or 1-s. So if you use a flashdrive, you use an unencrypted medium and leave traces on it, even when deleting the things.

    So well, I would say encrypted localhost communication is more secure.

    I dont use user profiles, I just use the private space and the work profile. There I can just use the native share portal.

    Android has no native network sharing option afaik. Just bluetooth.

    I've tried Inter Profile Sharing, it works very well and you can enable encryption. The app has been designed and tested especially for GrapheneOS according to the developer.

    In a similar vein, I'm thinking of Localsend which is a great app too that I discovered through Josh from Side of Burritos, your devices just need to be on the same LAN, it uses Multicast DNS to detect your devices on your LAN, there's nothing to configure and exchanging data between my different devices has never been easier.

      Xtreix

      You can also set some localsend devices as favourites and allow auto-downloading from them. This makes it easier for sending stuff to user profiles

      Inter Profile Sharing dev here (Hello!)

      ryrona Until then, I transfer files to my computer and back to the other profile using MTP over USB-C. That avoids exposing the file metadata to the internet or even local network, avoids exposing the files unencrypted to the USB stick, and avoids relying on possibly unaudited third-party apps.

      Just to clarify: Inter Profile Sharing specifically only listens to connections on the local loopback device. Even while your phone is connected to a network, nobody in that same network should be able to connect to it. Furthermore, with encryption enabled not even other applications on the same device will be able to obtain any information on what is being shared.

      The App has indeed not been audited by a third-party so far (paying for a professional review isn't really reasonable for a hobby project that I mostly wrote for myself). I made sure to thoroughly document and comment the code though, and I welcome anyone to take a look at the code, it's really quite simple. The App has 2000 lines of code, most of which is UI-related boilerplate.

      For the curious I've picked out the most relevant code-parts here:

      zzz Side question - could one use a localhost solution via native GOS tools only, without trusting a new app?

      I didn't find one, but you could instead use KDE Connect, it's not quite as convenient but it gets the job done and should be easier to trust. It even works without any network connection at all if you pair profiles manually via 127.0.0.1

      It's totally understandable to question new random apps that pop out of nowhere. Let me know if there are any other concerns I can try to clear up!

      Cheers

        patrickd

        Thanks for the info, I really appreciate it.

        I take back what I said about ease of use and grandparents, I had misunderstood. After looking at it closer, seems like this app is in fact very easy to use.

        Trust remains a barrier for me with any project that's only a few weeks old, but I respect the transparent approach taken here.
        I plan to keep my eye on this app, and will consider adopting after some time has passed.

        Thanks again ~

        24 days later

        Nice app very simply to use.
        It would be nice to choose a specific folder instead of the download folder. Because the download folder could already be shared with other applications.

        2 months later

        Finally, is this application the permanent solution for file sharing between user profiles or does it simply operate based on a security flaw and is doomed to be removed?

          Goseur7 I don't think anyone really knows. In the context of GrapheneOS, people usually use secondary user profiles as a means to do compartmentalization into security domains. In that case, I do argue the shared loopback interface is a security flaw that should get fixed. However, Google never intended secondary user profiles to be used for compartmentalization, but instead to allow different physical users to share a single phone. In that context, the shared loopback interface would likely not be seen as a problem at all.

          I think the GrapheneOS developers are planning to create separate loopback interfaces per profile, or at least isolate the communication in some sense: https://github.com/GrapheneOS/os-issue-tracker/issues/4772

          So, in the context of GrapheneOS, this app might stop working in the future. But it most likely will keep working for a few more years, since this is not a prioritized issue. And we can hope that actual proper built-in support for copying or moving files between user profiles is implemented before then.

          patrickd Hey, I know this is kind of an old thread but have you thought about doing some static analysis of your tool? I doubt it would find much if any things to fix but might be worth a check. I know you said they you welcome others to take a look at your code, but figured I'd give you a heads up, GitHub allows using their scanner for free for open source projects. Better to use it 'offline' via CodeQL so it does not open pull requests with potential findings.