What the decision rests on today
A claim, with a logo on it.
Every one of these is believed because of who supplied it. None of them can be checked by the person who has to form a view.
A report is a snapshot someone else took, of a system as it was, for a reader who was not you.
A security questionnaire is an assertion by the party being assessed, in its own words, on its own schedule.
A trust page is a claim with a logo. Nothing on it goes dark when it stops being true.
What oddly puts on the record
The same thing, observed.
Two clocks on every row. A root a day. An anchor outside us. Nothing here is our word.
Controls observed as they run, not described. Every change passes automated checks before it merges, and changes to security, money or access wait for a person's approval.
Each observation carries the source, both clocks, and the receipt of the one before it. The evidence pack is generated from what runs, never written.
The confirmed days, named with the newest day, its receipt count and its block height. A pending day is named as pending and carries no height.
The verbs
Observe. Seal. Publish. Anchor.
The same four on every surface. A product here is the record read for one decision, never a second machine.
Read the source as it is published, and write down both clocks.
Hash the row with its predecessor, so no receipt can move without every later one changing.
Fold the day's receipts into one root and put it where anyone can read it.
Submit the root to a chain we do not run. From then on, checking us does not involve us.
One confirmed day, read live
A day of this estate's receipts, folded into one root, in a block we do not run.
Read at load from the public observation endpoint. Every row rests hidden and empty until a day has actually cleared, and a pending day never appears here.
- day
- 2026-10-15
- receipts folded
- 76,611
- day root
- 1035b9ba4ab571226be022ce2aa73d9d9d72c3bb3e31ea2656d431bae8b1c37c
- chain
- bitcoin
- block
- 971,701
- confirmed
- 2026-10-17T02:01:14.289Z
- newest root
- 0868591d8ee8cc4280bacd9bb2a8472994c12cfa0d05dcc5a6710692ab8415f4
The newest root and the day root above it are two different facts and are printed as two rows for that reason: the newest root is whatever the estate built last, confirmed or not, and the confirmed root is the last one another ledger carries. The inclusion path from a single receipt up to a day root is a separate rail and is not published yet, so this page shows the root and does not claim the step between them.
A security review
The short answer is here. The full one is a request away.
What a security review usually asks first, answered from what this estate already states in public.
Every change to this estate passes automated checks before it merges, and changes to security, money or access wait for a person's approval. Connections are encrypted in transit with TLS 1.2 or higher, customer data is encrypted at rest, and internal accounts sign in with two factors. The rest, with how to report an issue, is on the security page.
Each one is named in the privacy policy, with what it does for us and where its data sits.
A confirmed day root and the block that carries it, on a chain we do not run, so neither needs us to answer. The method walks both. The path from one receipt up to its day root is not published yet, and this page does not claim it.
One standard questionnaire, answered from oddly's own controls. It is not finished, so until it is, Kyle answers each request himself, by email.
Read it. Build on it. Depend on it.
Read it
Free, with attribution.
Build on it
By the meter. Developers
Depend on it
By contract.