The evidence chain is recomputed, never trusted
The fingerprint of an item is calculated server side from the bytes actually stored. A fingerprint offered by the client is not accepted. Two writers racing for the same position lose gracefully: the loser re-reads the tail of the chain and tries again.
The seal refuses a broken chain
Sealing folds the fingerprints in order into a single root and records how many items it covers. If the chain does not verify, there is no seal — the state is reported, not repaired.
Portal links are stateless and revocable
The token is a signed payload; there is no session behind it. The role filter is applied inside the query. Releasing the assignment kills its links immediately, expiry or no expiry.
Certified mailbox passwords are encrypted at rest
Stored with authenticated encryption under a key held in the environment, and omitted from every read. Testing a mailbox performs a real connection and reports the outcome — a refused login is an answer, not an error.
The public bridge fails closed
Without its signing key every versioned route answers 503. It has its own rate limits per address and per company, its own upload ceiling, and it can only write to the intake queue.
The boundary is the company
Data is scoped by tenant, and each route names the permission it requires before it looks at the session. The claims and roadside modules carry independent permission catalogues.
European ground
Hosting, storage and processing stay in the European Union. The site mounts no analytics of its own and serves its own fonts: nothing in our markup asks anybody else’s network for anything. One caveat we would rather state than let you find: the delivery network in front of the site injects its own measurement script into every page. It is not ours and it is not governed from here.
Health data is treated as health data
An injury is a flag and a short description, minimised on purpose. It is not a clinical record, and it is not meant to become one.