Examiner read home: Defensible AI Platform Examiner read: Nebula Mutual
EX

Key expires 2026-11-15. Every read is logged. Issued by the CISO, Nebula Mutual.

Verify a pack

Offline: the chain and the signature. Online and optional: the anchor. This page and the downloads are part of your logged session; the verifier itself runs without us.

  1. Download the verifier, and check it

    Download gos-verify.py version 1.2.1, Apache 2.0

    Learn more about the verifier

    It is one readable Python 3 file with nothing to install, so it also runs on a locked-down laptop. Read it before you run it. Source repository: [verifier repository].

    SHA-256:
    9e47a9fad63e… show full hash9e47a9fad63ead2f7588c0809291ed0d6ed06e18341f851a78308c2c9532b543
    Listed in SHA256SUMS.txt. Signature: in the build, SHA256SUMS.txt is signed with the release key rel-01, Ed25519; this prototype ships it unsigned. Compare with the value in the source repository, not only this page.

    Your platform

    PlatformRun the verifierCheck a file’s SHA-256
    Windowspython gos-verify.py …Get-FileHash -Algorithm SHA256 <file> (PowerShell)
    macOSpython3 gos-verify.py …shasum -a 256 <file>
    Linuxpython3 gos-verify.py …sha256sum <file>
  2. Download the pack issued to your key

    Download nebula-mutual-2026Q3.pack.json

    SHA-256 as served here:
    204ecfcfa43a… show full hash204ecfcfa43a42f65019d5ca71058878d9ee83332086c3e5015cfef7a08afada
    Check it with the command for your platform. The authoritative value is the one the institution sent you separately. The pack is signed with pack key nm-pack-01 (prototype test key), Ed25519; its key hash as served here is cb943626 ee1843d2 df977867 26539a04 86ffbf8f ca54cf64 d3f1bc22 41536e90, and the authoritative value is the one the institution sent you.
  3. Run it with the pack key hash the institution sent you
    python gos-verify.py nebula-mutual-2026Q3.pack.json --key <pack key hash sent to you>

    Sent a chain head too? Add --expect and the head. Paste either value whole or in its groups of eight.

    Learn more about --expect

    With --expect the verifier compares the heads itself, so nothing is compared by eye. The chain head as served by GovernanceOS is 2bb3a4f2 71d74a90 6c1a507a 918313f6 7a3ca88b d2c2edc8 4b4b5a4a 853bcf9f; the authoritative value is the one the institution sent you, and the public anchor.

  4. Read the result

    What the verifier prints for the sample pack, offline:

    GovernanceOS pack verifier 1.2.1 (Apache-2.0)
    Pack: nebula-mutual-2026Q3 · 31 records, chain positions 289 to 319
    Created: 2026-10-16T10:12:00-05:00 · Period: 2026-07-01 to 2026-09-30
    Issued by: The CISO, Nebula Mutual (a fictional institution)
    Notice: Prototype sample. Nebula Mutual is a fictional institution constructed for illustration; any resemblance to a real organization is unintended. People are shown as roles. Signed with a prototype test key that signs nothing real.
    Chain: OK (31 of 31 records recomputed and linked)
    Signature: OK (Ed25519, key nm-pack-01 (prototype test key); it covers the header, every record and the summaries)
    Key: SHA256 cb943626 ee1843d2 df977867 26539a04 86ffbf8f ca54cf64 d3f1bc22 41536e90  MATCH with the pack key hash you were sent
    Head: 2bb3a4f2 71d74a90 6c1a507a 918313f6 7a3ca88b d2c2edc8 4b4b5a4a 853bcf9f
          Not compared. Add --expect with a head the institution sent you to compare it too.
    Anchor: not checked (offline). No anchor operator is named yet; once one is, compare the head with its published anchor.
    Result: VERIFIED. The pack was not changed after the pack key you were sent signed it: the header, every record
            and the summaries. The same key signs every pack, so check the pack name and positions above are the ones
            you expect. It does not prove the records were true when written; that is for the examination.
    Learn more about the anchor

    Online and optional: compare the head with the published anchor yourself, at [anchor URL], anchored with [anchor operator] on 2026-10-16. The verifier never needs the network. Who operates the anchor, how often, and how to read it alone

What a verified chain proves

Nothing in the pack was changed, removed or reordered after signing. Pinned to the pack key you were sent, it proves the pack came from this institution.

What it does not prove

A consistent chain of false records verifies perfectly. The chain proves integrity; the institution proves truth.

When it does not verify

A failure is itself evidence. Keep the output, the pack and the values you were sent. The institution comes first; GovernanceOS is only for a fault in the verifier itself, reported at [verifier repository].

What the verifier printsExit codeWhat it meansWhat to do
Result: INTACT, NOT PINNED.1The pack agrees with itself, and nothing ties it to the institution yet: you gave no pack key hash. A head alone is not enough, because a shortened pack can be signed again.Run it again with --key and the pack key hash the institution sent you. Rely on the pack only after that.
Chain: BROKEN at position 299: the stored hash differs from the hash recomputed from the record.2A record was changed after it was chained. The position names the first record that no longer matches.The verifier says it: keep this output as evidence and ask the institution (the issuer above) to explain the change.
Signature: INVALID (key …). The head was not signed by this key, or the pack changed after signing.3The head was not signed with the pack key named in the pack, or the pack changed after signing.Keep the output. Ask the institution first: the CISO, Nebula Mutual, who issued the pack.
MISMATCH: you were sent a different head.4The pack’s chain head is not the one the institution sent you.Do not rely on this pack. Ask the institution first: the CISO, Nebula Mutual, who issued the pack.
Format: NOT READABLE5The file is not a pack this verifier reads, or it is cut short, or a value you typed is not a hash.Download it again and check its SHA-256. If it persists, ask the institution first: the CISO, Nebula Mutual, who issued the pack.
Key: … MISMATCH: the pack was signed by a key other than the one you were sent.6The pack was signed by a key other than the one the institution named to you.Do not rely on this pack. Ask the institution first, by a route you trust: the CISO, Nebula Mutual, who issued the pack.
Your own tool shows a SHA-256 that differs from the value you were sentnoneChecked before the verifier runs: the file is not the one the institution sent.Download it again from Start. If it still differs, ask the institution first: the CISO, Nebula Mutual, who issued the pack.
Your online lookup does not find the head at the anchornoneOptional and online: the head was not anchored, or a different head was. When the anchor does not matchAsk the institution first: the CISO, Nebula Mutual, who issued the pack.

See a failure for yourself: download the tampered example pack (SHA-256 7ba973673c29…) and run the verifier on it. It stops at position 299 with exit code 2, as in the first row.