{
  "slug": "proverif",
  "name": "ProVerif",
  "tagline": "Automatic symbolic analysis in the applied pi-calculus",
  "maintainer": "Bruno Blanchet, Inria (Prosecco)",
  "url": "https://bblanche.gitlabpages.inria.fr/proverif/",
  "category": "symbolic-protocols",
  "targets": [
    "Protocols",
    "hax models extracted from Rust"
  ],
  "approach": "Symbolic analysis of applied pi-calculus models, unbounded sessions, largely automatic",
  "license": "Open source",
  "status": "Active, mature",
  "summary": "ProVerif automatically analyses protocol models in the applied pi-calculus for secrecy, authentication and equivalence properties over unbounded sessions. It has a large model base and is a target of hax, so Rust implementations can be analysed symbolically.",
  "details": [
    "ProVerif is faster and more automatic than Tamarin at the cost of expressiveness for stateful protocols. The hax backend makes it the easiest symbolic tool to attach to a Rust codebase."
  ],
  "strengths": [
    "High automation.",
    "hax backend from Rust.",
    "Decades of published models."
  ],
  "limits": [
    "Weaker on global mutable state.",
    "Symbolic model only.",
    "May not terminate on some models."
  ],
  "fit": [
    "Choose ProVerif for stateless or lightly stateful protocols and for Rust code via hax."
  ],
  "references": [
    [
      "ProVerif",
      "https://bblanche.gitlabpages.inria.fr/proverif/"
    ]
  ],
  "category_name": "Symbolic protocol analysis",
  "page": "https://sorryfree.com/frameworks/proverif/",
  "updated": "2026-09-13"
}