PrismManifest

Probabilistic extractors may propose. Only a signed ParameterManifest may enter the DAG. Stop deterministic engines from trusting unverified money.

Evidence spans → allow / human / refuse → Ed25519 ParameterManifest → hard check before your money engine.

pip install "prismmanifest==0.3.4" — PrismManifestPipeline + enforce_group3_boundary. CLI: prismmanifest-gate. Soft CTA: email MANIFEST. Works with any orchestrator — ChorusGraph optional.

What is PrismManifest?

PrismManifest is a zero-trust tool-argument gate (Apache-2.0, PyPI prismmanifest 0.3.4). AI, OCR, and parsers may propose dollar parameters; only an Ed25519-signed ParameterManifest that clears the hard security check may enter your deterministic tax, underwriting, claims, or payment engine. Formerly ParamGate. Soft CTA: email MANIFEST.

Search terms: signed money parameters · deterministic AI money gate · Form 1040 / invoice / underwriting / claims gate · digit-drop attack · money tool calling · fail-closed finance AI.

The calculator wasn’t the risk

When generative dollars feed deterministic tools, failures look like correct math on wrong inputs. Prompting harder doesn’t fix a missing trust boundary.

Equation: Deterministic Engine + Unverified Probabilistic Input = Deterministic Wrong Answer

How it works

PrismManifest sits between “AI guessed a number” and “your money engine runs” — it checks evidence, signs a ParameterManifest, then the hard check lets the engine run or not.

  1. Capture evidence — what the document actually said (spans, not invented totals)
  2. Ground the claim — tie each dollar/field to a verbatim span + form anchor
  3. Decide — allow · send to human · or refuse
  4. Sign — Ed25519 ParameterManifest (the approved artifact)
  5. Enforce — hard security check before your engine runs (enforce_group3_boundary; C++ and/or Python twin on the signed manifest — not on span extract)
Document / agent
      ↓
AI / OCR proposes dollar parameters          ← untrusted
      ↓
PrismManifest verifies + signs               ← trust boundary
      ↓
PASS / needs human / REFUSE
      ↓
Your deterministic engine runs               ← tax / underwriting / claims / pay DAG

Where the guarantee sits

PrismManifest does not claim that every step runs in C++.

That split is intentional. The signed artifact is what crosses into execution — and that is what the C++ enforce path protects.

Span resolve and plausibility today: Python · Signed-manifest enforce: C++ and/or Python · CUDA: optional acceleration, not the security story.

Is / is not

IsIs not
Trust boundary before money engines runAn LLM / full OCR product
Evidence → signed manifest → hard checkPrompt-injection firewall (PrismGuard)
Fail-closed“0.87 confidence” as permission to pay

Integrity stack

PrismGuard (who may speak) · PrismManifest (which numbers may execute) · PrismShine (whether the answer is grounded)

Works with any orchestrator / deterministic DAG. Also works with ChorusGraph as an optional secondary path — not required.

Use cases

Tax forms · underwriting · claims · money tool-calling · AP/invoice automation

Evidence

Pilot OSS — synthetic + adversarial packs and a keyed Gemini ugly-doc run. Live customer fax corpora remain the production bar.

Do not confuse the adversarial suite (FinancePackBench-G4) with architecture Group 4. Status = Pilot OSS. Production claim needs your redacted scanned/fax packages through the same FA bar.

Minimal Python sample

from prismmanifest import KeyRing, PrismManifestPipeline, enforce_group3_boundary, GateDecision
from prismmanifest.router import DocumentPackage, IntentRouter

keyring = KeyRing.generate(key_id="local-dev-ed25519")
package = DocumentPackage(
    doc_id="1040.txt",
    pages=["Form 1040 Tax Year 2024\nLine 1 Gross income: $470,000.00\n"],
    form_type="IRS_FORM_1040",
    tax_year=2024,
)
routed = IntentRouter().run(package)
pipeline = PrismManifestPipeline(keyring)
result = pipeline.run_on_evidence(evidence=routed.evidence, extraction=routed.extraction)
gate = enforce_group3_boundary(
    result.manifest,
    public_keys=keyring,
    expected_dag_id="capital_gains_v3",
)
if gate.decision is GateDecision.ACCEPT:
    # only then may your money engine run
    pass

