The Living Constitution
home · /security/provenance

Evidence provenance manifest

v1.0 chain

Path: /provenance/manifest.md and /.provenance/ directory · v1.0 · 2026.05

The portfolio's strongest evidence — FOLIO 001's verbatim transcript, PROACTIVE test results, the held-in corpus content — is also the evidence with the highest forgery-suspicion surface. The provenance manifest is the mechanism by which any external reader can verify, without trusting the website, that a published artifact is the artifact the publication record claims.

This document specifies the manifest format, the signing chain, and the verification procedure.


What is in the manifest

For each published evidentiary artifact:

Field Type Notes
artifact_id string Stable identifier (e.g. folio-001-transcript)
title string Human-readable
published_at ISO-8601 First-publication timestamp
sha256 hex Content hash of the artifact, computed over the canonical normalized form
signing_key_fingerprint hex GPG/SSH fingerprint of the key used to sign
signature base64 Detached signature over (sha256 + published_at)
opentimestamps_proof string Path to the .ots file anchoring published_at to a blockchain
mirrors array Independent locations where the artifact is also published (e.g., archive.org, IPFS CID, OSF mirror)
supersedes nullable If this artifact replaces a previous one, the prior artifact_id
notes string Free-form provenance notes (e.g., redaction policy applied)

The manifest itself is published at /provenance/manifest.json and signed under the same procedure.


Example entry

{
  "artifact_id": "folio-001-transcript",
  "title": "FOLIO 001 — Kiro_lies-and-deception.md",
  "published_at": "2026-04-18T17:42:11Z",
  "sha256": "a3f7b9c2e5d8...c4a1",
  "signing_key_fingerprint": "EFAA 7B2C 9E1D 4F18 33A2 91B0 5C7D 8E64 12F3 AA90",
  "signature": "iQIzBAABCgAdFiEE76p7LJ4...base64...gAAoJEFx9j2QSE...",
  "opentimestamps_proof": ".provenance/folio-001-transcript.ots",
  "mirrors": [
    "https://web.archive.org/web/2026*/coreyalejandro.com/folio/001/transcript.md",
    "ipfs://bafybeibq...",
    "https://osf.io/[handle]/files/folio-001-transcript.md"
  ],
  "supersedes": null,
  "notes": "Original transcript. Vendor names retained. User-supplied identifying detail beyond author's own consent redacted (annotated inline)."
}

Verification procedure (for an external reader)

A reader who wants to verify a published artifact follows three steps:

1. Verify the content hash

sha256sum /path/to/downloaded/artifact
# Compare with the sha256 field in the manifest entry.

2. Verify the signature against the public key

The public key is published at multiple locations: - https://keybase.io/coreyalejandro - The portfolio's /.well-known/keys.pub - The signing key's fingerprint on at least one major keyserver (keys.openpgp.org)

gpg --verify artifact.sig artifact

3. Verify the timestamp anchoring (optional but recommended)

OpenTimestamps anchors published_at to the Bitcoin blockchain. A reader can verify with:

ots verify .provenance/folio-001-transcript.ots

A successful verify proves the artifact existed and the manifest entry was signed no later than the OTS proof's block-time. Useful for refuting claims that the evidence was fabricated retroactively.


The signing key

Single GPG key managed by the author. Fingerprint:

EFAA 7B2C 9E1D 4F18 33A2  91B0 5C7D 8E64 12F3 AA90

(The fingerprint above is a placeholder for the document; the live signing key fingerprint is published at /.well-known/keys.pub and on Keybase.)

Key rotation policy. The key is rotated annually or upon any suspicion of compromise. Rotation produces a new manifest with re-signed entries; the old key's last-signature timestamp is the cutoff above which signatures by the new key are authoritative. The transition is documented at /provenance/key-rotation.md.

Key compromise protocol. Suspicion of compromise triggers: 1. Public revocation via the OpenPGP infrastructure within 24 hours. 2. A revocation notice at /provenance/revocations.md. 3. Re-signing of all current manifest entries under a new key. 4. A post-mortem at /post-mortems/.


What provenance does not prove

Provenance is a necessary condition for evidentiary credibility, not a sufficient one. It is one of several layers; the reproduce path, the corpus disclosure, and the held-out evaluation are the others.


Signing automation

Provenance signing is implemented in /scripts/sign-and-log.sh (called by make verify). The script:

  1. Computes the SHA-256 hash of the canonical artifact form.
  2. Signs (hash + published_at) with the signing key (key available only on the author's signing machine; the signing call requires a passphrase).
  3. Submits to OpenTimestamps.
  4. Updates /provenance/manifest.json.
  5. Commits and pushes to the runtime repo.

The script is open-source and auditable. A reviewer who suspects the signing chain has a backdoor is invited to inspect.


Forgery resistance

The honest summary of forgery resistance:

We claim: modification of a published artifact after publication is detectable. We do not claim and could not claim resistance to all conceivable forgery scenarios.


Reader audit checklist

For a reviewer with 15 minutes, the audit is:

  1. Pick three artifacts from the manifest at random.
  2. Download each via the canonical URL and at least one mirror.
  3. Verify SHA-256 matches manifest.
  4. Verify signature against the published key.
  5. Optionally verify OTS proof.

A failure of any step is grounds to question the portfolio's evidentiary claims. Please file an issue if you observe a failure.