back
263 comments
So essentially, it's not really an Apple thing, it's more that the universal RCS profile just didn't have encryption, and Google RCS was a non-standard extension that nobody else was allowed to use.

The real news is the update to GSMA RCS, because without that, none of this matters. What I'm missing in the article is who's going to own the keys and why this is probably going to default to the telcos as if it's MMS. Are they going back to the days of charging per message?

With iMessage you'd be putting your trust in Apple, with Google RCS you'd be putting your trust in Google. For WhatsApp that'd be Meta and for Signal that's Signal. But with GSMA RCS?

The encryption is based on MLS: https://www.rfc-editor.org/rfc/rfc9420.html

I don't think Google wanted to gatekeep their E2EE implementation. They have some generic documentation about how it works: https://www.gstatic.com/messages/papers/messages_e2ee.pdf

The thing about RCS is that no messengers seem to care at all about implementing RCS themselves. Part of that is probably because depending on the carrier, RCS may require access to certain SIM card information, which only pre-installed apps can do, and part of it is that many developers are waiting for Google to add RCS to the same API that SMS/MMS already exposes because they don't want to implement RCS themselves.

Realistically, the target demographic for their documentation is 1) Apple (who they'd happily supply with details to get rid of the green bubble problem) and maybe 2) government officials looking into antitrust concerns. In theory someone working for LineageOS can implement an RCS client, though, but for those developers I don't think reverse engineering the remaining unknowns about the protocol (mostly "what server" and "what message contents") aren't that difficult.

I'm not cryptographer, but I haven't heard any major issues from actual cryptographers about MLS. It's encryption principles seem to be similar to those of Signal. Google is actually already using MLS in their proprietary E2EE implementation.

Ideally, MLS would be combined with MIMI so that messaging apps become interoperable, but that's probably a pipe dream.

I understand your point that the "news" part is that RCS standard now includes E2EE, rather than about Apple's support for said standard.

But I don't think it's fair to suggest or imply that this development is unrelated to Apple either.

RCS has been a thing for nearly a decade, and Google's RCS backend has been doing non-standard E2EE for half that time.

Within 8 months of Apple publicly announcing they would adopt RCS and work with GSMA to support standardised E2EE, there is suddenly a standard for it...

Given how telcos historically handled messaging (like MMS), skepticism is understandable
Is there anything that shows "no one was allowed to use it" or was it that it wasn't an accepted standard?
I really, really, really hope RCS doesn't make it as a standard.

Now that it's end-to-end encrypted, it's slightly better than SMS, but it's still laughably incapable compared to decades-old protocols that support multiple devices, phone-number-independent identifiers, self-hosting, have open implementations and non-insane specifications etc.

As it is, RCS is just Google Talk (Google runs most of the infrastructure), but tied to a single device (no messaging from your laptop or tablet if your phone battery dies!) and impossible to use without a phone number.

It makes me really sad to see that even technical audiences don't see the long-term plan here: Cementing the use of phone numbers instead of email addresses as the primary identifiers in people's digital lives, and making the closed, carrier and Google operated RCS ecosystem the ultimate replacement for email and other open web standards for B2C and P2P messaging. (Yeah, most people already use Gmail, but the point is that self-hosting email is at least still possible, and there's still relatively free competition of sending service providers; with RCS, there's no chance to play without paying the cartel.)

> Cementing the use of phone numbers instead of email addresses as the primary identifiers in people's digital lives

From my experience RCS is just a backup/temporary holdover system to keep SMS usable as is, since people are increasingly using regular chat apps like WhatsApp. Plus as long as spam/identity is a major issue then phone numbers will be a part of verification systems. They will use anything they can get to make it harder to abuse. Whether the root ID is phones or not doesn't really make a difference if a phone number is required at some point to use a service.

RCS is a GSMA standard, like VoLTE and SMS messages. Of course it's going to use telecoms features as unique identifiers, that's what it was designed to do.

While I agree that tying everying to a phone number is far from optimal, it's the status quo in messenger land. Only tech nerds use services like XMPP and Matrix, the rest all use either chat apps that tie you to a phone number or just text directly.

RCS is there for the people who still use SMS/MMS. In my country, that's basically nobody. In Canada and the US, that's the majority of non-iPhone people, and the iPhone people have been complaining about the shitty integration between iMessage and MMS since the day iMessage took off (because MMS is terrible for modern messengers).

RCS runs on your carrier's infrastructure. Google hosts RCS services for people whose carrier doesn't support RCS, but Apple won't be using those. RCS on iOS requires carrier support, which many carriers still have yet to turn back on.

I think you're confusing the status quo with the goal behind RCS. The unfortunate truth is, the people who are using RCS would've used SMS/MMS before. RCS just appeared in their messengers some day and made texting a lot better.

I'd still advocate for signal over RCS any time of the week (though I don't need to, because nobody uses SMS/RCS here anyway thanks to WhatsApp), but RCS is an abject improvement over the terrible messenger protocols it replaced.

