Leibodex Capture Bundle v1

Versioned specification document.

Leibodex Capture Bundle v1

  • Version: v1
  • Status: active
  • bundle_spec: leibodex.capture_bundle.v1

Purpose

Define a capture-focused ZIP artifact for browser/mobile/manual capture flows that is hash-stamped in Leibodex.

Hashing Rule

  • Compute SHA-256 over the exact ZIP bytes.
  • Stamp that hash via POST /v1/stamps.
  • Canonical verification URL is /verify/<hash>.

Required Files

  • manifest.json
  • At least one captured content file (for example front.jpg or capture.png).

Optional Files

  • statement.txt
  • receipt.txt
  • certificate.json
  • signatures/* payload files (for optional Signed Bundle Mode attachments)

manifest.json Schema (v1)

Canonical top-level keys (sorted lexicographically in deterministic tooling):

  • bundle_spec (string, required)
  • created_at_utc (ISO8601 Z, required)
  • description (string, optional)
  • internal_file_count (integer, optional)
  • metadata (object, optional)
  • signatures (array, optional)
  • title (string, optional)

metadata suggested keys:

  • bundle_type (capture recommended)
  • creator_alias

signatures[] object shape (optional):

  • type (pgp | webauthn | detached)
  • public_key (optional)
  • fingerprint (optional)
  • signature_hash (optional, SHA-256 hex)
  • signed_at_utc (optional ISO8601 Z)
  • attestation_statement (optional)

Example manifest.json

{
  "bundle_spec": "leibodex.capture_bundle.v1",
  "created_at_utc": "2026-03-01T00:00:00Z",
  "description": "camera capture",
  "internal_file_count": 3,
  "metadata": {
    "bundle_type": "capture",
    "creator_alias": "mobile"
  },
  "signatures": [],
  "title": "artifact capture"
}

Determinism Notes

  • Browser bundles are best-effort deterministic.
  • CLI bundles are strict deterministic (stable file order, stable key ordering, stable archive metadata).