CoBox aims to encourage small- and medium-scale infrastructure as a service. This means non-technical people can plug in a small computer in their home and begin providing back-up services for their friends, neighbours and themselves. How you ask?
CoBox creates augmented folders, what we call
spaces, on your computer. Behaving much like a regular file system, you can drag and drop files into the
space's folder, change the file's content, create sub-folders and build your own directory tree. The data inside a
space is fully encrypted so only authenticated members can access it.
These folders are augmented with additional metadata or content specific to the
space itself. At the moment,
space members can give themselves a name, they can name the
space itself, and they can tell other members that they've invited someone to join the
space members will tell each other live of any updated information. So whenever a space member makes a change to a file, changes their name, or joins the space, all members will know about it pretty sharpish.
Think of a space a bit like a house. Each space or house has an
address, a place where folks meet and hang out.
Your friend Bella told you to go there so you can work together on an important private document. She also gave you a magic pair of headphones, and tells you to put them on when you get there.
You wander to the
address Bella told you about and enter the house thats standing there. There are several people in the room. Bella is here, along with a few other people, and they're all talking to each other. But all the words coming of of everyone's mouths is total garbage - you can't understand anything anyone is saying. Observing the situation a bit more, you realise that some of the people in the room appear to be wearing headphones, and you remember that you too have headphones in your pocket. You put them on and, like something out of science fiction, suddenly everyone is speaking in a language you understand.
You and Bella sit down and begin putting together this important shared document. Everyone in the room copies what you're doing, although it appears that the people without the headphones don't really understand what they're writing down - it looks like gobbledeygook. Nonetheless, on they go, scribbling frantically.
In this analogy, the magic headphones are the
encryption_key. This is a shared password between all
space members. Anyone who holds the
encryption_key can read and write to the
space. The other slightly puzzled (and puzzling) people in the
space – the ones writing things down who don't appear to understand whats going on – are what we call
replicators. They don't have the
encryption_key, but they keep a record of all the latest changes, so if space members aren't in the house at the same time, the
replicators will tell the new arrival of the latest updates they know about. The replicators make sure that everyone is up to date and in the know, while themselves being totally ignorant of the content they possess. Ultimately, replicators are doing
space members a favour, they've agreed to keep one eye on your
space and make sure you can access it again if you ever need it.
When you start using the software, you'll find that you also have a
public_key, which you can access from your profile page. This is a global identifier for only you. It is safe to share with anyone, but bear in mind that it identifies you and no-one else. If you want to gain access to a specific space, you'll need to send this
public_key to a member of that space, and in return, they will give you an invite code. An invite code is just the
address and the
encryption_key locked in a safe using the
public_key you sent them, so only you can open it. Only you can use this invite code. No-one else.