Recommend RCS over SMS in the Android Overview

If you can’t get others to switch to a recommended messenger, which is a very likely circumstance, I think PG should point out that Google Messages’s RCS is usually better than the AOSP Messages.

I think this makes sense especially now that iOS has shipped RCS E2EE.

An alternative to Google Messages has been one of my biggest wishes for years. I still have to use normal SMS for one person/boss. I don’t think it is worthy to install Google Pay Services just for one person.

A few issues with RCS via Google Messages:

  1. The RCS Android experience is still controlled by Google.
  2. RCS requires extensive permissions on a GrapheneOS phone including having to use it on your Owner profile, having to verify your phone number with Google, having to use sandboxed play services, and having to hand over, at minimum, network, notifications, phone, SMS, spoofed contacts and spoofed storage permissions. RCS also won’t work with most mobile providers unless you also send device identifiers to Google.
  3. RCS is stil unreliable as it is carrier dependent.
  4. RCS via Google Messages only works on certified by Google versions of Android and unofficially, GrapheneOS. It doesn’t work for other other custom versions of Android.
  5. RCS is unnecessary if you live in a country where people default to other messengers anyway. Reliance on SMS/MMS/RCS for personal communication is mostly an American thing.
  6. Businesses don’t use RCS.
  7. Google does not encrypt metadata like true encrypted messengers such as Signal, SimpleX, etc
  8. Even if you trust the encryption, there is still a high chance that Google will still see your message content anyway through client side scanning. Neither play services nor Google Messages are open-source and they already have the permissions necessary to view your messages and transmit them. This reality becomes even more bleak on more mainstream Google certified OS devices where Google has system level privileges. Most users will also use a combination of other non-transparent Google services to automatically share RCS messages with Google such as Gemini AI access, Android Auto, Android cloud backups, Google Messages for the Web, etc.
  9. RCS encryption breaks backups created by third-party apps, especially for group messages.
  10. The biggest “benefit” of using Google Messages is that it creates less friction for other people who aren’t already using proper e2ee messengers like Signal. This is arguably a bad thing. It will make getting others to switch to Signal even harder.

I personally see Google Messages RCS as privacy theater. I would gladly revisit RCS when it’s more open and not controlled by a mega corporation that has a business incentive to invade my privacy. But even with open RCS support, my first priority will still be moving personal communications to Signal.

What are your opinions on E2EE RCS? Let’s assume meta-data is analyzed and leaked to Google, but is that any worse than iMessage?

A lot of this list has nothing to do with whether RCS should be reccomended over SMS.

RCS doesn’t exist in a vacuum. You can’t get RCS on Android without incurring the Google related privacy sacrifices.

Obviously RCS is better than SMS, apples to apples. But in practice, it’s largely a moot point currently because that’s not the full story.

If you’re already on a Google certified version of Google, then there’s less of a privacy tradeoff since you’ve already incurred most of the privacy sacrifices from using that operating system. Similarly, Apple will be the one controlling the iPhone RCS, not Google. For these people, RCS compared to SMS is at least more secure with the potential for better privacy. The bigger harm is if these people place too much trust in it, or grow too comfortable using it, and then don’t move to something better like Signal

On GrapheneOS, which is the only reccomended mobile OS per Privacy Guides recommendations, the story changes dramatically. I personally think adding back a Google service with such invasive requirements is a privacy downgrade, especially when I’m not convinced on the privacy RCS supposedly offers because of all the reasons I already talked about.

@anonymous644 - How is it possible to recommend RCS for Android without also recommending Google Messages since that is the only RCS Messenger available on Android?

GOS has declared that they will be revamping messages app, I think the tweet was in april.

They are saying they will access the RCS network via carriers not through Google.

I would keep an eye on that

Exactly.

It seems like you use words like “potential” to try and create more of an issue then there is. Having E2EE messages instead of sending texts in the clear isn’t just potential for better privacy.

