Amid all the conversation about Signal, and the debate over decentralization, one thing has often not been raised: all of these things require an Internet connection.
“Of course,” you might say. “Internet is everywhere these days.” Well, not so much, and it turns out there are some very good reasons that people might want messengers that work offline. Here are some examples:
- Internet-using messengers leak certain metadata (eg, that a person is using it, or perhaps a sophisticated adversary could use timing analysis to determine that two people are talking using it)
- Cell signal outages due to natural disaster, large influx of people (protests, unusual sporting events, festivals, etc), or other factors
- Locations where cell signals are not available (rural areas, camping locations, wilderness areas, etc.)
- Devices that don’t have cell data capability (many tablets, phones that have had service expire, etc.)
How do they work?
These all use some form of local radio signal. Some, such as Briar, may use short-range Bluetooth and Wifi, while others use radios such as LoRa that can reach several miles with low power. I’ve written quite a bit about LoRa before, and its unique low-speed but extreme-distance radio capabilities even on low power.
One common thread through these is that most of them are Android-only, though many are compatible with F-Droid and privacy-enhanced Android distributions.
Every item on this list uses full end-to-end encryption (E2EE).
Let’s dive on in.
Briar
Of all the options mentioned here, Briar is the one that bridges the traditional Internet-based approach with alternative options the best. It offers three ways for distributing data:
- Over the Internet, via Tor onion services
- Via Bluetooth to nearby devices
- Via Wifi, to other devices connected to the same access point, even if Internet isn’t wokring on that AP
As far as I can tell, there is no centralized server in Briar at all. Your “account”, such as it is, lives entirely within your device; if you wipe your device, you will have to make a new account and re-establish contacts. The use of Tor is also neat to see; it ensures that an adversary can’t tell, just from that, that you’re using Briar at all, though of course timing analysis may still be possible (and Bluetooth and Wifi uses may reval some of who is communicating).
Briar features several types of messages (detailed in the manual), which really are just different spins on communication, which they liken to metaphors people are familiar with:
- Basic 1-to-1 private messaging
- “Private groups”, in which one particular person invites people to the chat group, and can dissolve it at any time
- “Forums”, similar to private groups, but any existing member can invite more people to them, and they continue to exist until the last member leaves (founder isn’t special)
- “Blogs”, messages that are automatically shared with all your contacts
By default, Briar raises an audible notification for incoming messages of all types. This is configurable for each type.
“Blogs” have a way to reblog (even a built-in RSS reader to facilitate that), but framed a different way, they are broadcast messages. They could, for instance, be useful for a “send help” message to everyone (assuming that people haven’t all shut off notifications of blogs due to others using them different ways).
Briar’s how it works page has an illustration specifically of how blogs are distributed. I’m unclear on some of the details, and to what extent this applies to other kinds of messages, but one thing that you can notice from this is that a person A could write a broadcast message without Internet access, person B could receive it via Bluetooth or whatever, and then when person B gets Internet access again, the post could be distributed more widely. However, it doesn’t appear that Briar is really a full mesh, since only known contacts in the distribution path for the message would repeat it.
There are some downsides to Briar. One is that, since an account is fully localized to a device, one must have a separate account for each device. That can lead to contacts having to pick a specific device to send a message to. There is an online indicator, which may help, but it’s definitely not the kind of seamless experience you get from Internet-only messengers. Also, it doesn’t support migrating to a new phone, live voice/video calls, or attachments, but attachments are in the works.
All in all, a solid communicator, and is the only one on this list that works 100% with the hardware everyone already has. While Bluetooth and Wifi have far more limited range than the other entries, there is undeniably convenience in not needing any additional hardware, and it may be particularly helpful when extra bags/pockets aren’t available. Also, Briar is fully Open Source.
Meshtastic
Meshtastic is a radio-first LoRa mesh project. What do I mean by radio-first? Well, basically cell phones are how you interact with Meshtastic, but they are optional. The hardware costs about $30 and the batteries last about 8 days. Range between nodes is a few miles in typical conditions (up to 11km / 7mi in ideal conditions), but nodes act as repeaters, so it is quite conceivable to just drop a node “in the middle” if you and contacts will be far apart. The project estimates that around 2000 nodes are in operation, and the network is stronger the more nodes are around.
The getting started site describes how to build one.
Most Meshtastic device builds have a screen and some buttons. They can be used independently from the Android app to display received messages, distance and bearing to other devices (assuming both have a GPS enabled), etc. This video is an introduction showing it off, this one goes over the hardware buttons. So even if your phone is dead, you can at least know where your friends are. Incidentally, the phone links up to the radio board using Bluetooth, and can provide a location source if you didn’t include one in your build. There are ideas about solar power for Meshtastic devices, too.
Meshtastic doesn’t, as far as I know, have an option for routing communication over the Internet, but the devices appear to be very thoughtfully-engineered and easy enough to put together. This one is definitely on my list to try.
Ripple-based devices
This is based on the LoRa Mesh Radio Instructables project, and is similar in concept to Meshtastic. It uses similar hardware, a similar app, but also has an option with a QWERTY hardware keyboard available, for those that want completely phone-free operation while still being able to send messages.
There are a number of related projects posted at Instructables: a GPS tracker, some sensors, etc. These are variations on the same basic concept.
These use the Ripple firmware, which is not open source, so I haven’t pursued it further.
GoTenna
For people that want less of a DIY model, and don’t mind proprietary solutions, there are two I’ll mention. The first is GoTenna Mesh, which is LoRa-based and sells units for $90 each. However, there are significant community concerns about the longevity of the project, as GoTenna has re-focused on government and corporate work. The Android app hasn’t been updated in 6 monnths despite a number of reviews citing issues, and the iOS app is also crusty.
Beartooth
Even more expensive at $125 each is the Beartooth. Also a proprietary option, I haven’t looked into it more, but they are specifically targetting backwoods types of markets.
Do not use: Bridgefy
Bridgefy was briefly prominent since it was used during the Hong Kong protests. However, numerous vulnerabilities have been demonstrated, and the developers have said they are re-working the app to address them. I wouldn’t recommend it for now.
Alternatives: GMRS handhelds
In the USA, GMRS voice handhelds are widely available. Although a license is required, it is simple (no exam) and cheap ($35) and extends to a whole family. GMRS radios also interoperate with FRS radios, which require no license and share some frequencies, but are limited to lower power (though are often sufficient).
Handheld GMRS radios that use up to 5W of power are readily available. A voice signal is a lot harder to carry for a long distance than a very low-bandwidth digital one, so even with much more power you will probably not get the same kind of range you will with something like Meshtastic, and they don’t come with any kind of security or encryption at all. However, for basic communication, they are often a useful tool.
@ctonysem @jgoerzen I think there’s still a lot of that mentality elsewhere around the world. Exploring alternative options like decentralization (or even anything other than Facebook) still tends to make people ask, “what are you trying to hide,” or “how does that work for you down in your bunker?,” etc. Those are terrible reasons to just give up on the right to #privacy.
privacy
@rd @ctonysem @jgoerzen Can help to reach ppl where they ‘do care’:The big picture: Not only is our personal data being used “against us” (social media background checks, financial credit scores, even raising of health/car insurance rates (based on our data/outdoor hobbies).It’s also the building of deep psychological profiles, advertisers/political contractors manipulating our ability to make our own next decision/s. This is how I’ve reached ppl close to me.#privacy ☮️
privacy
@ademalsasa Hello, instance-neighbor! Thank you for the link; very interesting conversation.I used XMPP extensively for awhile, but haven’t now for a few years.Also, I learned of #Jami there. I hadn’t heard of Jami before, but sadly the website has no detail on how it achieves connections or if both endpoints must be online simultaneously for messages to be sent.
Jami
@AmarOk thank you & thank you very much, Amarok, for sharing about GNU #Jami. I’d like to add it is one of High Priority Projects of Free Software Foundation (@fsf) can be found here https://www.fsf.org/campaigns/priority-projects.@jgoerzen #FreeSoftware #FSF
FSF
FreeSoftware
Jami
High Priority Free Software Projects — Free Software Foundation — Working together for free software
@jgoerzen hello my new friend @danie10, glad to meet you. I saw you always share about #FreeSoftware that is good. Thanks!
FreeSoftware
@jgoerzen Great blog post. I was unaware of Mestastic. It’s something to explore.
@zehIt may be worth reiterating at this point that although Signal uses your phone number as a user identifier, I’m not actually sure of they store it or just a hash of it, and they definitely don’t transmit otjer numbers from your contacts for discovery:https://support.signal.org/hc/en-us/articles/360007061452-Does-Signal-send-my-number-to-my-contacts-They also announced they’re trying to move away from using phone numbers at all (the recent intoduction of PINs is in preparation of that) — but it may take some time@jgoerzen
Does Signal send my number to my contacts?
@kingannoyFor some colleagues whith whom I shared the ridento work, I simply rold them I’d rather use Signal than SMS or Whatsapp — I don’t have Whatsapp, and Signal is free and pretty much the same to use, except it’s not owned by Facebook. That worked for most — though some deleted Signal again when we were no longer driving together.I only brought up privacy when I had some time and thought they were willing to listen a bit.I found it harder to go the other way round.@jgoerzen
@kingannoy @jgoerzenAnother thing that can help:”Here’s my email, Threema ID, phone number/Signal ID — pick one! Also have an XMPP adress and Briar, butbtheycre a bit hard to use.”if the other person only has Whatsapp, it becomes harder for them to say no to installing a second messenger, and also harder to think the reason you’re not on Whatsapp is that you’re some hilbilly/conspiracy theorist who’s scared of technology, but actually know your way around messengers and such.
@jgoerzen @Erik Check our berty.tech. Doesn’t exist yet, but looks promising.
@AmarOk @ademalsasa Thank you. I hadn’t looked under the “blog” section, and the “questions” just went to a git repo, so I had discovered neither the docs site nor those posts. Very helpful!The similarities to #briar are many, though it looks like it trades the ability to do voice and video calls for anonymity (briar running over Tor hidden services; Jami using direct TCP/UDP connections between peers). I must say, I like the #Tor approach, but it may introduce unacceptable lag for video
Briar
Tor
@AmarOk Understood. One difference between your eval and briar is that briar uses Tor exclusively; that is, no exit node, since nodes find each other using onion addresses.Still, Jami looks very interesting and I’m checking it out later today. I think it would more easily have wide adoption than briar at this point. Thanks for your work on it!I love the decentralization, though leaking IPs to contacts makes me uncomfortable, as it often amounts to leaking coarse location.
@AmarOk Also I fairly frequently find wifi networks that permit outbound on only port 80 and 443, TCP. Can Jami work with those constraints?
@Mr_Teatime @jgoerzen @zeh #OWS keeps a copy of your phone number on record for account recovery purposes. Of course, this also opens you up to various attacks and compromises.
ows
@mathias @jgoerzen @zeh Is Wire no longer gratis? I didn’t pay anything for my Wire account. A couple months ago I got someone to start using it and I think they would have complained to me if it had a cost.
@resist1984 @jgoerzen @zeh I have been trying to look up all the alternatives mentioned. I am not excluding I might have looked at the “wrong one”, but this was the Wire I was thinking you guys were talking about: https://wire.com/en/
The most secure collaboration platform · Wire
@mathias @jgoerzen @zeh yeah that’s the one. Perhaps the “pricing” page is neglecting to mention that there is a gratis option. If you install the app you can probably create a gratis acct. You’ll have to give an email address but disposable addresses were accepted when I registered.
@resist1984 @jgoerzen @zeh I might give it a try later. Their FAQ seem to indicate that after the 30 day trial “The account will be deactivated and all history will be lost.”I was also thinking (but not finding) if it defaults to a free option after the trial, but none is mentioned.
@mathias @jgoerzen @zeh i think if they are only advertising the premium accounts, then that free trial is probably just for the premium packages. The gratis service is indefinite AFAIK.
@resist1984 @jgoerzen @zeh Ah. I went around it the other way. Due to how Apple Appstore works it is quite decent in finding out costs involved for apps. On that app page it says: “Wire offers a free version for external business partners or friends and family use.”
@jgoerzen Great thread. “Do not let perfect be the enemy of good.”It’s tough. I primarily use Matrix, and I’m impatient for decentralized IM to catch on. To watch a centralized option become popular instead can feel like a step backwards, since it feels like less attention/resources will go towards projects like Matrix if there’s less awareness, but it’s really a giant step forwards in normalizing encryption in the mainstream at all. I have to appreciate Signal for that massive accomplishment.
Porting KA9Q NOS to Atari ST was the 2nd TCP/IP stack I worked on. I never got around to taking the exam to get my HAM license, though I had prepped for it twice. oh well.
It’s never too late!
Also if you’re interested, I wrote code to let you send IP packets — and even Ethernet frames — over an #XBee mesh github.com/jgoerzen/xbnet and also something similar for #LoRa github.com/jgoerzen/lorap…
@vfrmedia @sebastian @bob I’ll say in response to @vfrmedia that yes there are the types that dress up in reflective vests and play small-time cop, etc. But at least in my area, they are an annoying minority. More common are the true public service ones: people that run comms for bike rides, ultra marathons, tornado or other disaster response, etc. I’ve been involved in several of those and it was a lot of people with a good heart wanting to put their hobby to a good use.
@vfrmedia @sebastian @bob A number of hams view general public service comms as good practice for disaster response comms, if that’s ever needed. I’m definitely not a prepper but this stuff has been needed here in tornado alley. I’ve done comms in an actual disaster response once (went to Joplin, MO after the tornado there) and indeed running nets and such locally was good preparation for doing so in more challenging circumstances.
@jgoerzen @vfrmedia @bob Interesting different perspective… The running comms for events aspect is not something that happens around here. Most of the mountainbike races I’ve been to just rented a PMR system and put the repeater on top of a mountain. Or they asked the local fire brigade or the THW (German Federal Agency for Technical Relief) for help, they have the gear anyway and are usually happy for any excuse to practise using it. Or they just cellphones if the coverage ist good enough.
@jgoerzen @vfrmedia @bob Maybe things are just structured differently here. I guess many folks are who are interested in disaster response and emergency comms wind up volunteering for the THW or their local fire brigade. So the emergency comms ham radio bubble contains many of those prepper types that would feel at home in those other organisations.
@sebastian @jgoerzen @bob in UK, RAYNET sometimes does the same stuff at cycle races and other sports events (often working closely alongside St Johns Ambulance)I think one big difference in Germany is the existence of the THW (which other countries don’t have, although I think its a very good idea to have such an organisation)https://www.east-suffolk-raynet.co.uk/diary-of-events-for-2022/
Meshtastic is really developing into something huge now, in recent months it has seen parabolic growth, if you want to learn more about Meshtastic checkout https://meshabout.com