digital verification infrastructure.
The digital world has no
verification layer.
Every system — every pipeline, every payment, every agent, every workflow — runs on trust. Trust in logs. Trust in databases. Trust in whoever ran the process.
That trust is manufactured. State changed. Prove it.
Every system logs what happened. No system proves it.
Logs can be edited. Databases can be altered. pruv chains are cryptographically linked — tamper with one entry and the chain breaks. Verification reports exactly where.
Create a chain. Add entries. Verify.
from pruv import Chain
chain = Chain("invoice-trail")
chain.add("invoice_created", {"id": "INV-0042", "amount": 240.00})
chain.add("payment_received", {"method": "ach", "ref": "TXN-8812"})
chain.add("receipt_issued", {"to": "sarah@company.com"})
chain.verify()
# ✓ 3 entries · chain intact · tamper-proofHash every file. Get a verified fingerprint.
Hash every file in a directory or repository. Produces a deterministic project state fingerprint. Prove exactly what your codebase looked like at any moment.
$ pruv scan ./my-project
Services (3)
✓ FastAPI backend python port 8000
✓ Next.js frontend typescript
✓ Stripe webhook external
Connections
frontend → backend via NEXT_PUBLIC_API_URL
backend → Supabase via DATABASE_URL
backend → Stripe via STRIPE_SECRET_KEY
Env Vars
9 defined · 1 missing · 2 shared
Graph hash: a7f3c28e91b4No code changes. No integration. Point it at a codebase and get a verified architecture map.
A passport for AI agents.
Register with declared owner, permissions, and validity period. Every action checked against scope. Receipt shows what it did and whether it stayed in bounds.
from pruv.identity import register, act, verify
agent = register(
name="deploy-bot",
agent_type="openclaw",
owner="ops-team",
scope=["file.read", "system.execute"],
valid_until="2026-06-01"
)
act(agent, "deploy", {"env": "production", "tag": "v2.4.1"})
receipt = verify(agent) # in-scope, signed, tamper-evidentChain of custody for any digital artifact.
Origin captured. Every modification recorded — who touched it, why, what it looked like before and after. Tamper-evident. Independently verifiable.
from pruv.provenance import track
doc = track("contract-v3.pdf", origin="legal-team")
doc.modify(actor="counsel", reason="clause 4.2 revision")
doc.modify(actor="cfo", reason="final approval")
doc.export_receipt() # full chain of custody, verifiableTime travel for any system state.
Every chain entry captures what your system was at that exact moment. Open any entry, see state before and after, restore to any prior verified state. Recovery is no longer expensive or uncertain.
from pruv import CheckpointManager
manager = CheckpointManager(chain, project_dir="./my-project")
checkpoint = manager.create("before-refactor")
# Something goes wrong — restore to verified state
manager.restore(checkpoint.id)
# Or undo the last action
manager.quick_undo()Every operation produces a receipt.
Not a log. Not an assertion. Proof anyone can verify independently — no account required, no trust required in pruv. Export as PDF. Share via link. Embed as badge.
This receipt is cryptographically linked to every entry before it. Tamper with any entry and this receipt becomes invalid.
The proof stands on its own.
One line. Every agent action recorded.
Dedicated packages for every major agent framework. Install, wrap, ship. No manual logging. Every action chained. Every receipt on demand.
$ pip install pruv-langchain # LangChain
$ pip install pruv-crewai # CrewAI
$ pip install pruv-openai # OpenAI Agents
$ pip install pruv-openclaw # OpenClawfrom pruv_langchain import LangChainWrapper
wrapped = LangChainWrapper(agent, agent_id="agent-id", api_key="pv_live_...")
result = wrapped.invoke({"input": "deploy to production"})
receipt = wrapped.receipt() # full chain of every tool call, LLM call, handofffrom pruv_crewai import CrewAIWrapper
wrapped = CrewAIWrapper(crew, agent_id="agent-id", api_key="pv_live_...")
result = wrapped.kickoff()
receipt = wrapped.receipt() # every task, every agent handoff, verifiedfrom pruv_openai import OpenAIAgentWrapper
wrapped = OpenAIAgentWrapper(agent, agent_id="agent-id", api_key="pv_live_...")
result = await wrapped.run("analyze the quarterly report")
receipt = wrapped.receipt() # tool calls, guardrails, handoffs — all chainedfrom pruv_openclaw import PruvOpenClawPlugin
plugin = PruvOpenClawPlugin(agent_id="agent-id", api_key="pv_live_...")
# Config-driven — hooks into before_action / after_action automatically
receipt = plugin.receipt() # file reads, writes, executions — scope-checkedpruv doesn't just record. It watches.
Anomaly detection runs on the proof chain itself.
Set severity thresholds. Get webhook alerts.
If something unusual happened, you'll know — and you'll have the proof.
Every operation transforms state. pruv captures both sides.
Same principle that secures blockchains.
Without the blockchain.
No tokens. No mining. No gas fees. No consensus.
Just math.
The protocol runs locally. Zero dependencies. Works offline. Works forever.
The cloud adds the dashboard, team collaboration, shareable receipts, and PDF export. It's optional.
$ pip install xycore # protocol only, zero deps
$ pip install pruv # full SDK with cloudThe protocol belongs to nobody. The infrastructure is the product.