Install: pip install prismmanifest · pin: pip install "prismmanifest==0.3.4" · CLI: prismmanifest-gate

Try the Digit Drop Lab — 10-second punch · Form 1040 $450k vs $45k

Full interactive demo — tabs · custom $ · how-to · POST /api/agents/prismmanifest-demo/run

Capabilities

Tool-Argument Gate

Sits between LLMs/OCR and your tax, underwriting, claims, or payment engine so unverified money never enters the run.

Signed ParameterManifest

Ed25519-signed manifests only — not “0.87 confidence” as permission to pay.

Fail-Closed Boundary

Hard security check (C++ and/or Python twin) verifies the signed manifest before the engine runs. Soft CTA: MANIFEST.

Published evidence

PrismManifest Form 1040 demo pack. Fixed sample Form 1040 AGI $450,000 fixture used by the Digit Drop Lab and interactive demo.

Evidence artifact

Install

pip install prismmanifest (pin ==0.3.4). Apache-2.0. Soft CTA MANIFEST — mailto:info@insightits.com?subject=MANIFEST.

Pricing

OSS $0 forever · Team $3,000/yr Founding · Enterprise $12,000/yr Founding · Boundary Pilot $4,500 (warm). Cold CTA: email MANIFEST — no Calendly.

Frequently asked questions

What is “Group 3”?

Internal name for your deterministic money engine (tax / underwriting / claims / payment DAG). The landing talks about the engine; docs use Group 3.

What is “Group 4”?

Internal name for PrismManifest’s verify + sign stack — not the adversarial suite (FinancePackBench-G4) benchmark.

How is PrismManifest different from PrismGuard?

PrismGuard decides who may speak / inject (prompt-injection firewall). PrismManifest decides which numbers may execute — it gates money tool arguments before your tax, underwriting, claims, or payment engine runs. Soft CTA: MANIFEST.

Can an LLM still read documents?

Yes. AI / OCR / parsers may propose dollar parameters. They cannot author money tool arguments alone — only an Ed25519-signed ParameterManifest that clears the hard security check may enter your deterministic engine.

What happens when extractors disagree?

The gate decides allow, send to human, or refuse. Material disagreement or ungrounded money values refuse or escalate to human review — they do not silently enter the engine.

Is a GPU required?

No. CUDA is optional acceleration, not the security story. Core gate runs on CPU with Python ≥ 3.10. Optional extras: [cuda], [kms-azure], [kms-aws].

Does Azure matter?

Production signing can wrap keys with Azure Key Vault. We ran an ephemeral Azure Key Vault proof, then tore the resources down. Ongoing Azure vault is your deploy — not a public “Azure scoreboard.” Prefer: pip install "prismmanifest[kms-azure]".

Does C++ check everything?

No. Evidence binding and plausibility use exact integer micro-units in the verification pipeline. C++ (with a Python twin) verifies the Ed25519-signed ParameterManifest at the final hard boundary before your engine runs. See on-page section “Where the guarantee sits.”

Was this formerly ParamGate?

Same design; the public name is PrismManifest. Install from PyPI 0.3.4: https://pypi.org/project/prismmanifest/0.3.4/ — pip install "prismmanifest==0.3.4". CLI: prismmanifest-gate.

How much does PrismManifest cost?

OSS is $0 forever (Apache-2.0). Founding draft: Team $3,000/yr · Enterprise $12,000/yr · Boundary Pilot $4,500 (warm). Cold CTA stays MANIFEST — email info@insightits.com with subject MANIFEST. No Calendly.

Do I need ChorusGraph?

No. PrismManifest works with any orchestrator or deterministic DAG (LangGraph, custom, C++, ChorusGraph, …). Optional “also works with ChorusGraph” is a secondary line only — the landing sells PrismManifest alone.

Official package links: PrismManifest source code on GitHub · Install PrismManifest from PyPI · PrismManifest interactive demo

View PrismManifest in shop