It runs on a federated network where you connect with contacts. When you create a topic you can add or remove contacts to the topic. To your point about 'propagate out forever', there is no server-side replication; your contacts pull directly from your node. When you delete a topic, the data is deleted. Let me know if you have any issues getting the project to work, I am really eager for any kind of feedback.
That's a really interesting idea; I hadn't thought of that approach. My super long shot idea is that enough people would use app that a router company would be interested in licensing the node and app software and providing a self hosting solution for the common consumer.
1. Because it's decentralized, the complexity doesn't increase by having additional nodes on the network. The complexity does increase to a small degree as seen by your node as you make contacts. I guess my answer to your question is it's very scalable.
2. I have a notification loop that runs once every three seconds. The result is the latency is about 1.5s from when I send a message to when it shows up on my contact's phone.
3. Because it's a self hosted network, the data loss protection is up to the person running the node. I added a cron script to backup my node node once a day, but someone might want something more frequent...or less.