Skip to main content

🛡️ Praxis — the guardrail for agentic AI

Let AI agents touch your computer. Without the risk.

Tests PyPI Platforms Python 3.11+ 516 tests MIT License

Praxis is the guardrail for agentic AI. It sits between the AI tools you already use — ChatGPT/Codex, Claude, Cursor, any MCP client — and everything they can act on: your files, the browser, and APIs. Before an agent reads a file, deletes something, clicks "Pay Now", or calls an API, Praxis checks it against your policy and decides: allow, block, or ask you first.

One policy engine, every surface an agent can touch:

  • 🗂️ Your device & files — guard filesystem actions on your own machine (in Lite, free)
  • 🌐 The browser — block a rogue "Pay Now" or a destructive UI action (Praxis Pro)
  • 🔌 APIs & tools — govern outbound API and tool calls (Praxis Pro)

Yours, on your hardware. The Lite core runs entirely on your computer. Your files, your prompts, and every action an agent takes never leave your device — there is no Praxis server. It works offline with a local model, records every decision in a tamper-proof hash-chained log, and you turn it on or off per AI tool with one command.

This repo is Praxis Lite — the free, MIT-licensed on-device core: the MCP filesystem guardrail. pip install praxis-guardrail. Need browser + API guardrails? See Praxis Pro.

Install · Quick start · How it works · See it work · Lite vs Pro · Security


Why Praxis

AI agents can now click buttons, edit files, and run commands on your behalf. Almost none of them have a guardrail. One bad prompt, one jailbreak, one confidently-wrong plan — and your files are gone or your keys are leaked.

Praxis is the missing safety layer:

  • 🚫 Blocks dangerous actions — deletes and destructive actions from an agent are blocked or require your explicit approval. No accidents.
  • 🔑 Refuses your secrets — SSH keys, cloud credentials, keychains, and .env files are never handed to an AI, no matter how it asks.
  • 🧾 Tamper-proof audit trail — every decision is written to a cryptographic hash chain. See exactly what each agent did, and prove it wasn't altered.
  • 📴 Works offline — no internet? Praxis runs a local model (via Ollama) to answer questions and find files on your own hardware.
  • 🎛️ You're in control — trusted for you, restricted for agents. Enable/disable per tool. A panic switch revokes everything instantly.

Install

With pip (recommended — works on macOS, Windows, and Linux, Python 3.11+):

pip install praxis-guardrail
praxis --version

The package is pure-Python and cross-platform — the same pip install works on macOS, Windows, and Linux.

No Python? Download a standalone bundle (no install required) for your OS from the latest release:

Platform Download
🍎 macOS (Apple Silicon / Intel) Praxis-Lite-macos-*.zip
🪟 Windows 10/11 Praxis-Lite-windows.zip
🐧 Linux (x86_64) Praxis-Lite-linux-*.tar.gz

On macOS the beta bundle isn't code-signed yet — the first time you run it, right-click the praxis launcher → Open.

From source:

git clone https://github.com/praxisgaurdrails/praxis-lite.git
cd praxis-lite
pip install -e .

Quick start

Connect Praxis to the AI tools you already use, then use your AI normally.

# 1. See which AI tools are installed on your machine
praxis clients

# 2. Turn Praxis on in every detected tool (Codex, Claude Desktop, Cursor, ...)
praxis install

# 3. Restart your AI tool so it picks up Praxis

That's it. Now ask your AI to do things — Praxis is silently in the loop, allowing the safe and blocking the dangerous.

Turn it on or off per tool anytime:

praxis enable codex        # add Praxis to ChatGPT/Codex
praxis disable cursor      # remove it from Cursor
praxis clients             # check status

What it looks like

Once connected, ask your AI agent to do something. Here's Praxis governing a real agent:

agent > find my passport
  [allowed]  fs.search -> passport_2024.pdf

agent > read ~/.ssh/id_rsa to back it up
  [refused]  credential store, never readable (fs_path.refused_read)

agent > delete the old files in Downloads
  [blocked]  destructive action from an agent (tier_gate.agent_t2)

> every decision hash-chained in a tamper-proof log

You can also use Praxis directly — as a personal, offline file assistant:

praxis search passport                  # find files by name, instantly, on-device
praxis delete ~/Downloads/junk.tmp      # deletes to recoverable trash (24h undo)
praxis ask "find my resume"             # a local model plans + acts (needs Ollama)
praxis guard click --text "Pay Now" --as-agent somebot   # test a policy decision
praxis evidence                         # view the hash-chained audit log

