What is Nostr?
Azz
npub1wvt…jhd0
2023-07-31 09:46:13

Azz on Nostr: If nostr can do secret chat without leaking metadata, could it be used for smart ...

If nostr can do secret chat without leaking metadata, could it be used for smart device control?

This could help nostr get a foothold in mainstream adoption. Companies that make devices are rarely tech companies, but specialists in lightning, airconditioning, security cameras etc. Unlike twitter or Facebook, they have nothing to lose to an open protocol but would gain from interoperability with other smart devices. Secure platform that doesn't collect user data would be preferable to Google Home. A lot of people bawk at having google listen to their bedroom conversations, who wouldn't bat an eyelid with google knowing their browser history.



Iris now supports secret chats that don't leak metadata, implementing the https://hrfbounties.org/ bounty #3. It works also for group messaging.

It's a quick & dirty solution, but works. A shared nostr account is created for the secret chat / group. Its nsec can be shared via link, qr code or invite message from a single-use anonymous account.

Users can then communicate using the shared account's messages-to-self. Iris signs the inner messages with your own key, but the arrangement could be used for anonymous group messaging as well.

I'll also add inner message encryption at some point, so you can ensure that only certain group participants can read the message.

This arrangement doesn't introduce any new event kinds and works also in clients that haven't implemented a special UX for it. You can just log in with the nsec and message yourself.

I had to disable the Iris social graph filter to let invites through, so now Iris DMs are open to spam again, but I'll try to figure out a better solution.

As always, the UX needs a lot of attention, but I believe here's an MVP.

Screenshots:

Alice wants to message Bob:


Alice sends a secret chat invite to Bob:


Bob automatically follows the invite from Alice. They can now message each other in the secret chat:


Here's how the invite looks in another client. I will add an "nostr:ninvite" URI in addition to the nsec.
Author Public Key
npub1wvtljy7rmeeeaqat9hwxwq9g7h90ghavtgpvd2yxk400ndlrf4qsytjhd0