Sharp#Soft

The Sharp#Soft model, on one chart

One chart.
All the way down.

Seven areas, inside the frame of what the system honestly cannot promise. Open an area to go deeper — the further in you go, the more the chart says.

Everything here — including the limits — is drawn from the published whitepaper and pages. Nothing is claimed that is not already built.

The chart has seven areas. They read as an argument: where we are now, what we believe, what the system is made of, how protection works, how it connects, what you do with it, and where it can go.

Around all seven sits the frame — the honest list of what this system cannot promise. It borders everything because it qualifies everything.

01

Where we are now

Every computer got an operating system — a catalog, accounts, a file system and equal footing. The network that joins them got wires, addresses and protocols, and that higher layer was left empty.

Think about what an operating system actually did for the computer. It gave the machine a catalog of what was installed, accounts so more than one person could use it without reading each other's files, a file system where your documents were yours — and, the quiet radical part, equal footing: a program you wrote yourself ran under the same rules as a program from the largest vendor in the world. The system did not have a favourite.

Then we connected the computers together, and somewhere in the rush we forgot to build the operating system for the thing we had made. The Internet has wires and addresses and protocols for moving bytes. What it never got was the higher layer.

So the layer got built anyway

Three platforms, each holding your things inside its own building, and each holding a master key — with the promise not to use it standing in for the protection.

It got built the way anything gets built when there is no shared standard: privately, in pieces, by whoever moved fastest. Each piece became a platform. And every platform is a landlord.

The account you use every day is not really yours; it lives on someone else's machine, under someone else's rules, and somewhere there is an administrator who holds a master key. That key can read your files. It can reset your account. It can hand your data to a third party who asks the right way. None of this requires malice — it is simply how the building is wired.

The landlord can — so the only thing standing between you and exposure is the landlord's continued good behaviour.

A promise, and what it rests on

Policy-privacy drawn as a chain of three links — conduct, controls, no compulsion — with one link broken and an arrow to exposure; beneath it, the four things that must each keep holding for the promise to hold: an insider stays honest, a breach never lands, a court order never comes, an owner never changes.

Policy-private: we could read your data, but we choose not to. That is essentially every mainstream cloud service.

The operator keeps the technical capability. Privacy then depends on good behaviour, on internal controls, and on the absence of legal compulsion strong enough to override them — a chain, and it holds only while every link holds.

When any one of those breaks — an insider with admin access, a breach that exposes admin credentials, a court order with sufficient reach, a change of ownership — the operator's capability becomes your exposure.

On your own computer the file system never depended on the manufacturer promising not to read your files — it was simply built so. On the Internet we replaced built so with promised not to.

There is another way to mean “private” — one that does not rest on a chain at all. That is the subject of How protection works.

The full argument: The Internet Never Got an Operating System · the whitepaper

02

What we believe

Three principles: you own what you make, as a property of how it is built rather than a permission; nobody has to be trusted, including us; and the limits are said out loud.

You own what you make. Not as a permission an operator grants and can withdraw, but as a property of how the thing is built. Nobody has to be trusted — not us, not an administrator, not whoever owns this company in ten years. The limits are said out loud, because what a system cannot do is part of what it is.

These are not values we hope to live up to. Each one is a claim about construction, and each one is checkable — which is the only kind of principle worth printing.

Nobody has to be trusted

Above: the four things a conventional privacy promise asks you to trust — that the operator behaves, that its staff behave, that its owner never changes, that no order compels it — each marked as sufficient to fail on its own. Below: what we ask instead, which is nothing.

Every privacy promise is really a list of people who must keep behaving: the operator, its staff, its future owner, and whatever authority might compel it. Any one of them failing is enough.

Our list is empty — not because we are more trustworthy, but because the keys are yours and our good behaviour is not load-bearing.

This is the principle the other two rest on. Ownership means nothing if someone else holds a key to it, and stating limits honestly means little from a party you had to trust anyway.

03

What it’s made of

Four primitives: the Account, a container only you can open; the Identity, with a private half that never leaves and a public half you hand out; the CryptLock, a sealed space with a member list and no master key; and standard public cryptography.

There are four pieces. An Account — a container only you can open, holding the identities you use. An Identity — a private half that never leaves the account, and a public half you hand to people you choose. A CryptLock — a sealed space with a member list and no master key. And the maths: standard, public, unpatented cryptography.

