javascript over the internet can be be intercepted by a network admin or ISP.
Let me introduce you to my good friend HTTPS, and PKI more broadly.
we step away from “iOS and Android” and enable users to run this on their platform-of-choice. generally, all “modern” operating systems support browsers out-the-box. users should be responsible with how they run this app: e.g. if you trust firefox more than chrome.
So is it about convenience, or security? You expect users to audit their multi-million LOC open source web browser and supply chain before using your app?
Browsers are notoriously not secure. Javascript is heavily sandboxed and access to operating system resources is heavily restricted, so attacks through there are relatively rare. However, attacks from the OS side are almost trivial execute. There's nothing the browser can do to protect its data if the OS falls into the hands of an attacker (eg malware or device confiscation)
im using the metered.ca turn servers because they have a free plan (more than enough when i limit it to only brokering p2p connections). you have the option to use your own api key to do things like enable a “relay-mode”, which will proxy all messages. using the api key is simple UI abstraction for users to configure a TURN/STUN server. im open to make this as configurable as nessesary if users want to add multiple of their own servers.
That doesn't solve the issue I brought up, which is that a state actor can trivially censor your app by attacking those servers. By contrast, blocking Delta chat would require them to block the entirety of Gmail, for example.
"reliable” is a relative term.
No. Your app is either reliable, or it isn't. A centralized service is vulnerable to being taken down, but that has nothing to do with reliability. The majority of internet traffic goes to centralized sites with 99.99%+ uptime.
IMO, a chat app that struggles to send or receive messages is a toy. It's like trying to use the Pine Phone as a daily driver if you're someone who actually needs to male phone calls every day. Except, pinephone's reliability issues are implementation details that theoretically could be fixed, whereas your app's are architectural that would require a redesign. That's partly why I brought up meshtastic, because it's at least a fun toy.
my app is speciafically based on webrtc, which has unparalelled transfer speeds; which is especially useful when sending large files.
Comments like this, and your apparent misunderstanding of basic HTTPS make me think you're just vibe coding all of this. WebRTC doesn't have "unparalleled" transfer speeds. That sounds like something ChatGPT would say. WebRTC is a just protocol designed to provide a simple way to do streaming in the browser, without requiring apps to build their own custom protocols on top of eg websockets. Using it for text messages is kind of absurd, because such an application doesn't fit the low latency/high bandwidth the protocol was designed for.
There's nothing wrong with vibe coding btw, you do you, but people need to stay fae away when security is involved.
For anyone reading this thread looking for a secure chat app, just use Delta Chat, or even Signal (which has some issues, but it's better than nothing). If you're feeling adventurous, look into meshtastic.
The second time's the charm?