API live

When a module breaks,
know exactly which proofs
are still trustworthy.

Seed-scoped module isolation and surgical revocation for formal verification pipelines. Register modules, track theorem lineage, revoke with precision.

Patent pending -- Application 63/990,122

The problem with verification pipelines

Without DFV

A component regresses. You re-run everything from scratch. Hours of SMT solving. Every proof is suspect until proven otherwise. Clients wait.

With DFV

A component regresses. You revoke it. DFV tells you in milliseconds: 3 proofs scarred, 7 preserved. You fix only what's broken. Clients stay informed.

How it works

01

Register Modules

Each component in your pipeline gets a seed-scoped isolation boundary. Parser, compiler, prover, backends -- all tracked independently.

02

Register Theorems

Every proof or finding gets registered with lineage back to the modules that produced it. Dependencies are explicit.

03

Revoke

When a module has a regression, revoke it. DFV walks the dependency graph and marks affected theorems as scarred.

04

Blast Radius

Instant report: which proofs are scarred, which are preserved. No guesswork. Surgical precision.

Live demo results

Every row below came from a real API call. Not a mockup.

Pipeline Modules Theorems Revoked Scarred Preserved Clean
Certora Prover 4 10 VC Generator 3 7 70%
Slither (Trail of Bits) 14 25 Reentrancy detector 1 24 96%
Echidna (Trail of Bits) 7 7 Coverage tracker 1 6 86%
OpenZeppelin 6 12 Proxy Upgradeable 3 9 75%
K Framework (RV) 6 12 Haskell backend 5 7 58%
Lean4 / Axiom 6 12 Elaborator 1 11 92%

REST API

# Health check GET /health # Initialize a verification context POST /api/v1/init { "master_seed": "my-project-audit-2026" } # Register a module POST /api/v1/modules/register { "context_id": "...", "module_id": "smt_solver", "version": "4.8.0", "description": "Z3 SMT solver", "bond_type": "command" } # Register a theorem with lineage POST /api/v1/theorems/register { "context_id": "...", "theorem_id": "transfer_safe", "name": "Transfer No Overflow", "verified_by": "smt_solver", "description": "...", "depends_on": ["vc_generator"] } # Revoke a module and get blast radius POST /api/v1/revoke { "context_id": "...", "module_id": "vc_generator", "reason": "Storage aliasing regression in v4.8.0" } # Response: { "directly_scarred": 3, "preserved": 7, "total_theorems": 10 }

Pricing

Trial

Kick the tires
  • Limited API calls
  • 1 context at a time
  • Community support
Contact for Access

Enterprise

For verification infrastructure
  • Unlimited everything
  • On-prem deployment
  • Custom SLAs
  • Dedicated support
Contact for Pricing