A Shared Folder Without a Shared Server

One of the features I wanted SecurityNet to support was the ability for a group of people to work with the same collection of documents.

That sounds straightforward.

Most collaboration software solves the problem in exactly the same way.

Create a shared folder on a cloud server.

Everyone connects to it.

Everyone works there.


I chose a different approach.

Rather than creating one shared folder on my server, SecurityNet creates a copy of the shared folder on every authorised Group Member's computer.

At first glance that might sound less efficient.

Looking back, I came to believe it was actually more resilient.


Whenever a member places a new document into the Group Folder, SecurityNet encrypts it and delivers it individually to each authorised member of that group.

Each recipient ends up with their own local copy.

Not a shortcut to somebody else's storage.

Not a window into a cloud service.

Their own folder.

On their own computer.


That has an interesting consequence.

Once the file has arrived, it no longer depends on my website.

Or my server.

Or an Internet connection.

Every authorised member already has their own copy.

If my website disappeared tomorrow, the documents already delivered would still exist on each member's computer.


Of course, that also means every member is responsible for looking after their own copy.

That wasn't an accident.

Throughout SecurityNet I've tried to return responsibility to the user wherever practical.

If people want to organise their folders...

Back them up...

Move them to another drive...

Or delete documents they no longer need...

Those decisions belong to them.

Not to me.


Groups introduced another interesting challenge.

Sending the same file to several people is relatively straightforward.

Keeping a collection of shared documents synchronised over time is much harder.

New files appear.

Existing files are updated.

Members join.

Members leave.

Every one of those situations required careful thought.


One design decision I'm particularly pleased with concerns document history.

Every file delivered into a Group Folder automatically includes the date and time it was received as part of its filename.

That wasn't done for technical reasons.

It was done for people.

Users can immediately see the sequence of revisions simply by sorting the folder by name.

Earlier versions remain available until they decide otherwise.


Now I realise I hadn't really built a shared folder at all.

I'd built something rather different.

A synchronised collection of local folders.

The files are shared.

The storage is not.


Perhaps that's another principle running through SecurityNet.

Share information.

Not infrastructure.