Skip to main content
Version: v1.1

OpenTimestamps Integration

TrackForge uses OpenTimestamps (OTS) to create independently verifiable timestamp evidence for methodology hashes and evidence roots.

What Is Submitted​

TrackForge stores hashes as 64-character lowercase hexadecimal SHA-256 strings. For OTS submission, the implementation:

  1. Validates that the value is a 64-character lowercase hex digest.
  2. Decodes the hex string to 32 bytes with bytes.fromhex(hash_hex).
  3. Computes SHA256(decoded_hash_bytes).
  4. Submits that 32-byte commitment to OTS calendar servers.

This means the OTS commitment is a SHA-256 commitment of the decoded hash/root bytes. It is not the raw ASCII string of the Merkle root.

Submission Flow​

The proof bundle should include both the original hash value and the .ots proof file, so an independent verifier can reproduce the commitment and validate the timestamp.

Proof States​

StateMeaning
pendingCalendar proof exists or submission is awaiting confirmation.
confirmedProof contains confirmed blockchain attestation.
failedSubmission or upgrade failed.
not_submittedNo OTS submission was made.
local_onlyLocal witness only; not a public blockchain confirmation.

Certificate and verification pages must not blur pending, confirmed, failed, and local-only states.

Calendar Servers​

TrackForge submits to configured OTS calendar servers. Calendar availability is external to TrackForge; if calendars are unreachable, the system can preserve a local witness state so certification work is not silently blocked. That state must be labelled as local-only rather than confirmed.

Verification Without TrackForge​

To verify a confirmed proof:

  1. Recompute the relevant evidence or methodology hash.
  2. Decode the 64-character hash to bytes.
  3. Compute the OTS commitment hash.
  4. Verify the .ots file with a compliant OpenTimestamps verifier.
  5. Confirm the verified commitment corresponds to the certificate's hash/root.

The certificate should provide enough information for this process without requiring access to TrackForge systems.