1
Receive the pack and the key
Separately, from people you trust.
2
Install the verifier
sengol-verify, Apache-2.0, two dependencies.3
Verify
Every check runs on your laptop.
4
Check completeness
Confirm the pack covers the period you asked for.
1. Receive the pack and the key
The bank’s operator produces the pack:--trusted-keys-file. Ask for it through
a different channel from the pack: whoever produced the pack could also have
produced the key embedded in it.
trusted-keys.json
2. Install the verifier
sengol-verify is open source, has no dependency on Sengol, and makes no
network calls:
3. Verify
0. That is the result you want.
What each check proves
Exit codes
The exit code follows the countersignature check, not the overall verdict:
Add
--json for machine-readable output with verdict,
trusted_key_supplied and countersignature_trust_established.
What tampering looks like
Flip one verdict in one record:4. Check completeness
The chain proves the records in the pack link together. It does not prove the pack holds every record. A pack that starts mid-sequence still passes, and an empty pack passes every check. Confirm the scope yourself:- a first sequence number other than
1, or gaps - a period that does not cover the one under review
- pending countersignatures (re-export later; they are usually just not finished)
Reading the rest of the evidence
- Compliance reports map the records to the bank’s obligations. A report generated in the Console or through the API carries an HMAC signature. One generated with the CLI does not. Ask for the Console version.
- Review decisions made in the Console are labels, not signed evidence.
- Account administration (users, roles, break-glass sign-ins) writes logs, not signed records.
The same checks, from the Sengol CLI
If you have thesengol package, the same offline checks run with: