Know who you are about to do business with, before the money moves.
Counterparty due diligence from the public record. One company in, a cited dossier out, then watched.
UK companies first

Sample data. The dossier viewer on five invented companies. Every name, number, domain and notice in it is made up.
One counterparty in: a dossier from public registries, court records and infrastructure signals
Court records here are insolvency notices in The Gazette, winding-up petitions and orders among them. No county court judgments are read.
Every line carries the source that produced it and the minute it was read
Every finding names the address it was read from and the minute, in UTC. A finding with no source cannot be made.
Watched for the rest of the relationship, not checked once
Storing a read enrols the counterparty. The watch reads it again on the operator’s schedule.
Degrades rather than fails: a source it could not read is reported as unread, never as clear
A source that is down is recorded as down, and the dossier is still made.
How a read works
One company in. A cited dossier out. Then watched.
- 01
In
A company name, a UK company number or a domain. One counterparty per read.
- 02
Two tiers
Fast sources make the dossier. The Gazette and the Wayback Machine run behind.
- 03
The dossier
Four postures, every finding cited, stored under a reference.
- 04
The watch
Every stored counterparty is read again, and only what moved is reported.
The keyless sources answer in under two seconds. A slow source is cut at nine seconds and shown as pending, never as clear.
The dossier
Every finding says where it came from.
- The company as given, and how it was identified: a number as typed, or found by a search of the register.
- Four postures, then every finding with its detail and what it was matched on.
- Every source, with the address it was read from and the minute it was read.

Sample data. Tellbury Civils Ltd, its number and its notice are invented. The notice was matched on the company number in its own fields, so it is a stop.
Postures
Four postures. No score.
Each dimension is banded on its own. Where nothing could be read, it says no read, never clear.
- clearThe record was read and holds nothing adverse on this dimension.
- watchSomething worth knowing, not something to act on by itself.
- concernSomething to settle before money moves.
- stopThe public record carries an adverse fact. It ends the question until it is explained.
- no readNothing could speak to this dimension. This is not clearance, and it is not clear.
Identity
Is it on the register, and is it who it says it is?
Register status, the age of the company, a legal entity identifier on record or lapsed.
Companies House, GLEIF
Solvency
Will it still be trading when the work is done?
Insolvency notices in The Gazette, overdue accounts or confirmation statement, officers resigning in a cluster, charges registered against assets.
The Gazette, Companies House
Conduct
Is there anything on the record you would want to know?
No conduct source is wired yet, so every dossier reads no read here. Sanctions lists and adverse media are planned.
no readNo source yet
Infrastructure
Is the domain consistent with a real company?
Domain age, registrar holds, mail records, SPF, DMARC enforcement, the first archived capture, and a domain registered years after the company.
RDAP, DNS over HTTPS, Wayback CDX

Sample data. Yarncliffe Timber Frames Ltd is invented. Conduct reads no read, as it does on every dossier today.
Sources
Six public sources, timed on a real read.
Five need no key. Companies House needs a free one.
Fast tier. These make the dossier.
Companies House
free key
Existence, officers, filings, charges
about 0.5 s
GLEIF
keyless
Legal entity identifier, jurisdiction, status
about 0.4 s
RDAP
keyless
Domain age, registrar, registry holds
about 0.6 s
DNS over HTTPS
keyless
MX, SPF, DMARC enforcement
about 0.4 s
Background tier. Cut at the nine-second deadline and recorded as pending.
The Gazette
keyless
Insolvency notices in the official public record
about 0.3 s to search, about 1 s with each notice opened
Wayback CDX
keyless
First archived capture of the site
0.9 s, 4.7 s and 11.4 s on three calls in a row
Measured on one real dossier, not taken from documentation.
When a source does not answer, the dossier says so.
- Each source with its tier, what was asked, when, and how long it took.
- A source that failed is shown as failed. One past the deadline is shown as pending.
- Solvency reads no read, not clear. The dossier is incomplete, and says it is.