Why? It doesn’t change the obvious benefits of RCS. If anything GrapheneOS is the best OS to do it as Google Play is sandboxed and is much less of an overall privacy issue.

@RevealedInWords In practice its not, since RCS is only available via Google Messages but that may not be always true. Regardless, using RCS via Google Messages is still the better privacy option over SMS. Just like using a Google Pixel with Graphene OS is a better privacy option then stock Android. People are getting to hung up on the Google part that they are not seeing the forest for the trees.

The Messaging app rewrite is almost complete but there won’t be RCS support yet, this is a longer-term project.

A GOS dev has recently investigated what it would take for them to support E2EE RCS, the whole comment is very informative.

Supposedly it’s possible to provision RCS using just carrier and “partner” servers, as this is what iOS does

To support E2EE, at a minimum, we would need to implement our own Key Delivery Service.

So basically

  • We would need to add RCS support to the Messaging app which
    • Getting RCS configuration/provisioning from somewhere
    • E2EE support
  • We would need to build and then (indefinitely) maintain KDS servers (certificate authority + KeyPackage directory), and this server would possibly need to be able to verify phone numbers in case carrier / Google Jibe ACS doesn’t sign identity proof for our KDS
    • This includes keeping up-to-date on new versions of RCS spec, etc.
  • This KDS would need to federate with Google and Apple KDS servers:
    • We need to get Google and Apple to accept our new KDS server, e.g. both of them need to add our root certificate, because “all interconnected Client vendors shall agree on the same set of trusted Root Certificates”
    • We need to get GSMA to assign us a vendor ID and put our root certificate on the GSMA Trust List

The last steps to get federation working are a hard blocker for interoperable E2EE RCS if Google, Apple, and GSMA ignore or gatekeep alternative implementations. e.g., it’s not obvious how to get a GSMA Vendor ID or Trust List slot or what the admission process is

So it’s going to be quite difficult for them to implement E2EE RCS. This shows how closed the ecosystem is.

Non-E2EE RCS does seem more realistic if it can be provisioned via carriers, of course this makes no difference in terms of privacy, but could be good from a usability perspective at least.

Signal does not encrypt any metadata really, they still receive recipient, IP address, time stamps etc, they just say that they don’t collect it. So there is an element of trust involved with that. It’s kind of like trusting a no logs VPN. In theory though, the server could collect it, as it does receive it. SimpleX is better with metadata though.

Just wanted to point that out, but I totally agree with everything else you are saying. It’s unfortunate that cross platform e2ee is going to be the absolute bare minimum of only content (and not context ie. metadata) protection, controlled by a private for profit trillion dollar advertising company.. what could go wrong? They WILL collect all that metadata and use it for build a profile on you, just like WhatsApp does right now. Apple is an interesting one. They need that less because their business model does not rely so much on advertising, they sell hardware and that’s where they make the bulk of their money. So honestly, I’d sooner trust iMessage than RCS.

To be clear, RCS is better than SMS. It’s just a shame that they are implementing it in the most closed, anti-consumer way possible. And you’re right it’s not suitable for high threat models. With Google having privileged, root access to your phone, more than you, who knows what they can see. GrapheneOS really is the only way out.

In the longer term, we plan to add support for RCS including support for the standard end-to-end encryption (E2EE) via Messaging Layer Security (MLS). Currently, RCS including E2EE is available on GrapheneOS via Google Messages. We want to avoid the need to use Google Messages for RCS eventually.

“In the longer term” can mean a whole lot of things when it comes to GOS. Will this be, before or after the non GOS version of Vanadium is released lol.

Most Google services and apps are a privacy nightmare, but I didn’t expect privacy breach incompetence on this level… In this case I suppose many people wish they were using anything but RCS capable Google Messages… What a joke: Google Messages Bug Sends Old Texts to Random People

A bug in Google Messages doesn’t make unencrypted SMS more secure. Thats how low of a bar SMS is to clear.