# H/M Content Credentials Evidence Workspace

Free browser-local workspace for C2PA Content Credentials inspection, comparison, batch review and report reproduction. The selected assets are processed by the self-hosted `@contentauth/c2pa-web` SDK and WebAssembly module; source files are not uploaded.

## Human and search entries

- Workspace: https://hogarmas.net/content-credentials/
- English guide: https://hogarmas.net/content-credentials-verifier/
- Spanish guide: https://hogarmas.net/verificador-credenciales-contenido/
- Chinese guide: https://hogarmas.net/zh/content-credentials-verifier/

## Focused MCP for AI agents

- Endpoint: https://agents.hogarmas.net/mcp/content-credentials
- Server Card: https://agents.hogarmas.net/.well-known/mcp/content-credentials/server-card.json
- Resources: `mcp://content-credentials/server-card.json`, `mcp://content-credentials/capabilities.json`, `mcp://content-credentials/protocol.md`
- Free read-only tools: `get_content_credentials_capabilities`, `verify_content_credentials_envelope`, `verify_content_credentials_audit`

Call the capabilities tool first. The endpoint accepts only privacy-minimized H/M JSON evidence envelopes; it does not accept source media, require an API key or require payment. Submitted envelope bodies are not persisted by the application. Aggregate invocation and declared-client metrics may be retained without raw IP addresses. A checksum match is not a signature, issuer authentication, authorship proof, truth score or legal certification.

## Workspace modes

1. Single file: inspect manifest presence, integrity, signer trust, AI declarations, declared-order provenance timeline and sanitized credential-path diagnostics.
2. Compare two: compare byte identity, bounded report observations and structured manifest paths covering manifest labels, assertions, actions, ingredients, signer fields and validation codes. Differences do not identify cause, author or truth.
3. Batch review: process up to 2,000 files sequentially, keep one full report in memory at a time, stop after the current file and export a bounded CSV or JSON report. Results render 100 rows per page.
4. Reproduce report: verify a SHA-256 evidence-envelope checksum, re-hash the original source file and compare a fresh local analysis with the exported report.

Limits: 50 MB per file and 2,000 files per batch. There is no aggregate selected-byte cap because files are processed one at a time; browser and device resources still determine practical throughput.

## Machine contracts

- Report schema: https://hogarmas.net/content-credentials/report-schema.json
- Share receipt schema: https://hogarmas.net/content-credentials/receipt-schema.json
- Comparison schema: https://hogarmas.net/content-credentials/comparison-schema.json
- Manifest Diff schema: https://hogarmas.net/content-credentials/manifest-diff-schema.json
- Provenance timeline schema: https://hogarmas.net/content-credentials/provenance-timeline-schema.json
- Trust diagnostics schema: https://hogarmas.net/content-credentials/trust-diagnostics-schema.json
- Batch schema: https://hogarmas.net/content-credentials/batch-schema.json
- Evidence envelope schema: https://hogarmas.net/content-credentials/evidence-envelope-schema.json
- Evidence Package profile: https://hogarmas.net/content-credentials/evidence-package-profile.json
- Reproduction schema: https://hogarmas.net/content-credentials/reproduction-schema.json
- Audit report envelope schema: https://hogarmas.net/content-credentials/audit-report-envelope-schema.json
- Vendor manifest: https://hogarmas.net/content-credentials/vendor/v0.13.1/vendor.json
- Report schema ID: `hm.content-credentials-report.v1`
- Receipt schema ID: `hm.content-credentials-receipt.v1`
- Comparison schema ID: `hm.content-credentials-comparison.v1`
- Manifest Diff schema ID: `hm.content-credentials-manifest-diff.v1`
- Provenance timeline schema ID: `hm.content-credentials-provenance-timeline.v1`
- Trust diagnostics schema ID: `hm.content-credentials-trust-diagnostics.v1`
- Batch schema ID: `hm.content-credentials-batch.v2`
- Evidence envelope schema ID: `hm.content-credentials-evidence-envelope.v1`
- Reproduction schema ID: `hm.content-credentials-reproduction.v1`
- Audit report envelope schema ID: `hm.content-credentials-audit-report-envelope.v1`
- Evidence report ruleset: `2026-07-28.1`
- Comparison and batch ruleset: `2026-07-22.4`
- Timeline and trust diagnostics ruleset: `2026-07-28.2`
- SDK: `@contentauth/c2pa-web` `0.13.1`
- C2PA target: `2.4`

