GrapheneOS F-Droid only uses developer signing for a tiny portion of the apps they publish despite it being possible for most. A major problem with the approach is that it means updates end if F-Droid disagrees with anything the developer has done instead of F-Droid often eventually doing the update after removing or changing the code they have an issue with. This means users can be indefinitely cut off from security patches and other important updates. F-Droid is not protecting you from app developers in any significant way, that's a misconception, but they are adding another trusted party and are frequently delaying security updates. You're still trusting F-Droid for the initial install with one of the few apps that's signed by developers in their repositories unless you're verifying that another way after installing and are trusting them to provide important updates unless you're closely monitoring it.
You are right about this and I would too like to have more developer signed apps on F-Droid.
GrapheneOS There's no one checking the code in updates for apps in practice. F-Droid certainly isn't doing it despite many people having the misconception they do. There are many cases where many months or even years later they found out an app did something against their policies or which they should have marked with one or more of their anti-feature flags. WireGuard successfully switched to a self-update system and escaped from being bound by F-Droid policies because it was one of the few apps using developer signatures and F-Droid never noticed they very obviously shipped a self-update system. It wasn't hidden, was plainly visible in the manifest/code and was openly announced. F-Droid still didn't notice and it was many months before it was brought up by the developer of the WireGuard app which is the only reason they know about it. F-Droid then stopped distributing it, but the app was already handling updating itself so most users weren't cut off from updates unless they were very far behind such as not updating for a year. It goes to show that F-Droid would not provide any protection against a hidden malicious change when developers can openly ship something like this.
I don't expect F-Droid to check all their apps and therefore I am still very careful with critical permissions.
F-Droid shouldn't say that they check all the code, and I don't think that they say it like this.
But what I really appreciate is, that F-Droid encourage and tests reproducible builds, so the "everyone can check the source code and conform that the app is legit" phrase, is actually true for 99% of F-Droid apps.
Outside F-Droid, reproducible builds are very rare.
F-Droid's push for reproducibility is even useful if you don't want to use the F-Droid store, because its also part of their build environment which can be used to publish everywhere.
But the main reason I use F-Droid is not that they offer reproducible builds, but that they are the main app store at the moment if you don't want to use a proprietary system for getting and managing your apps.
The only real alternative to F-Droid is the Aurora store, but its dependent on Google and Amazon controlled backend's.
I believe that centralized (and closed source) control over app distribution is not a good thing, especially cause I live in the EU and if we get unlucky the will pass a law's for chat control and other garbage. If this happens, Google will probably help them enforcing it.
I also want to give credit to F-Droid alternatives like Acresscent and in my opinion more promising: The Zapstore, it seems to have a portfolio comporable to F-Droid. is also federated and unlike F-Droid, it lets the devs sign their apps themself per default.
It also as other nice features but I think this would be to off topic.
GrapheneOS A developer only needs to ship code for downloading, verifying and running code within the context of their app to be able to do whatever they want out-of-band without the app store being involved. If someone notices they added it, there's no indication of that being malicious itself. F-Droid knowingly ships apps doing this including Termux and only has a policy against doing it automatically. An app can add a plugin system and encourage users to use it. This enables apps to ship malicious code out-of-band with F-Droid not being involved. Apps can also violate the F-Droid policy and get away with it in practice, and that has happened repeatedly. There are examples within the repository violating the policy as written right now. F-Droid does not truly review updates to apps anyway, they only do naive scanning, but it's easy for a malicious developer to do things in a way where even if they're caught violating policy, there's no sign of malicious code yet. This means a developer can try to do it with minimal consequences if they were theoretically caught prior to deploying it. They'd likely only be caught later and it wouldn't be possible to know what they did with it in practice.
I don't see this as a problem.
As your mentioned Termux: Its very useful if you want to run a python script or something similar on Android.