Exact bytes
Every artifact carries its SHA-256 and byte size. Inline artifacts travel as base64; local path artifacts remain confined to an explicitly supplied stable root.
Portable evidence · standard library only · offline
An Evidence Capsule is one JSON file containing a typed claim, the exact bytes it cites, machine-checkable relationships, and the limitations a reader must carry with it. Verification fetches nothing and executes nothing.
Every artifact carries its SHA-256 and byte size. Inline artifacts travel as base64; local path artifacts remain confined to an explicitly supplied stable root.
The report separates content identity, artifact integrity, derivation checks, ledger membership and anchor-envelope binding. Natural-language truth and producer identity are not silently inferred.
Journalists, researchers and agents can exchange the evidence object without granting it agency. URIs and intents are inert provenance and advice, never commands.
Verify the frozen example
Clone the public repository and run the dependency-free verifier against the frozen Palimpsest vector:
git clone https://github.com/beepboop2025/palimpsest
cd palimpsest
python3 scripts/evidence_capsule.py verify \
protocol/test-vectors/palimpsest-erasure-v1.json
Exit code 0 means the bounded v1 checks passed. Exit code 1 means a well-formed report contains a failed check; 2 means the input or command could not be processed.
Create from published Palimpsest data
The adapter refuses to invent a seal. It emits only when the complete reading matches one ledger entry and a structurally valid OpenTimestamps envelope binds an anchored prefix containing that entry.
python3 scripts/evidence_capsule.py palimpsest \
--reading readings/censored-planet-latest.json \
--source censored-planet \
--output censored-planet.capsule.json
python3 scripts/evidence_capsule.py verify \
censored-planet.capsule.json
The download above is a frozen conformance example with a stable content identity, not a moving “latest” alias. Current readings change on their publication schedule, so generate a capsule from the checked-out published state when you need a current evidence object. Capsule creation is a trusted local build step: use only a stable checkout and inputs that an adversarial local process cannot modify while the adapter runs.
ScamShield private bridge
The local ScamShield bridge builds a private Evidence Capsule from structured
detector, threat-family and provenance claims. Its public counterpart is
scamshield-intelligence-pack/v1 version 2026-08-08.2, with 18 reviewed
sources and 8 typologies. Raw Telegram text is represented by its SHA-256 and is not sent by
default. The capsule may keep exact indicators and matched terms for authorized review, but those
fields never pass into the public intelligence pack or outward review candidate.
Stores structured claims, limitations, the original-message digest and any exact evidence
needed for authorized local review. A sampled investigative lead declares
declared-nonrecomputable-v1 instead of pretending the larger ranking is present.
Keeps broad tier and threat-family relationships, indicator counts, pseudonymized source and limitations. It omits indicator values, matched fragments, messages and owner-only liquidity values.
Every outward candidate says HUMAN_REVIEW_REQUIRED. The feed writes JSONL to
stdout; it does not publish, call a webhook or open a network connection.
Read the result precisely
ok means, and what it does not meandeclared-nonrecomputable-v1. That is an honest negative result, not a hidden success.A sampled or bounded investigative lead can preserve the exact source bytes without pretending to reproduce a larger ranking. Evidence Capsule v1 records that boundary with declared-nonrecomputable-v1: the derivation must state why it cannot be rerun from the capsule alone, and the verifier reports the result as partial rather than verified. This behavior is documented in the Palimpsest-local protocol content model.