malibu-verify
Buyer-side verification for signed inference receipts. Pure Go, no runtime deps.
malibu-verify checks an X-Malibu-Receipt value against the buyer’s recorded request and response, resolves the provider receipt key, and returns a deterministic valid, invalid, or inconclusive result.
Install
Release artifacts are published on tags namedverify-v<version>, for example verify-v1.1.0.
macOS Apple Silicon
macOS Intel
Linux amd64
Quickstart
Verify a captured receipt header when you already have the canonical prompt and output hashes:provider_id in a bundle JSON file and run:
CLI Reference
Running against a private coordinator
By default,--coordinator rejects literal loopback, RFC1918, link-local, and unspecified IP hosts. This prevents accidental verification against a private endpoint when a buyer expected the public coordinator.
For local development or an explicitly private deployment, set MALIBU_VERIFY_ALLOW_PRIVATE_COORDINATOR=1 before using a private coordinator URL. Hostnames are not blocked by this literal-IP guard; operators remain responsible for choosing trusted DNS names.
Input modes
--bundle and --receipt are mutually exclusive; --offline prevents live fetches; --pubkey prevents resolver failures from downgrading an otherwise valid explicit-key verification.
Exit codes
Version compatibility
Locked 1.0.x verifiers report v0.3 receipts as
invalid. Roll out v1.1.x to buyers before v0.3-emitting providers reach them.
Trust boundary
Avalid result proves the signer of the tuple was a holder of the provider’s receipt key and that the verifier resolved that key through the configured trust source. It does not prove model honesty, timestamp honesty, response uniqueness, privacy, or replay resistance. See Security & trust model.