From artifact to receipt.
Start with a local check. Then connect the evaluation contract and signing authority to your release process.
Check a real receipt
Open the free verifier and select Load the measured example. It checks an actual finite ONNX evaluation receipt, its demonstration key and the exact candidate model.
The result separates signature authentication from artifact identity and replay. To verify your own receipt, choose its JSON file and an independently trusted issuer key. The files are read in browser memory; they are not uploaded.
The local CLI
Install Gate in an isolated Python environment. Receipt verification needs the cryptography runtime. Model evaluation additionally needs the existing CKODMK production engine.
python3 -m venv .gate-venv
. .gate-venv/bin/activate
python -m pip install \
'mfenx-gate @ https://mfenx.com/gate/downloads/mfenx_gate-1.0.0-py3-none-any.whl#sha256=aac76f6f516f93d5aeb58f373ec747b34acc790fafabcbb3643f26b1f9365b4d'
mfenx-gate --version
Download the Gate wheel · Download SHA-256 checksums · Free verification and evaluation terms
Verification is free in production. The local development and evaluation permission also covers test issuance. Commercial issuance, managed governance and OEM distribution use separate terms.
mfenx-gate verify release-receipt.json \
--trusted-public-key issuer-public.der \
--model candidate.onnx \
--expected-contract-sha256 "$APPROVED_CONTRACT_SHA256"
Omit --model for a receipt-only check. Omit the
expected contract only when you want to authenticate the statement
without checking it against an approved policy. The output records
each unchecked condition explicitly.
Choose the issuer, not just the file
Obtain the public key from your organization’s release authority through an authenticated channel. A key supplied by the same untrusted sender as the receipt does not establish issuer identity.
mfenx-gate keygen \
--private-key issuer-private.pem \
--public-key issuer-public.der
The key is generated locally. Keep the private key out of source control, CI artifacts and model packages. The public key is a P-256 SPKI DER file. Configure its distribution, expiry and rotation through your deployment policy.
Issue after evaluation
The ONNX command executes CKODMK’s CPU classification gate. A receipt is issued only after the approved finite evaluation contract passes. A failed or inconclusive result does not issue a passing receipt.
python -m pip install \
'mfenx-ckodmk[production] @ https://mfenx.com/ckodmk/downloads/mfenx_ckodmk-0.5.1-py3-none-any.whl'
mfenx-gate admit-onnx \
--source source.onnx \
--candidate candidate.onnx \
--dataset test-data.npz \
--contract approved-contract.json \
--expected-contract-sha256 "$APPROVED_CONTRACT_SHA256" \
--private-key issuer-private.pem \
--issuer 'Release authority' \
--output release-receipt.json \
--report local-evaluation.json
Your approved contract binds model, dataset and execution-profile identities. Get its digest from the policy owner. Do not automatically approve a contract supplied by the model candidate. The full report stays local; share the compact receipt separately.
For an interactive workflow, open the local evaluation guide. The browser’s signed PCM package contains model and dataset payloads and is distinct from the compact shareable receipt.
Inspect a checkpoint
mfenx-gate inspect-checkpoint \
--root checkpoint --format safetensors \
--output local-inventory.json
mfenx-gate issue-integrity \
--model checkpoint/model.safetensors \
--private-key issuer-private.pem \
--issuer 'Release authority' \
--output integrity-receipt.json
Inventory inspection supports the engine’s checkpoint-tree formats. Receipt v1 integrity issuance covers one unsharded Safetensors file. It records integrity, not behavioral admission. Keep that distinction in downstream policy.
Read the result precisely
| Check | What is established |
|---|---|
| Receipt authentication | The selected issuer key signed the structured statement. Its commitments and time validity check. |
| Artifact binding | The supplied artifact has the exact digest and byte count recorded in the receipt. |
| Policy binding | The contract digest matches the one independently supplied by the recipient. |
| Finite evaluation | The issuer attests to the recorded test result on its bound dataset and execution profile. |
| Local replay | The supported evaluation is executed again using the corresponding models, dataset and contract. |
A recorded parent is a signed source-artifact commitment, not proof that a third party approved that parent. A passing finite evaluation applies to that evaluation set and contract; it is not a proof of all possible model behavior.
Connect the decision to deployment
Run the gate before publishing an artifact. Treat a nonzero exit as a blocked release. Pin the tool version, approved contract and trusted key. Load the exact validated bytes or use immutable content-addressed storage to avoid replacement after checking.
Keep untrusted pull requests away from release signing credentials. Receipt verification can run without those credentials. Gate does not need a network anchor or hosted account for a local check.
For GitHub workflows, use the MFENX model-gate action. It checks the signed receipt, supplied model and approved contract digest. Provision the trusted public key and contract digest through protected release configuration, outside the candidate change. Deploy the same verified artifact; the action does not replay inference.