## Browser SDK developer preview

- Developer guide: https://hogarmas.net/content-credentials/sdk/index.md
- Latest ESM alias: https://hogarmas.net/content-credentials/sdk/index.js
- Pinned ESM release: https://hogarmas.net/content-credentials/sdk/v0.3.0/index.js
- TypeScript declarations: https://hogarmas.net/content-credentials/sdk/v0.3.0/index.d.ts
- Version and SHA-256 manifest: https://hogarmas.net/content-credentials/sdk/sdk-manifest.json
- Manifest schema: https://hogarmas.net/content-credentials/sdk/sdk-manifest-schema.json
- Immutable legacy 0.2.0 release: https://hogarmas.net/content-credentials/sdk/v0.2.0/index.js

The H/M SDK is a free keyless developer preview and sends no metrics. It wraps the pinned CAI browser verifier and is not an official C2PA SDK. Commercial embedding, private pinned builds, integration support, audit templates and SLAs are available only by written agreement through jpyesihui@gmail.com.

## Privacy-minimized REST API

- Developer console: https://hogarmas.net/content-credentials/developers/
- Capabilities: https://hogarmas.net/api/content-credentials/v1/capabilities
- Verify evidence envelope: POST https://hogarmas.net/api/content-credentials/v1/verify-envelope
- Verify audit envelope: POST https://hogarmas.net/api/content-credentials/v1/verify-audit
- OpenAPI 3.1: https://hogarmas.net/openapi.json
- API response schema: https://hogarmas.net/content-credentials/api-response-schema.json

These REST endpoints accept only exported H/M JSON contracts. Source media is rejected. Submitted evidence JSON is processed transiently, not persisted or counted in application metrics, and is not echoed in the response. The API recalculates H/M checksums and custody chains; it does not parse a media asset, validate a C2PA signature, authenticate an exporter or prove factual truth.

## Python adapter and CLI

- Human documentation: https://hogarmas.net/content-credentials/python/
- Machine guide: https://hogarmas.net/content-credentials/python/index.md
- Artifact manifest: https://hogarmas.net/content-credentials/python/python-manifest.json
- Immutable wheel: https://hogarmas.net/content-credentials/python/v0.1.0/hogarmas_content_credentials-0.1.0-py3-none-any.whl
- Version: `0.1.0`
- Python: `>=3.10`
- Official media dependency: `c2pa-python >=0.32.6,<0.33`

The Python adapter delegates source-media parsing and C2PA validation to the official Content Authenticity Initiative SDK. H/M code verifies evidence envelopes, audit reports and BagIt packages locally. The adapter is not an official C2PA SDK, the H/M Evidence Package is not an official C2PA evidence-package standard, and the package is not published to PyPI.

## Evidence model

The workspace reports independent observations instead of one score:

1. Manifest presence: whether a readable C2PA manifest store was observed.
2. Cryptographic integrity: whether the SDK reports the signed claim and asset binding as valid, invalid or unknown.
3. Signer trust: trusted, untrusted, unknown or not applicable. This is separate from integrity.
4. Declared AI provenance: `c2pa.ai-disclosure` and supported digital source types, when present.
5. Raw history: actions, software agents, ingredients and validation status codes exposed by the active manifest.
6. Timeline: manifest actions retain declared presentation order. An action `when` value is labeled as manifest-declared and untrusted; a validated TSA timestamp is a separate trusted observation.
7. Trust diagnostics: sanitized signer and timestamp-authority leaf summaries, credential-path roles and validation decisions. Raw serial numbers, certificate bytes, intermediate certificate objects and root certificate objects are excluded.
8. Comparison: exact hash identity plus deterministic changes in sanitized report fields and structured manifest paths.
9. Batch: one compact independent row per processed file. Aggregate counts are not a quality, risk or truth score.
10. Reproduction: checksum consistency, source-byte identity and evidence-observation equality are reported separately. A checksum is not a signature and does not authenticate an exporter.
11. Audit record: optional case context, a deterministic report ID, a hash-chained local event ledger and a separately verifiable canonical report digest. Operator identity remains unauthenticated.

