You are reading content from Scuttlebutt
@notplants

while day dreaming about various ways to privately ephemerally message friends without depending on a third party,

imagined somewhat hair-brained ssb app,
ssb-ephemeral

messaging client, or integration into another client,
where when you are direct messaging someone you can turn on an ephemeral chat (with a time set for 1 hour, 1 day, 1 week), similar to auto-delete in signal

to accomplish this,

  • in the background, when auto-delete is turned on, new additional private & public keys are minted specifically for this conversation, and exchanged between you and the person you're chatting with
  • when you send a message its encrypted in the normal ssb private message way, + with the new ephemeral session key
  • in the background, after the pre-set-time is expired, the private keys for the ephemeral conversation are destroyed automatically by each client, and messages are no longer readable

since you are trusting the person you are messaging with not to screenshot or archive your messages in other ways, you can presumably also trust them not to modify the client to "not delete the key" after the time expires

... maybe this is kind of similar to how private groups would already work with an extra private key? (beyond my technical knowledge)
... could be good for activist messaging on ssb usecases I hear talked about sometimes, or whenever you don't want a permanent trace
... also perhaps the less integrated but easier DIY version of this, is just use ssb direct messages to establish another line of communication using a different ephemeral messaging service (not sure what are other good ones)

#ephemeral-messaging

@cblgh

what you've described is very much inline with how i've thought of implementing such a thing for cabal :~ an old issue on the topic

@cafca

Two variants of this that could be distinguished:

  • messages that self-destruct a certain time after having been received
  • messages that self-destruct a certain time after having been sent

The former is useful for a chat/conversation scenario where you want to give the receiver time to read the message even if they don't come online for some time. The latter variant is useful for time-sensitive scenarios e.g. location sharing where information is mostly useful in near-real-time.

Is there any alternative to using timestamps for the latter variant? They rely a lot on the machine having a correct time set, which is not always the case.

@Rabble

I would love the ability to do ephemeral messages within the SSB ecosystem. I think it's a major user need and SSB is being held back by the permanence of everything.

@André Staltz

Good thoughts! Technically, we're quite close to being able to accomplish this.

in the background, when auto-delete is turned on, new additional private & public keys are minted specifically for this conversation, and exchanged between you and the person you're chatting with

Meta feeds would be perfect for this. You could create the following hierarchy of meta feeds:

  • root meta feed
    • ephemeral chats MF
      • ephemeral chats with alice, MF
        • feed for chatting with alice created on Sept 18th
        • feed for chatting with alice created on Sept 19th

(the deeper the hierarchy is, i.e. the more categorization there is, the less data needs to be replicated in total)

Another approach is to avoid gossip replication entirely, and to exchange messages between alice and bob directly, only when they are connected to each other (LAN or via Rooms). This way the messages don't need to be published on feeds, and don't need to be encrypted, because the connection channel is already encrypted with SHS (like TLS, too) and then they just need to be stored locally in a secure manner (safe from other apps). This type of "get updated only when connected together" dynamic can also encourage people to try to connect at the same time more often.

@sir Moid

This way the messages don’t need to be published on feeds, and don’t need to be encrypted,

I think this scenario would be ideal it seems for use by activists or protestors, given the Rooms don't persist anything.

Join Scuttlebutt now