provenance-signing

Builds tamper-evident provenance manifests and optional C2PA signing receipts for investigation case artifacts.

43|8|Updated Mar 25, 2026
One-click install
npx skills add https://github.com/buriedsignals/spotlight --skill provenance-signing-buriedsignals
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: provenance-signing
Source: https://github.com/buriedsignals/spotlight/tree/main/skills/provenance-signing
Command: npx skills add https://github.com/buriedsignals/spotlight --skill provenance-signing-buriedsignals

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Completed OSINT investigation packages need a verifiable integrity record so reviewers can detect later tampering, but manually tracking hashes of findings, fact-checks, and reports is error-prone and not portable. ## Core Features & Use Cases - Immutable Provenance Manifests: Generates content-addressed manifest revisions covering summary.md, findings.json, fact-check.json, evidence bundles, and review artifacts, with input-set hashes and parent revision links. - Staleness Detection: A --check-current mode verifies that case inputs have not changed since the manifest was built and marks stale pointers. - Optional Noosphere C2PA Signing: Hands the manifest to a local Noosphere signer endpoint and stores immutable, deduplicated signing receipts and failure records. - Use Case: After a Spotlight case passes its readiness gate, run the build script to produce a signed provenance package proving the review.html and verification trail have not been altered since delivery. ## Quick Start Run the provenance manifest build script against the case directory to create an unsigned manifest, then optionally pass a Noosphere signing endpoint and credential ID to sign the review artifact.

Frequently Asked Questions about provenance-signing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a provenance manifest for an investigation case?

Run python3 scripts/build-provenance-manifest.py with the case directory path. This writes an unsigned manifest covering summary, findings, fact-check, evidence bundle, and review artifacts, creating an immutable content-addressed revision for activated cases.

How do I sign case artifacts with C2PA and Noosphere?

Pass --sign-endpoint with the Noosphere signer URL, an optional --credential-id, and --artifact such as review.html to the build script. The signer returns a JSON receipt stored immutably under data/provenance-signing-receipts/.

Does C2PA signing require a third-party API key?

No third-party API key is required for the Noosphere C2PA contract. A signing credential must be configured where Noosphere runs the signer, and private keys or secrets must never be stored in the case directory.

What happens if case files change after signing?

The signed revision and receipt remain untouched, but the current pointer is marked stale when --check-current detects input changes. Rebuilding creates a new child revision; existing revision files are never edited in place.

Does a signed provenance manifest prove the investigation is true?

No. Signing proves integrity and traceability, meaning artifacts can be checked for later tampering. Truth still depends on Spotlight evidence, independent fact-checking, and editorial review.

What happens when provenance signing fails?

The unsigned immutable revision is kept and the review flow continues. Activated cases append a deduplicated failure record under data/provenance-signing-attempts/, and retrying never overwrites prior revisions, receipts, or attempts.