Skip to main content
Model provenance records the complete history of how a model was created, including all inputs, transformations, and approvals. EMEP uses cryptographically signed provenance chains to guarantee integrity. This page specifies the provenance record schema, signing protocol, and verification algorithm.

Provenance Record Schema

Inputs Block

Transformations Block

Each transformation records:

Approvals Block

Signing Protocol

Each provenance record is signed using the creator’s private key. The signature covers the canonical JSON serialization of the record (excluding the signature field itself).

Verification Algorithm

Verification Steps

  1. Signature verification: confirm the record was signed by the claimed creator
  2. Input hash verification: confirm all input artifacts match their recorded hashes by querying the ArtifactStore
  3. Parent provenance verification: recursively verify all parent provenance records
  4. Approval verification: confirm all required approvals are present and valid

Trust Anchor

Base models (models with no parents) have self-signed provenance records. Their trust is established by:
  • Download source verification (for example HuggingFace repository)
  • Hash matching against known good values
  • Manual audit for internal base models

Integration

Provenance verification is recursive. Verifying a model requires verifying all ancestors. The verification algorithm caches results to avoid redundant computation.
A broken signature, mismatched input hash, or missing approval invalidates the entire provenance chain. The model cannot be released or deployed until the chain is repaired or manually overridden with full audit logging.