A language spoken in bytes
Let one stranger ask another, and nobody in between.
Two programs that never met can speak, each deciding for itself whom it lets in. No server sits between them, there is no account to open, and a stranger at the door learns nothing. Quo is what the bytes mean: a few JSON shapes and six algorithms, and nothing else.
- They invite you. The card goes by any channel.
- You knock. They let you in once, the first key dies, and nobody who saw the card can speak there.
- You ask. Sealed, under a key that keeps moving.
- A stranger tries. One blank sheet comes back, whatever was sent.
Reading the picture
- A house. The gap in its ring is the porter, its one door.
- A red booth. This house holds the key, and steps in to ask.
- A purple booth. The house built it and gave its key away.
- The grey booth. Anyone may step in, signing with a key of their own.
- A stranger. Whatever it sends, it gets the same blank sheet.
What Quo is
Quo is what a door's bytes mean: the JSON shapes it reads and writes, and six algorithms. A sentence belongs to it for one of two reasons.
A door is one function
Bytes in, bytes or nothing out. Quo is what those bytes mean, and nothing that stands behind the door.
Two strangers must agree
Two kits that never met could not exchange bytes correctly unless both read the sentence the same way.
No kit can provide it
No kit could provide it for itself. No kit can decide alone what somebody else's seed means, so the ward key's derivation is Quo's.
What fails both is not Quo's. It is neither asked nor forbidden.
The model is JSON: a grammar anyone reads, with no opinion about what is written in it. Anything a kit could decide is left out, however sensible.
Every rule says what bytes mean. No rule says anyone must speak.
What Quo is not
Quo is the gap in the wall and what crosses it, and nothing else.
Only the door
What lives inside the wall, and whatever carries the bytes outside it, are not Quo's.
No runtime
What stands behind a door, who owns it and how it stores, are each kit's.
No account
A relation begins with an invitation that goes by any channel, and nothing is registered.
No directory
Discovery and identity are outside Quo. An invitation may say where its ward is reached, a reply may say where it is reached now, and Quo lists no ward.
No advice
Quo offers a checker, and never a way to build a kit.
Quo hosts nothing, registers nothing, lists nothing and directs nothing. The day it runs a service, it is a product.
What the bytes promise
Authenticity
Every ask and reply is signed and checked against the bytes as received. More
Confidentiality
Every ask is sealed to the ward's padlock under a fresh key, every reply to that key alone. The method, the arguments and the answer all travel inside the box. More
No oracle
Every stranger's case comes back as one reply of one length, so the bytes tell nothing apart. More
Ownership at a choice on the knock
Once a door makes a choice on the knock, the relation belongs to the key the knocker minted, and nobody who saw the invitation can speak on it. More
Five kits, and none a reference
Go, Zig, Python, JavaScript, Rust. Each was written cold, by an agent holding only the published documents and the verifier, and never another kit.
Every kit passes the verifier alone, and every pair passes in both directions.
AI is the method, and completeness is the proof: kits written blind agree.
Quo is developed, audited and implemented by AI under one human's decision.
Where it stands
A working language before 1.0.0, with no production deployment.
Held by Razvan Gherghina under Apache-2.0, and audited by nobody outside.
The spec is frozen once, at 1.0.0.
A flaw is reported to spec@quo.systems