HaltProof
About
Fail-closed deterministic checks and tamper-evident receipts for AI agent outputs.
Details
- Author
- rudrendupaul
- Categories
- Developer Tools
Jump to
Setup
Install HaltProof in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/rudrendupaul/HaltProof
Follow the installation instructions in the repository README, then restart your MCP client.
What Is HaltProof, and Why Does It Exist
HaltProof is an orchestration and audit-proof layer over cluster shutdown primitives operators already trust:scontrolfor Slurm,kubectlfor Kubernetes,ipmitoolfor IPMI/BMC. It does not reimplement draining, isolating, or power-fencing a node. It calls the real tool, gates the call behind a dry-run-by-default safety check, and signs a tamper-evident record of exactly what was targeted, what ran, and who authorized it.
It exists because three separate problems tend to show up together during a real incident:
- Three different command sets under pressure.Operators already know how to drain a Slurm partition, cordon a Kubernetes node pool, or power-fence a physical host over IPMI, but doing it consistently across all three during an incident means three different tools, three different flag conventions, and three different failure modes to remember at the worst possible time.
- No shared safety rail.kubectl drain --dry-run=clientonly validates syntax; it doesn't simulate the actual cluster mutation.scontrol update state=draintakes effect the moment you run it. A mistyped target group has no consistent, tool-independent way to catch itself before something real happens.
- No proof after the fact.None of the three native tools produce a signed, tamper-evident record of what was targeted, what actually ran, whether it succeeded, and who authorized it. Building that logging and signing layer yourself, for change-management evidence or for a compliance framework like the EU AI Act's human-oversight provisions, means writing it from scratch.
HaltProof is the layer that answers all three at once: one CLI and one MCP surface, one--confirmgate that every backend routes through, and one Ed25519-signed, hash-chained attestation log.
What does HaltProof actually do, and what's its sharpest difference from just scriptingkubectl/scontrol/ipmitooldirectly?HaltProof calls the same tools you'd call directly,scontrol,kubectl,ipmitool, but wraps every call in a dry-run-by-default gate and produces an Ed25519-signed, hash-chained attestation record. A hand-rolled script can call the same underlying commands, but it doesn't refuse to execute without--confirmand doesn't produce a record that proves, after the fact, that nothing was altered or deleted from the log.
Does HaltProof actually cut power or network access itself?No. It callsscontrol,kubectl, andipmitool, tools you already run and trust, and wraps each invocation in a dry-run gate and a signed record. HaltProof adds orchestration and proof, not a new low-level shutdown mechanism.
Which operating systems and Python versions does HaltProof support?The published PyPI package targets Python 3.10 and up, on Linux and macOS (see itsOperating System :: POSIX :: LinuxandOperating System :: MacOSclassifiers). There's no Windows classifier yet, and the IPMI backend in particular depends on shelling out toipmitool, which isn't the primary target on Windows. If you need it there, open an issue.
How is this different from writing a runbook or an Ansible playbook that calls the same tools?A runbook or an Ansible playbook can call the same underlying commands, but it doesn't produce a cryptographically signed, tamper-evident record of what actually ran on its own; you'd need to build that logging and signing layer yourself. HaltProof ships that as the default behavior, and it also gives you a single dry-run-by-default gate across all three backends instead of three separate playbooks with three separate safety conventions.
Is this an "AI safety kill switch"?No. HaltProof is infrastructure incident-response and compliance-audit tooling for cluster operators. It has no opinion on AI model behavior and makes no claims about AI safety or alignment. Tools that intercept and audit an AI agent's individual tool calls operate at a different layer entirely; HaltProof orchestrates the underlying compute shutdown itself, the same way it would for a non-AI workload.
What happens if a node's underlying tool isn't installed?The relevant backend reports that step asfailedwith the actual error, for exampleexecutable not found, and the attestation record still gets written and signed, so the failure itself becomes part of the auditable history.
Can I use HaltProof without signing attestations?Yes,--no-signskips signing but still writes the record to the log. This is meant for local testing, not production incident response, since an unsigned record can't be verified as authentic.
Does the attestation log need a central server?No. It's a local, append-only NDJSON file by default.--remote-collectoroptionally POSTs each signed record to a URL you configure, for teams that want a central copy, but verification doesn't depend on that server being reachable.
What happens if two operators runhaltat the same time against the same attestation log?Appends are file-locked (fcntl.flockon POSIX) so writes don't interleave, but sequence numbers are assigned by reading the log at the moment each command starts. Point both operators at backend-specific or per-incident log files if you need strict per-operation serialization.
What license is HaltProof under, and can I use it commercially?MIT. You can use, modify, and redistribute it, including commercially, as long as the copyright notice and license text stay attached. SeeLICENSE.
Contributions are welcome. ReadCONTRIBUTING.mdfirst: it covers setting up a dev environment, running the test suite (pytest -v --cov=haltproof --cov-report=term-missing), and the steps for adding a new backend by implementing theClusterBackendinterface. Changes touching attestation signing/verification or the dry-run/--confirmgate get extra review, perCODEOWNERS. SeeSECURITY.mdto report a vulnerability privately instead of opening a public issue.
git clone https://github.com/RudrenduPaul/HaltProof.git cd HaltProof python -m venv .venv && source .venv/bin/activate pip install -e ".[dev]" pytest -v --cov=haltproof --cov-report=term-missing
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
Create crafted UI components inspired by the best 21st.dev design engineers.
Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server
An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .
MCP server for AI Diagram Maker — generate beautiful software engineering diagrams directly inside Cursor, Claude Desktop, Claude Code, or any MCP-compatible AI agent
ALAPI MCP Tools,Call hundreds of API interfaces via MCP
AI-powered SVG animation generator that transforms static files into animated SVG components using the Allyson platform
MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.
One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.
Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





