Skip Navigation

Why does Play Store prompt me to update Bitwarden?

I installed Bitwarden from F-Droid, but I happened to notice yesterday that Bitwarden was in my list of apps with updates available from Play Store, even though I installed it via F-Droid. Why would that be?

I know this is a better question for the Bitwarden forums, but I don't have enough street cred there to make a post.

21
21 comments
  • It has the same signature.

    • Ok thanks. Assuming I'm a colossal moron, an absolute clown-shoe wearing buffoon about technology ... what is a signature? I've heard this term used in tech forums, but as a humanities guy I've never quite grasped it.

      • It's a way to verify that an app, or any package of data really, actually comes from the source you're expecting it to.

        It's based on some clever math, but basically, an app developer has two very large numbers that share a certain mathematical relationship, but if you only know one of them, it's extremely hard to calculate the other one. One of those numbers (the private key) they keep securely to themselves, the other number (the public key) they publish permanently for everyone to see.

        Now when the releases an app or an update to it, they put both the app and their private key into a special formula, which produces a new big number, called the "signature". Then, they publish both the app and the signature to the play store.

        Now, when your app store sees an update of the app, it won't just blindly trust it, but first check that it's actually legit, so that it doesn't accidentally install a virus or something. To do that, it downloads the app and the signature, and puts them into another special function, together with the public key that was used to sign the version of the app that you currently have installed. Now the clever part is, because of the special mathematical relationship between the public key and the private key, this function can check whether the signature was in fact produced by combining the app with the private key of the developer, without actually having to know that private key. This way, it can now be sure that this app update is actually coming from the original developer - unless they have been compromised and their private key leaked.

        So, technically, saying "it has the same signature" is not quite correct. The signature changes with every update. The thing that's the same and allows to install the update is the key being used to generate the signature.


        This I very close to how (asymmetrically) encrypted messaging works, btw. If you have a key pair like above, you can encrypt a message with one of the keys in a way that it's only decryptable with the other one. This way you can have people send you encrypted messages without anyone else knowing the encryption key, not even the sender of the message.

  • Someone correct me if I’m wrong, but I believe that sideloaded apps do get updated by the play store. (As long as their internal app manifest matches, I presume?)

    • This reminds me of something else that tripped me out. I started using Aurora to update apps, and I was so confused about why there were so many unexpected updates. Apparently, Google doesn't roll out updates all at the same time. Now I know why people in my discord complain about updates that I don't see until days later.

      Maybe if the updates happen to align, they will appear in multiple places? I'm not sure, but I really wish Play couldn't "see" all the apps I've installed on my device. Creepy-ass behavior.

      • The slow rollouts are so annoying too, I often saw apps say I need to update without there even being an update for me.

    • Not manifest, their signature must match. Usually F-Droid apps have their own signature but they also support providing your own signature precisely for compatibility with other stores.

You've viewed 21 comments.