verify_design_release
Verify a signed 3D design release's signature and, optionally, detect tampering by recomputing its mesh fingerprint, assembly-manual hash, or measured spec record.
Instructions
Verify a release's signature and (optionally) its mesh fingerprint, embedded assembly-manual hash, and measured spec record.
Needs Kiln Pro.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "verify_design_release"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| design_id | No | Id of the design, for a lookup by release name; used only with ``release_name`` and only when ``release_id`` is not given. | |
| release_id | No | Direct release identifier. | |
| release_name | No | The release's name, looked up under ``design_id``. | |
| recompute_fingerprint | No | When true, also recompute the mesh fingerprint from the stored source and compare to the signed fingerprint — detects tampering with the underlying mesh, not just the manifest. Default: false. | |
| recompute_manual_hash | No | When true AND the release embeds an assembly manual (provenance.assembly_manual present), re-hash the on-disk PDF at ``~/.kiln/release_manuals/<release_id>/assembly_manual.pdf`` and compare to the signed SHA-256. Detects manual tampering or corruption — proves a customer holding a v1.2 kit gets the EXACT bytes that were signed on day 1, not a freshly-regenerated PDF. Result fields: ``manual_present`` (bool), ``manual_hash_ok`` (bool or None when the on-disk PDF can't be read). Default: false. | |
| recompute_receipt_hash | No | When true AND the release signed a measured spec record, re-read that version's record from THIS machine's design library and compare it to the hash in the signed manifest. Detects a measured record that changed after it was signed — a verdict edited, a check removed. Result fields: ``spec_receipt_present`` (bool), ``spec_receipt_hash_ok`` (bool, or None when the record can't be read here), ``spec_receipt_reason`` (why, whenever the answer isn't a plain yes). **Bounds worth stating out loud:** this checks the record against the library on the machine running it — the signer's own. The detailed record does not travel with the release, so a buyer holding only the certificate cannot run this check; what they can verify is the signature and the summary it carries. Default: false. |