Withdraw witness

Trail 2026-09-18-fra1

Experiment Nr. 1, Lauf 1 — Drain fra1-lab (Virtua FRA)

Fetch and verify

BASE=https://anycast.dev/witness/2026-09-18-fra1
mkdir 2026-09-18-fra1 && cd 2026-09-18-fra1

curl -sO "$BASE/MANIFEST.txt"
curl -sO "$BASE/log.jsonl.gz"
curl -sO "$BASE/checkpoints.jsonl"
curl -sO "$BASE/origin"

mkdir -p keys anchors
curl -s -o keys/signing_key.pub "$BASE/keys/signing_key.pub"
for f in $(awk '$3 ~ /^anchors\// {print $3}' MANIFEST.txt); do
  curl -s -o "$f" "$BASE/$f"
done

gunzip -k log.jsonl.gz

# what you got is what the manifest says
awk '$1 ~ /^[0-9a-f]{64}$/ {print $1"  "$3}' MANIFEST.txt \
  | shasum -a 256 -c          # GNU: sha256sum -c

# the key comes from the published file, not from the trail
curl -s https://anycast.dev/.well-known/logsiegel-pubkey.txt -o pubkeys.txt
sed -n '/Lauf-ID: *2026-09-18-fra1$/,/END PUBLIC KEY/p' pubkeys.txt \
  | sed -n '/BEGIN PUBLIC KEY/,/END PUBLIC KEY/p' > pub.pem

pip install logsiegel==0.1.2
logsiegel verify . --pubkey pub.pem

Expected: PASS: <N> entries, <M> checkpoints. The guide also shows how to break the check on purpose, so you know it measures something.

The copy of the public key inside the trail (keys/signing_key.pub) proves nothing against us — whoever controls the directory can rewrite log and key together. Take the key from the published file.

Files

FileBytesSHA-256 (first 16)
MANIFEST.txt1,9639d14338ca7b9943b
anchors/cp000525-digicert-20260917T173000Z.tsr6,00634ba085b10b9b739
anchors/cp001745-digicert-20260917T174500Z.tsr6,0075ed1a3c9f8b203e3
anchors/cp003899-digicert-20260917T180000Z.tsr6,0078655f8986787a839
anchors/cp005796-digicert-20260917T181500Z.tsr6,007e32a9e3b85b2e59a
anchors/cp008055-digicert-20260917T183000Z.tsr6,0075176ffa16176cfcf
checkpoints.jsonl24,9418b7de139227d6d64
keys/signing_key.pub1134d39f4d3006e3e9d
log.jsonl.gz851,6686991be8df654adf7
origin355e28b00d70dab01c

Unpacked, log.jsonl is 6,203,078 bytes, SHA-256 6932938306c00ac704af7b4204fa88bbb30688f39ec4b53df50e370a18ad5acc. Unpacking changes nothing about the proof.

5 RFC 3161 timestamp tokens are in anchors/; each one stamps a signed checkpoint root. The certificates to check them against: digicert-root-g4.pem, digicert-chain.pem — or your own system trust store, the result must be the same.

All runs