First and foremost …

RVLVVR has nothing to do with Meatspace mechanics (except for the use of websockets) nor does it have anything to do with a Meatspace 3.0 version.

How communication works with GPG through RVLVVR

Let’s say your name is Jane and you want to talk to Bob and Sally.

people using rvlvvr

To talk to either Bob or Sally, you need to have access to their public key. If you are using Keybase.io, then you may have generated a key pair on there and downloaded it to your local machine.

So in terms of Keybase-specific commands, you would track them like:

> keybase track bob
> keybase track sally

Where ‘bob’ and ‘sally’ are their Keybase usernames.

This will allow you to send them messages but they can’t read it until they add your public key back. So you would have to become friends with them and/or gain some sort of comfort/trust level to have them consider tracking you back.

So for bob, he would have to do:

> keybase track jane

And if he wants he can also do:

> keybase track sally

And Sally would do the same for you and Bob if she chooses to.

Now let’s say you all end up tracking each other. The connection would look like this:

public keys

What this means is that if you send a private (encrypted) message on RVLVVR to Bob, then Sally can’t see it because the exchange can only be shared between your two keys. If you send a message to Sally, then Bob can’t see it. And if Bob sends one to Sally then you can’t see it. (That is, unless someone steals your computer and knows all your passwords but then you have other sorts of problems to deal with)

The RVLVVR conversation flow

There are two servers that are interacting. There is the one on your local machine that encrypts and decrypts private messages from the people you tracked and messages you create are broadcasted to a remote server also known as a broker. What the broker does is send out private (encrypted) and public (plain text) messages to whoever is listening to that server:

rvlvvr servers

The difference between public and private messages

In some cases, you might have conversations with Bob that you want everyone else to see. Then you set that as public and it won’t be encrypted - it will just broadcast to broker servers as plain text.

On the other hand, you might have conversations with Sally that you don’t want everyone to see. It is something only between your keys. In that case you would send it as private and it will be encrypted. If someone else listens to the channel that you both are conversing in, all they will see is encrypted blocks of text that are meaningless to them. If you have public messages with each other, they will see them as is.

RVLVVR allows two types of situations to happen: one is to allow everyone to read your public messages that have been active in the past hour (you can see them on http://rvlvvr.net/feed) and the other is to allow you to have private conversations that the correct receiver with the correct key can decrypt.

All messages on the broker servers (currently http://rvlvvr.net is a broker and the default one set in your local configuration file) expire after 1 hour by default. If you were to broadcast to another server that someone else set up, they could in theory change it to never expire but it doesn’t really matter since they cannot decrypt private messages. And for them to store public messages - well, isn’t that what Twitter does?