## Privacy contract

- Source file uploaded: false
- Browser storage used: false
- Remote trust list used: false
- Hosted model called: false
- Raw file data included in aggregate metrics: false
- Local single-file exports include the local SHA-256: true
- Local comparison exports include selected file names and SHA-256 hashes: true
- Local batch exports include selected file names and SHA-256 hashes: true
- Privacy-minimized result link includes file name, file hash, bytes, certificate serial or raw explanations: false
- URL fragment sent in the HTTP request: false
- URL fragment may remain in browser history: true

## Exports

- Single JSON: complete sanitized local report, including local SHA-256.
- Provenance timeline JSON: declared-order events with explicit timestamp provenance and trust labels.
- Trust diagnostics JSON: sanitized signer, timestamp-authority and credential-path observations without certificate serials or raw certificate bytes.
- Single Markdown: readable evidence summary and explicit limitations.
- Single PNG: privacy-minimized share card without file identifiers.
- Single PDF: browser print output generated locally.
- Result link: unsigned privacy-minimized receipt with a SHA-256 consistency checksum.
- Comparison JSON and Markdown: before/after evidence differences with file names and hashes.
- Batch CSV: bounded rows with spreadsheet-formula injection protection.
- Batch JSON: bounded machine-readable batch report.
- Manifest Diff JSON: changed manifest paths without raw assertion payloads or certificate serials.
- Evidence Package ZIP: BagIt 1.0 layout with SHA-256 payload/tag manifests, report, evidence envelope, provenance timeline, trust diagnostics and W3C PROV-JSONLD. The original source is optional and excluded by default.
- Enterprise audit ZIP: canonical JSON envelope, local verification result, provenance timeline, trust diagnostics, print-ready HTML, Markdown, SHA-256 file manifest and a hash-chained event ledger. The source asset is excluded.

## Limitations

- A valid credential does not prove factual or semantic truth.
- No credential does not prove that content is fake or AI-generated.
- No observed AI declaration does not prove that AI was absent.
- A mathematically valid signature can belong to a signer outside this verifier's local trust anchors.
- A comparison difference does not prove why a file changed or who changed it.
- Batch totals are descriptive counts, not a score or verdict.
- The H/M Evidence Package is a BagIt interoperability profile, not an official C2PA evidence-package standard. Its checksums are not digital signatures and do not authenticate the exporter.
- Manifest action order is declared presentation order, not independently proven chronology. Action `when` values are not promoted to trusted timestamps.
- The SDK exposes a sanitized credential path and signer/TSA leaf summaries, not a complete `x5chain`; intermediate and root certificate objects, serial numbers and raw certificate bytes are not exposed.
- Audit report checksums and operator fields do not authenticate the operator, organization or exporter and are not digital signatures.
- The result link checksum detects accidental or deliberate changes; it is not a signature and does not authenticate the sender.
- The workspace does not provide legal advice, certify compliance or issue a truth score.

## Primary sources

- C2PA Content Credentials 2.4: https://spec.c2pa.org/specifications/specifications/2.4/specs/ContentCredentials.html
- C2PA Technical Specification 2.4: https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html
- CAI JavaScript SDK: https://github.com/contentauth/c2pa-js
- BagIt 1.0 (RFC 8493): https://www.rfc-editor.org/rfc/rfc8493
- W3C PROV-O: https://www.w3.org/TR/prov-o/
