Skip to content

Journalist workflow

Witness can help preserve evidence that a particular byte sequence was available by a recorded time without sending the source file to the gateway. It should be used as one part of a newsroom evidence process, not as a complete chain of custody.

A careful workflow

  1. Preserve the original file and record how it was obtained in the newsroom's controlled evidence store.
  2. Hash the file locally and submit it:
witness attest --file evidence.bin --save evidence-job.json
  1. Poll the hash with witness status <hash> until the job is confirmed.
  2. Save a confirmed job response, extract .signed_attestation with jq, and run witness verify on that signed object.
  3. Preserve the artifact, job response, signed attestation, network verification configuration, and relevant operational notes together.

Caveats

The attestation covers the hash, not the source, authenticity, authorship, location, or editorial meaning of the material. Hashes of public or small candidate sets may be reversible by guessing. Witness does not hide IP address, timing, user-agent, or proxy-log metadata; consider the publication and source- protection implications before contacting a public gateway.

For sensitive work, use an appropriately controlled gateway and review the threat model. Freebird can provide anonymous admission control, but it is not transport anonymity.