source
Ardur Personal Hub
Ardur Personal is the local product shape for regular users. It protects local
Ardur Personal is the local product shape for regular users. It protects local AI-agent actions where Ardur owns the tool boundary, and it labels everything else honestly as observed or unknown.
The first release-candidate path is Claude Code.
First Run
Install Ardur with its Python dependencies:
cd <ardur-repo>
pip install -e python/
ardur --version
Create a simple guardrail file:
ardur profile init --template read-only --path ARDUR.md
Edit ARDUR.md if needed:
# Ardur Guardrails
Mode: read only
Mission: Review this project without changing files or running commands.
Protect folder: .
Max tool calls: 100
Duration: 1d
## Allow
- Read files
- Search files
## Block
- Run shell commands
- Edit files
- Write files
Turn on Claude Code protection:
ardur protect claude-code --profile ARDUR.md
Start Claude Code with the exact command Ardur prints. It includes
VIBAP_HOME=... so the hook can find the active passport and the Python
environment where Ardur is installed:
VIBAP_HOME=/path/to/.vibap claude --plugin-dir /path/to/plugins/claude-code
Check for missing tools, plugin files, or active passport before using it:
ardur doctor-claude-code
If claude is missing, install Claude Code first. If plugin files are missing,
use the checked-in plugins/claude-code directory or reinstall Ardur from a
complete release artifact.
Options Users Can Choose
read-only: review code without editing files or running commands.safe-coding: edit files inside the protected folder, but block shell commands.ARDUR.md: plain Markdown profile for the same settings, suitable for non-technical users.- Advanced CLI flags:
ardur protect claude-code --scope . --mode read-onlyandardur protect claude-code --scope . --mode safe-coding.
The Markdown profile compiles into the same Mission Passport and receipt path as advanced CLI setup. No policy capability is removed.
For source installs, pip install -e python/ installs Ardur’s required Python
dependencies from python/pyproject.toml. The development Homebrew formula is
not the stable public install path yet; it must be regenerated from a tagged
release with Python resource stanzas before it is advertised to non-technical
users.
Hub Setup
The Hub receives browser, desktop, and CLI observations and signs standard Ardur evidence.
ardur setup
ardur hub
ardur setup writes a local Hub token to the Ardur Personal config and prints
it once for setup. Keep that token local. The browser extension uses it to talk
to the Hub; arbitrary websites should not be able to read Hub exports or submit
fake observations.
On macOS, ardur setup also installs a per-user LaunchAgent plist at
~/Library/LaunchAgents/dev.ardur.personal-hub.plist so the Hub can be managed
through launchctl or brew services start ardur-personal. The plist is
inert until you load it — ardur hub runs the Hub directly without going
through launchctl. Run ardur uninstall to remove the plist.
Browser Evidence
The browser extension is beta evidence collection, not enforcement over hidden provider behavior.
- Start the Hub.
- Load
examples/ardur-personal-extensionas an unpacked extension. - Paste the Hub token from
ardur setup. - Enable the current AI site.
- Optional: enable visible-text capture for readable excerpts.
- Review evidence in the popup or dashboard.
CLI And Desktop Boundaries
ardur run -- <command> can enforce simple non-interactive local commands, but
it is not the first-class path for interactive CLIs such as Codex or Claude in
this release candidate. Codex hooks and Claude Desktop MCP packaging are
explicit next-cycle work.
ardur desktop-observe records local desktop observations on macOS. It does
not control hidden provider-side behavior.
Evidence Levels
enforced: Ardur controlled the local action boundary.attested: Ardur signed an observation or receipt.observed: a local adapter saw browser, desktop, or CLI state.blocked: Hub or hook policy denied a controllable action.insufficient_evidence: the relevant provider-side activity was not locally visible.
Boundary
Ardur can protect Claude Code local tool calls and other adapter-mediated local actions. It cannot control hidden server-side behavior inside Claude, ChatGPT, Grok, Codex web, Kimi, or other third-party services unless those providers expose a tool/action boundary that Ardur owns.