Nothing further out is a new mechanism — messaging, storage and sharing are all these four arranged differently. That is deliberate: a small number of primitives you can actually inspect beats a large number of features you have to take on faith. And the cryptography being standard is a feature, not modesty — novel cryptography is a liability.

One account, several faces

One account holding work, personal and public identities which appear to everyone else — including us — as unrelated people. No email, no phone number, no directory; an identity is 384 bits of randomness with nothing personal in it.

One account can hold several identities — work, personal, public. To everyone else, including us, they look like unrelated people; the only place they connect is inside your own opened account.

There is no email login, no phone number and no directory to be listed in. An identity is 384 bits of randomness with nothing personal in it, and you are found only when you choose to be found.

A space only its members open

Members of a CryptLock hold keys and no master key exists — not the creator's, not an administrator's, not ours. Removing a member rotates the lock to a fresh key, so they lose what they had not already opened.

Content sealed under a CryptLock can be opened by its members and by no one else. There is no master key: not for the person who created the lock, not for an administrator, and not for us. Membership is the only way in.

Removing someone actually works — the lock rotates to a fresh key, and the removed member loses future content and everything they had not yet opened. A closed cryptographic door, not a greyed-out button.

04

How protection works

Three actions: you open your account on your device with your credential; you choose which identities become public; and you decide who can open what, because membership of a lock is the access.

Three things you do. You open your account — on your device, with your credential, and there is nowhere else it opens. You choose what is public — an identity stays private until you hand it to someone. You decide who can open what — membership of a lock is the access, and you hold it rather than a server setting somebody else controls.

None of these are settings you trust an operator to honour. Each is an action whose effect is cryptographic: opening happens on your device because the keys are only there; an identity is unfindable until shared because there is no directory to find it in; and access is membership because the content is sealed under the lock rather than filed behind a permission.

Could not, by construction

Above: the promise model — we could read it but choose not to, where the ability is present and only conduct stands between it and you. Below: the structural model — we could not read it even if we wanted to, where the ability does not exist and so cannot be misused, leaked or compelled.

This is the difference the rest of the chart turns on. The usual model says we could read it, but we choose not to — the ability is there, and only conduct stands between it and you. Ours says we could not read it even if we wanted to.

The ability does not exist, so it cannot be misused by an insider, exposed by a breach, sold with the company, or compelled by an order. A court can compel us to produce only what we hold — and what we hold is opaque.

This is also why the honest limits elsewhere on this chart are not a disclaimer. When the guarantee is structural, the boundary of the structure is the boundary of the guarantee, and naming it precisely is what makes the rest checkable.

05

How it connects

Your client addresses an Identity and nothing else; the route to it is drawn as an unknown, marked as the operator's concern. No IP address, hostname or service address is ever visible to a caller.

You do not connect to a server. You address an identity — and that is the only address that exists from where you are standing. No IP address, no hostname and no service address ever appears in anything a caller can see.

Where a service actually lives is the operator's implementation detail: internal, movable and replaceable as the system grows. That is what the name means — from a user's or a caller's point of view, there is no server you talk to at this address. There is an identity you address, and the route is somebody else's problem.

The property this buys is quieter than it sounds: a service can receive messages without accepting connections from the network at all. Someone who can scan and probe the whole internet finds only a small, hardened front line — the rest of the system is not reachable to be probed.

Follow a message

A sealed envelope travelling from your device, across the wire, through the Sharp#Soft relay and on to the recipient's device — readable at the two ends, sealed for the whole span between them.

On your device the message exists in the clear — that is where it is written and where it is sealed. Across the wire and at our relay it is a sealed envelope. On the recipient's device — and only there — it opens again.

Nothing along the way needs to be trusted, because nothing along the way can read it. The seal is applied before the message leaves you and removed after it arrives.

What each one can see

Three observers and what each can see: someone on the network sees only that you use Sharp#Soft; our relay sees a sealed blob and an opaque delivery ID; the person you addressed sees the message.

Someone watching the network sees that your device talks to Sharp#Soft, and nothing more. Our relay holds a sealed blob addressed by an opaque delivery ID. The person you addressed sees the message — and they are the only one who does.

