One capability
A message can be the document itself.
Not a photograph of a paper form, and not a link to a portal you have to log into. The real thing arrives inside the conversation, laid out properly on whatever you are reading it on, and it is unreadable to everything it passed through on the way.
Three things are true of every one
- Typed
- It arrives as something your device understands. Fields with names, values with units, an amount that is a number rather than a picture of one.
- Opaque
- The server carries it and cannot see its type, its fields or its values. It validates nothing, because there is nothing it can read.
- Signed
- Every payload carries its author. An approval is attributable to the person who gave it, and the signature travels with the message.
What a type looks like
A message type is a set of named fields and a way of drawing them on a screen. The range below is here to show the shape of the idea rather than to serve as a price list.
Health
- Prescription
- Medicine · dose · schedule · dispensing pharmacy
- Referral
- Specialty · urgency · notes · patient reference
- Result
- Test · value · reference range · reporting clinician
Money
- Transfer
- Amount · account · reference · approver
- Invoice
- Line items · total · due date · terms
- Mandate
- Payer · limit · expiry
Legal
- Contract
- Parties · terms · execution date
- Signature
- Signatory · method · timestamp
- Disclosure
- Matter · recipient · scope
Operations
- Handover
- Shift · outstanding items · keys held
- Inspection
- Location · checks · defects · sign-off
- Incident
- Severity · systems affected · actions taken
Logistics
- Delivery
- Consignment · quantity · receiver
- Collection
- Slot · address · contact
- Damage report
- Item · condition · claim reference
Scheduling
- Appointment
- Time · place · attendees
- Booking
- Resource · duration · cost
- Cancellation
- Reference · reason · notice given
The same message, twice
One payload, one journey, two views of it. On your device it is a payment request with an amount on it and a button that says approve. On the wire it is a run of bytes with a length and a delivery token. There is no third version, held somewhere in the middle, that we can read.
On your device
Transfer
€240,000.00
Completion · 14 Rue des Écoles
On the wire
fbe223b85ab6376ad9ad1054540c6e55dc4d9facbaef
a065f0fce4c8bf7b0f3571d703f353b7266a2b155a34
efe8163b79ba5ab810a0f44118f4465063c12b668703
62f4fa22f93672b2c8440b3c918179eb752b2c12539b
f69e968d11749d7b57361bd3e2c6a55020c8fc5f8444
91c788836d78ddd20614037c337376e9368bf5c90a6f
f0f3c201839c229913b41560e07e8ef24df65d8ebf76
fdc66babe2f567f014c7f6277667b65ae8917b22a7d2
2eeb677d12f6e0fdc6c10c70b327272c2b9d7255ca68
bdb5ce1b53110cb361b91c259884abb0ffbf9278d114
b9ab7bd677264b362c4c83c365bb8afeb6d29d4b0d74
ciphertext · no type · no fields · no amount
Define your own
A type is a schema and a renderer. Your organisation can add types of its own without anything changing about the transport, because the transport was never looking at the contents in the first place.
Schema plus renderer. The relay is unchanged.
To us it is all just ciphertext.
Whatever shape you give a message, the part we handle is the part we cannot read. That is the same for a sentence, a prescription and a payment.