GrapheneOS Thanks for your reply.
So, if understand correctly, our most important protections are fine-grained system permissions (like AOSP) that ensure that apps have minimal access to our data. Equally important are additional protections provided by a hardened OS like GrapheneOS e.g. hardened malloc which make exploiting vulnerabilities more difficult. Both open-source and closed-source applications should be confined as much as possible.
My point about reproducible builds is they allow us to be sure that binary we downloaded matches the source code, regardless of the package distributor. Of course this only means that they match, nothing else. It doesn't mean there are no vulnerabilities or back-doors in the code. But if the adversary wants e.g. to slightly weaken client-side encryption in a note-taking application with an online sync and reproducible builds, he has to work in the public repository and make sure that the commits look innocent. This requires more time and increases the chance that some developer "finds out" anyway.
Without reproducible builds I think it's easier for an attacker to make a custom build with slightly modified encryption and get away with it. Doing code analysis on the binary is much more difficult and requires coders versed with assembly or de-compilation. And observing the app at run-time might not reveal anything suspicious.
Without reproducible builds law enforcement can also force distributors to build packages with additional custom code more easily. Especially vulnerable are non-anonymous, lone open-source developers who may not be able to resist existential threats. Bigger distributors like Linux distros can defend with help of their lawyers.
Is my thinking flawed?