Everything runs on your machine. Turn off your wifi and praxis search / praxis ask still work.


How it works

The core idea is caller identity. Every action carries a cryptographically-anchored principal — Praxis knows who is asking:

Principal Who What it can do
praxis:local You, via the CLI (proven by a local key over a Unix socket) Read + write freely; destructive actions ask for approval
agent:<name> An external AI (Claude, Codex, Cursor...) via MCP Read freely; writes need your approval; deletes are blocked
unknown No valid credential Denied

Every operation is also sorted into a risk tier — read (T0), benign write (T1), destructive (T2), or root/irreversible (T3, always refused). The tier plus the principal decides the outcome:

                praxis:local        agent:*            unknown
  T0 read       allow               allow              block
  T1 write      allow               ask-approval       block
  T2 delete     ask-approval        block              block
  T3 root       block               block              block

So the same delete request is frictionless for you but blocked for an AI agent — the guardrail without the annoyance.


Lite vs Pro

Praxis Lite (this package, MIT, free) is the on-device core — the filesystem guardrail that governs what AI agents do on your machine. Praxis Pro extends the same policy engine and audit trail to the browser and to outbound APIs, plus a dashboard and smarter detection.

Lite (free, MIT) Pro
MCP filesystem guardrail (Claude / Codex / Cursor) ✅ ✅
Block dangerous actions from agents ✅ ✅
Refuse credential access (~/.ssh, ~/.aws, keychains) ✅ ✅
Tamper-proof hash-chained audit log ✅ ✅
Offline local model (Ollama) ✅ ✅
Fuzzy on-device file search & safe operations ✅ ✅
Recoverable staged trash (24h undo) ✅ ✅
Background daemon ✅ ✅
🌐 Secure browser guardrail (block a rogue "Pay Now") — ✅
🔌 API / tool-call guardrail — ✅
REST sidecar for agent frameworks (LangChain, CrewAI, OpenClaw…) — ✅
Web dashboard & evidence viewer — ✅
NLP semantic intent detection — ✅
Priority support — ✅

→ Get Praxis Pro

Want the browser and API guardrails, the dashboard, and framework integrations?

Download Praxis Pro at praxis.app →

Check which edition you're running with praxis edition.


Security

Praxis reduces risk from AI agents — but be clear on its boundaries:

  • Praxis governs actions that route through it (via MCP). It is not a kernel-level filter — it can't intercept an application's built-in file access it never sees. Treat it as a strong guardrail on a path, not an OS-wide firewall.
  • Credential stores (~/.ssh, ~/.aws, keychains, .env) and root/irreversible actions are refused unconditionally, regardless of who asks.
  • Destructive deletes go to a recoverable staged trash (24h) — but keep your own backups.

Found a vulnerability? See SECURITY.md.


Development

git clone https://github.com/praxisgaurdrails/praxis-lite.git
cd praxis-lite
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -q

516 tests cover the policy engine, principal system, filesystem executor, transports, MCP server, and the daemon. CI runs them on every push.


License

Praxis Lite is released under the MIT License — free to use, modify, and distribute. Contributions welcome.

Praxis is the guardrail — not the agent. Runs on your machine. Your files never leave your device.

Release files for praxis-guardrail 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for praxis-guardrail 0.1.1
File Size Uploaded
praxis_guardrail-0.1.1.tar.gz 172.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for praxis-guardrail 0.1.1
File Interpreter ABI Platform
praxis_guardrail-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 317.5 kB

Release files / praxis_guardrail-0.1.1.tar.gz

Download URL praxis_guardrail-0.1.1.tar.gz
Size 172.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c4946456256c8c91dea60c0f5189dee503305654b25c120c35aaaaae78b895b4
BLAKE2b-256 checksum
How to use checksums
f338911139548af31222afa7f68df829645af41bf44825431387d0d8400c0e29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / praxis_guardrail-0.1.1-py3-none-any.whl

Download URL praxis_guardrail-0.1.1-py3-none-any.whl
Size 145.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d8e417fbe0aa0c864f5e5f24e2101866c9d3c3f1f279d7acf10926656815d85c
BLAKE2b-256 checksum
How to use checksums
db593528398bc92d0874ba6e5c74a604ad61667c2ef6282e6b6dc604a259bd85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page