Even worse: it silently fails if the device does not run an unmodified anf certified Google Android OS. This means, it will not work on alternative OS and rooted devices
It's far more than "slightly better." It supports full resolution content, longer messages, and reactions/interactions. For most people it's indistinguishable from iMessage/etc.

Do you really think that phone numbers aren't already a ubiquitous identifier? That is done. Nothing you're saying is changing because of RCS.

Unfortunately, RCS on Android requires google apps, so this isn't really a solution to anyone who doesn't want to be tracked by Google everywhere they go.

I'm still a little confused as to what problem RCS is supposed to solve. It is just as centralized as any other chat app, and is a bit more invasive (often requiring device attestation). Is it really worth all this hassle just to not have to install, let's say, Signal?

Defaults matter. While I've gotten some of my friends and family members to install and use Signal, I still have more chats via SMS/MMS (and more recently RCS, since Apple finally started supporting it) than I do on all other messaging apps combined.
That's not necessarily true. For full compatibility you'd need a pre-installed app on Android, but vendors like Samsung and Sony and OnePlus can build their own RCS messengers for those devices should they choose to. Same with custom ROM developers for an open source implementation.

For non-ROM developers, it depends on what RCS activation technique your carrier uses.

RCS isn't a Google spec, or an Apple spec, or even an IETF/IEEE/ISO spec. It's part of the core mobile networking specifications. It was created by the people who designed the MMS spec after 4G switched mobile networks to everything-over-IP. Unfortunately, the 4G spec didn't require RCS, it was just an optional side feature, so carriers never bothered with it.

RCS solves the problem that most of the US uses iMessage or SMS/MMS, but the SMS/MMS part of that equation is absolutely dreadful. File size limits are stuck in the mid 2000s, messages are split over multiple SMS packets if you send more than one sentence, the entire thing is unencrypted. Sometimes people like to send photos to each other and the 150KiB or so file size limit on MMS isn't enough for that anymore.

As for why not have people install Signal: why would they, because everyone is already using something else? I live in a country where everyone uses chat apps and all but one of my contacts are on WhatsApp. In other places, that'll be Telegram, and in some North American countries, that'll be iMessage/MMS, the texting app that comes with the phone for sending texts.

No, it's worse than a standard centralized chat app: It's ostensibly federated, with network operators running the servers.

But practically, only Google actually knows how to do that (the specifications are absurdly complicated!), and so they do it for all operators as a service.

It's a fig leaf of an open protocol and service even for telco industry standards.

RCS seems to be mainly designed as a successor for SMS.

For interpersonal communication, SMS is dead in the majority of the world, so a successor is entirely irrelevant.

For for the 1 or 2 countries where people still send SMS, RCS seems like a major improvement with a bunch of feature that have been available on other platforms for many years now.

Now that Signal cannot be the SMS / RCS app, yes that's too much hassle. Network effects are too powerful.
It also requires a Google account as far as I know. I have Google apps but no account signed in. And when I tap on the connect RCS option it asks me to sign in.

Anyway iMessage (and iOS for that matter) is irrelevant where I live so I don't expect this to change anything. I'm not going to be on RCS. The main apps here are WhatsApp and Telegram (the latter more for groups)

this is so true for networks that don't implement RCS servers, not even Android - iOS interop present!

one thing i would like to see happen is deprecating SMS message with Labels rather than numbers, phishing has got far far too common in my jurisdiction RCS + some sort of DNS validation like atproto of sender would go a long long way