Sample data. Corvanley Logistics Ltd is invented, and so is the 503.

Sample data. Kelderby Facilities Ltd is invented: six reads, 17 August to 15 September 2026.
The watch
Watched, not checked once.
Storing a read enrols the counterparty. The watch reads every stored one again and reports only what moved.
- A posture that moved, a finding that appeared, went or changed, a source that stopped answering.
- A slow source past the deadline raises no alert. An adverse finding always does.
- Silent when nothing moved. Today it runs from one line on the operator’s scheduler.
0 7 * * * node src/cli.ts watch
The document
A document to keep.
Every read prints as one self-contained file, to put in a folder and point at later.
- A reference, PB-20260915-F722-F584, so a customer and the operator mean the same read.
- What changed since the previous read.
- Its own statement: public record read at a stated minute, pre-contract diligence, not regulated advice.
- Any stored read prints again as it was.

Sample data. The engine’s own document for an invented company, with one sample-data line added at the top.
Rules the code enforces
Written into the code, not the brochure.
No score.
Four dimensions, each banded on its own. A single number invites a decision the data cannot support.
Posture, DIMENSIONS
No claim without a source.
A finding that names no source cannot be made, and the document refuses one with no address.
signal(), checkAttribution()
No read is not clear.
A dimension nothing could speak to reports no read. Never clear.
posture()
The evidence is named.
A notice matched on its company number is a stop. A name match is a concern that says it is a name match.
gazetteSignals()
Every source is expected to be down.
A failed read is data about the read. It never takes the dossier with it.
readJson(), timed()
Gone means answered.
A finding is reported gone only when every source behind it answered. A quiet source is not a finding that cleared.
silenced()
5,910
results for a text search of The Gazette for “SMITH LIMITED”. So Probity opens each notice and matches the company number in its own fields.
84
further names in 88 insolvency notices, every one a solvent firm: the practitioners. They are never matched as the subject.
Who it is for
For anyone about to do business with a counterparty.
Trades and small firms
Taking on work from a company you have not dealt with before.
Credit control and finance
Extending terms to a new customer, or paying a new supplier for the first time.
Procurement
Taking on a supplier or a subcontractor.
Founders
Signing a first large contract with a company you know from its website.
Not for a firm with statutory checking duties. Probity is pre-contract diligence, not regulated advice, and such a firm still needs a licensed vendor.
Planned
Planned, not built.
None of these is in the code or the screens today.
Planned
Sanctions lists
Read from the primary government lists, for the conduct dimension.
Planned
Adverse media
Coverage that names the company, for the conduct dimension.
Planned
VAT number checks
Whether a VAT number is real, and whether its name matches.
Planned
Invoice checks
Payee, bank details and sending domain, against earlier invoices.
Planned
An API and webhooks
The same dossier as data, and a call when something moves.
Planned
An evidence pack
Every finding, source and minute of a read in one PDF.
Planned
A hosted service
Accounts, a team’s shared watch list, alerts by email or chat.
Planned
Registers and notices outside the UK
Company registers and insolvency notices from other countries, beside the UK’s.
Questions
Asked plainly.
Is a dossier a clearance?+
No. It is public record read at a stated minute, with the source of every finding beside it. Anything you would act on can be confirmed at that source. The document says this about itself.
Is Probity regulated?+
No. It is pre-contract diligence, not regulated advice. A firm with statutory checking duties still needs a licensed vendor.
What leaves the machine?+
GET requests to the six public sources, carrying the company or the domain being read. No dossier is sent anywhere, and there is no telemetry.
Does it cover companies outside the UK?+
UK first. GLEIF, RDAP and DNS answer for any company or domain. The register and the insolvency notices are UK sources.
Can we use it today?+
Not yet as a service. Probity runs today as a command line on one operator’s machine, with the watch on a schedule. The sample dossiers at app.probity.work are its viewer on invented companies; the viewer runs no read itself.
Read the record. Then keep reading it.
In build. Pre-contract diligence from the public record.
Open a sample dossier