Hacker News new | ask | show | jobs
by mcsniff 826 days ago
I want to use Beeper, but funneling all my communications through hosted bridges (especially so Signal) is gonna be a nope, until they release more very deep technical and verifiable information about how on-device bridges work.

I'm big on unified messaging from the libpurple days, but now 99% of my chats are in Signal so perhaps I am just not the target demographic for this.

6 comments

On-device bridging works like this https://blog.beeper.com/p/how-beeper-mini-works. We'll put together a full technical deep dive for the real launch, this is just an open beta. Our signal bridge code is open source: https://github.com/mautrix/signal

You don't have to use our hosted bridges, we've made it ridiculously easy to self host: https://github.com/beeper/bridge-manager

I really hope it will be possible to configure the Beeper app to use self-hosted bridges vs using a separate Matrix client.

Having the features and polish of the first party app, but with a user-controlled backend (like how Bitwarden does it) would be great.

BTW, I have a Pebble on my wrist right now :)

That's exactly what our bridge-manager repo allows you to do. Self-host the bridges yourself, use the Beeper client app.
One thing that would make beeper better than other options (eg self hosted matrix) would be the ability to combine multiple accounts from each service. I have multiple telegram, WhatsApp and discord accounts.
What I'd really like to do (and the poster you responded to) is to connect your app to my own self-hosted matrix-server.
I'm confused about the downvoting. This is absolutely what a lot of tech people want to do, use the nice client and self-host.
Genuine question. Why do you do this?
Not the OP, but the beeper client looks better and has native GIF support, among other niceties that more "normal" users would prefer over other clients.
Will the new Beeper app gain support for Fitbit as the "Messaging" app? Before I could select Beeper, Google Messages, or WhatsApp. The new app isn't recognized by Fitbit as an SMS messaging app.

Is there still plans for supporting multiple G Apps accounts?

Isn't mautrix/signal supposed to work on the cloud? Or is there some work that has been done to make it work on the phone?
Wait a minute. How does on device bridge work? Say WhatsApp?
When looking at their bridge documentation for my own homeserver, I noticed that they do provide a way to self-host the bridges to be used with Beeper's homeserver as well.

See https://github.com/beeper/bridge-manager

I use texts.com instead, honestly has worked better for me than beeper
Beeper at least has source code for the bridges, which you can have some hope is the same code that they run and that they don't get court orders to look at the messages.

If they ever chose to implement remote attestation for bridges, and you chose to use an open source matrix client to control your local keys, there is at least a potential path for you to prove they can't look at messages so you don't have to trust them.

You also have the option to self host bridges and take your ball and go home at any time, given that Matrix is an open protocol. Minimal lock-in.

Texts.com by contrast is completely proprietary as far as I can tell, with no path to self host, so it is strictly worse than Beeper in every way in terms of transparency.

Our code isn't open source but when you are using Texts, you are self-hosting it. It runs completely on your device!
So you tell user devices to run any code of your choosing, and no one but you is allowed to look at that code. Presumably you do not use reproducible builds, because almost no one does, so the choice of which code runs on user devices likely comes down to a single system administrator or release engineer.

A court order or someone holding a rubber hose could instruct that release engineer to ship tweaked code to any number of devices that sets "42" as the random seed for private keys, allowing anyone with that knowledge to decrypt all messages in transit covertly.

It would be in the best interest of your shareholders to lie if this was ever to happen.

Without the code being open source, everyone should assume this is the case.

Messengers are a massive target, and a target of that size on one person is certain to be exploited.

One of core areas of my research is supply chain attacks, and you have no hope of providing strong defense against them without open source reproducible builds.

I agree that open source is very important — it’s one of the core values here at Automattic, where we have a long track record of open sourcing our products and vast majority of what we make is already open source.

Texts connects directly to the platform, from your device, without using any Texts servers having any access to your messages (even in encrypted form) and without breaking the E2EE the platform provides (for platforms that support that), similar to Beeper’s new Signal integration.

A major benefit of this is you can verify what requests are made and what responses are received. You can also use Texts, not upgrade, and would run the same WhatsApp code for example until you upgrade. Same can’t be said for WhatsApp Web for example. It might also be easier to compromise the platform themselves for a government entity, if that’s our threat factor.

It should go without saying we take user privacy and security very seriously, and have restrictions around who can build, sign and distribute our binaries.

I do hope to see something like Texts fully open source, as then it becomes instantly a Beeper killer.

Until then at least hearing if you are willing to to be transparent about your supply chain security strategy would be a great start.

Some of the supply chain integrity tactics I find most companies skip:

1. Are all commits signed with personal engineer HSMs (yubikey, nitrokeys etc)?

2. Are all reviews similarly signed by someone other the author?

3. Does tamper-evident CI/CD (that no single engineer can manipulate) verify these signatures?

4. Is the code for release binaries reproducible?

5. Does more than one system controlled by different employees (or ideally a third party audit firm) build the code at least a second time and get the same hash?

6. Are the app signing keys managed with multi-party custody? (Threshold signing, multiple-in-person witnesses to airgapped signing, or managed in a remotely attestable secure enclave running reproducible firmware?)

7. Does the signing system verify multiple reproducible build signatures before issuing app-store signing keys?

8. Do you provide standalone signed binaries for users to side-load on de-googled devices so users can remove google (and their many partners) from their supply chain attack surface?

9. Do you review any/all of your third party dependencies, and every update to them?

10. Do you build exclusively with multi-signed reproducible OS and system packages?

11. Do you have published audits from reputable third party security firms attesting all your security claims, and all of the above? (Ideally with the exact hashes of the binaries whose sources they audited)

My team and I help companies with most of the above regularly for highly targeted orgs, but it takes a lot of engineering hours to get this stuff right. Failing to do any of the above would put a massive target on a single human or system, and in my experience this always results in a compromise one way or the other for a highly targeted service such as yours.

It is honestly much cheaper to just open source reproducible code, and let the community help check some of supply chain security and accountability boxes for you.

I highly doubt Beeper gets much of the above right either, but by allowing you to self host open source bridges, they grant users with higher risk profiles the option to not trust them a bit less. Granted, if you are self hosting bridges with an open source client, then there is no reason to pay Beeper.

IMO the only reasonable move in this space is to provide turn-key remotely attestable open source bridges paired with an open client to save users work without asking for trust.

Full disclosure, I did do some security and infrastructure consulting work for Beeper a few years ago.

You may be interested in a feature in the new app:

> On-Device Signal Bridge

Haven't tried it yet.

I really hope that in the future such bridges can run in secure enclaves to protect the re-encrypt step.
Lol how'd you get 99 percent of your chats on Signal I envy you
Better selection/triaging of friends/contacts, perhaps.