Your point about Google's central role is spot-on, and without an open, Google-independent implementation, RCS does remain problematic for anyone avoiding that ecosystem.
Yes. Not everyone is going to install Signal (which isn’t end to end encrypted btw), everyone has a cell phone that can support either iMessage/RCS/MMS/SMS and when you send a message to someone else’s number, you have graceful (sic) degradation.
Why was RCS even designed with a none encrypted mode? I get that the original spec isn't exactly new, but it's also not so old that encryption, security or privacy wasn't an issue.
Phone calls aren't encrypted either, if you think about it [1]. There's a large expectation of the telecommunications industry to be able to perform legal interception, and providing end-to-end encryption out of the box might be seen as a direct violation of that requirement.

[1] Except, somewhat incongruently, between Google Fi subscribers on some Android phones: https://support.google.com/fi/answer/11295314?hl=en – no idea how that came to be and how it even works! I suspect it just upgrades to a FaceTime-like VoIP call.

Encryption and privacy isn't an issue for carriers, which were part of the standard body and operate SMS protocol even in 2025.

You assume everyone has the same goals in mind :)

It's the evolution of SMS/MMS; development started 18 years ago, in 2007. The modern spec is based on that with a whole bunch of additional revisions for things like video calling and transferring money. It was designed long before major messenger apps had e2ee in the first place.

Had it been designed with the security practices at the time, the protocol would've been ossified to the point of being practically insecure by today's standards. In a sense, the fact nobody cared about it until the spec was old enough to drive is actually good for users.

The GSMA which designs RCS also serves the needs of government agencies that are tracking (international) criminals, so I bet there must have been some pretty strong opposition against E2EE in the official spec. Frankly, I'm surprised they're even putting it in the spec.

It is good that commercial messengers forced GSM association to finally create E2EE standards. The reason why telcos want you to use RCS becomes obvious if you calculate how much 1Gb of data costs if sent as SMS (I guess that one could buy a car with this money).
It’s funny that everyone bashed Apple for their lack of RCS support and now that they have it, all posts seem to indicate RCS is a shit standard at best. I have no idea if it is but that’s the impression I got.

I guess it was just a talking point to shit on Apple’s approach?

I don’t care anyway. Here everyone uses WhatsApp so RCS is not important but just an outsider observation.

When I enabled RCS on my Android, I started getting ads with rich media. So I disabled it. And moreover WhatsApp is the dominant messaging app in my country. So this doesn't matter.
This is great in principle. I still prefer Signal as the top-shelf experience of iOS—Android communication.
Fortunately, this doesn't really affect those of us outside of the USA, since we've long since moved on.
When an iPhone sends a message to 555-1212, where does the iPhone get the public key for that number?
Still waiting on a non-Google implementation of this so-called standard.
Does anybody know how the trust model for this looks like? Is it trust on first use together with a notification if a contact's key changes, a centralized key server (if so, who runs it, and is there key transparency), or just opportunistic encryption not protected against active attackers in the middle?
>While Apple’s proprietary iMessage system already supported E2EE, this wasn’t extended to RCS messaging because the previous RCS standard didn’t provide cross-platform support. Google Messages also enabled E2EE by default for RCS texts, but only conversations between Google Messages users were E2EE, and not those exchanged with iMessage users or users of other RCS clients on Android.

this dances around, but does not seem to answer, the big question of whether android will get iMessage or not?

This is a risky clause:

> R5-32-5 An RCS client having E2EE enabled shall implement techniques to detect suspicious messages or conversations.

Any news on if/when one will be able to send RCS from a program or device outside the monolith?
Now if only we could get Google to support RCS in Google Voice.
I've disabled RCS. RCS groups are used for spam. Unknown numbers in random countries add me and many other numbers to said groups, send spam and then quit the groups.

And there is no recourse.

Is it possible that we'll see non-smartphone devices (eg dumbphones) being able to interop with Apple and Google through the same end-to-end encrypted protocol?
Still waiting for Google Fi to turn RCS on for iOS users :(
I’ve been reading about RCS for maybe 10 years now, yet it’s not really available/usable for everyone? It feels like Vaporware at this point.
> We’ve always been committed to providing a secure messaging experience

This is why iMessage is such a great experience on Android. They don't even try.

Well... they also need to expand to more than just a few countries. Here in Brazil there's no iPhone RCS support at all.
Seeing Apple openly collaborate on an interoperable standard is refreshing
it already is supporting it. I have been already receiving messages on my iphone with RCS written around them
Announcement discussion from 2023:

Apple announces that RCS support is coming to iPhone next year

https://news.ycombinator.com/item?id=38293082

793 points | 709 comments