Check a record

Paste or drop a Testimony Record below and this page will report the level it reaches and every check behind that level. The validator runs in the page. Nothing is uploaded, and nothing is stored, so a record about somebody’s customers does not leave the machine it is read on.

It is the same validator the specification publishes, ported to JavaScript and checked against the Python reference on a corpus of records covering every level and every failure mode. If the two ever disagree the build fails, because two validators that disagree are worse than one.

 ·   ·  or drop one onto the box

If there is no record to hand

Any system can emit one and the format requires nothing of ours. For a LangGraph graph that already pauses for a person, it is an adapter and about five minutes:

pip install testimony-langgraph

The node names the action so the operator’s own risk table can classify it, and the identity of whoever approves is taken from the authentication layer rather than from anything the model produced. The adapter will not invent an approver, because there is nothing in LangGraph for it to find, so a graph resumed the ordinary way produces a record that says so rather than implying a person was involved.

The same validator ships with that package as testimony-validate, so a record can be checked at a terminal as well as here.

What a level does not tell you

A level is a property of the record, not a judgement about the system that wrote it. TR-3 says an approval named a person and took that name from an authentication layer. It does not say the person read anything, and no format can.

Below TR-4 nothing here is tamper evidence. Non-decreasing write times show a record is consistent with having been appended to, not that it was. And a record that declares it takes no actions is believed, which is why the declaration is reported beside the level rather than hidden inside it.