The honest part No system can hide that you use it. Traffic is visible even when content and correspondents are not. Anyone claiming otherwise is describing a different threat model than the one you are actually in.

Neither of you has to be there

You seal and send; the message rests in a box that belongs to the recipient, sealed to them while it waits, and they collect it when they next look. If both are present it goes straight through; if not, it rests until they are.

You seal and send. The message rests in a box that is theirs — still sealed to them while it waits — and they collect it when they next look. Neither of you is ever waiting for the other.

Some messages are meant to be fleeting and some are meant to wait, and the system treats those differently on purpose. If both parties are present it goes straight through; if not, it rests. Either way it is sealed to the recipient the entire time it is out of your hands, so holding it costs nobody any trust.

What this does and does not promise Not a delivery guarantee: messages expire, a full box drops its oldest first, and an envelope to a recipient we do not know is dropped silently — the sender is not told. What we do promise is narrower and precise: an envelope we accept is routed intact and stored sealed to the recipient, and a full box never blocks a sender. We would rather name the gap than let you assume past it.

One seal, many readers

Above: the usual way — one message re-sealed separately for every recipient. Below: one seal under a single lock, which each member opens with their own key.

The usual way to send one thing to several people is to encrypt it separately for each of them — as many seals as there are readers, every time. Sharp#Soft does not work that way. Content is sealed once, under a lock, and every member of that lock opens it with their own key.

The consequence is quiet but large: adding a reader is a change to the lock's membership, not a re-encryption of the content. And removing one is not a revoked permission on a server — the lock rotates to a fresh key, and what they had not already opened is closed to them.

Sealed messaging between identities is built on this from day one. Shared spaces you can invite others into come after launch.

06

What you do with it

Three uses built from the same primitives: keeping files only you can open, sending messages only the recipient can open, and sharing spaces a group can open. Keeping and sending are available at launch; shared spaces follow.

Three things, and none of them is a new mechanism. Keeping — files only you can open. Sending — messages only the person you addressed can open. Sharing — a space a group can open, and no one else.

Each is an Account, an Identity and a lock, arranged differently. That is why the guarantees are the same in all three: there is no separate “secure mode” to forget to switch on, and no feature that quietly relaxes the model to be more convenient.

Keeping and sending are here at launch. Shared spaces you can invite others into follow after it.

07

Where it can go

What anyone building on this inherits: identity without a password database, storage it cannot read itself, and sharing without a master key — stated as a property of the architecture rather than a programme.

The hard part of building something private is the part anyone building on this doesn’t build. They inherit identity without a password database — nothing to breach because nothing is held. Storage that cannot read itself — which is exactly what lets their users trust them. And sharing without a master key — nothing to steal, subpoena or leak.

The “we cannot read your content” property transfers intact to their users — not because the builder is trustworthy, but because the architecture removes their ability to betray it. That is the interesting part: the guarantee survives being handed to someone you have never met.

This is a property of the architecture, not a programme. There are no dates here, and none are implied.

The frame of the chart

The limits

Three things no system can do, including this one: hide that you use it, recall what someone already took out, or protect a device that has already been taken over.

This borders the whole chart because it qualifies every area inside it. No system can hide that you use it — traffic is visible even when content and correspondents are not. No system can recall what someone you invited already took out. No system can protect a device that has already been taken over.

We name our boundaries as carefully as our guarantees. That is what makes the guarantees worth anything.

Everything we hold about you

The complete list of what the operator holds: sealed blobs and opaque delivery IDs, connection addresses while you are online, and subscription, billing and storage-used figures — and nothing inside anything you sealed. Plus two edges cryptography does not reach: coercion, and the opt-in recovery trade.

Honestly and completely: sealed blobs and opaque delivery IDs, connection addresses while you are online, and subscription, billing and storage-used figures. What is needed to run the service — and nothing inside anything you sealed.

Coercion is outside any lock’s reach. Someone forced to open their own content cannot be saved by cryptography, and no honest system claims otherwise. Recovery is opt-in — skip it and “no one can recover your account” holds absolutely. Enable it and you accept a small, named trade for a way back in. The trade-off is yours to make, which is the point.

Sharp and Soft Development AB · Sweden sharpandsoft.org Every claim drawn from a published source