Claude Permission Observability (cpo)

CLI observability tool for Claude Code agents. Tracks what agents are doing outside defined permissions, logs bypass attempts, and maintains compressed audit trails for building deny-lists.

Install

npm install
npm run build

Usage

1. Initialize a permission manifest

npx . init permission-manifest.json

2. Start watching a project directory

npx . watch --manifest permission-manifest.json --dir ./my-project --agent-id "claude-agent-1"

This monitors file system changes and (optionally) Claude Code state files to detect permission violations in real time.

3. Generate a violation report

npx . report --dir ./cpo-audit

Or export as JSON:

npx . report --dir ./cpo-audit --json --output report.json

4. Log manual actions

npx . log --manifest permission-manifest.json --type file --action "fs.write" --target "src/main.ts" --agent-id "manual"

5. Check audit status

npx . status --dir ./cpo-audit

Permission Manifest

The manifest defines what agents are allowed to do. Rules are evaluated in order:

Type Pattern Action Description
file src/**/*.ts allow Allow editing source files
file **/*.env* deny Deny access to env files
command git push warn Warn on git push
command rm -rf / deny Deny destructive rm
network localhost:* allow Allow local servers
network api.openai.com warn Warn on OpenAI API calls

Sensitive Patterns

Paths matching sensitive patterns (e.g., .env, secrets, token) are automatically flagged as bypass_attempt even if no explicit rule matches.

Audit Trail

  • JSONL format — one action per line, append-only
  • Companion summary JSON for quick analysis
  • Automatic rotation when size exceeds maxTrailSize (MB)

Risk Score

The violation report calculates a risk score (0-100) based on:

  • Violation density (percentage of denied actions)
  • Bypass attempt rate
  • Total violation count
Score Label
0 SAFE
1-24 LOW
25-49 MEDIUM
50-74 HIGH
75-100 CRITICAL

Commands

Command Description
init [path] Create a default permission manifest
watch Start file system watcher
report Generate violation report from audit trail
log Log a manual action
validate Validate a permission manifest
status Show audit directory status

License

MIT

S
Description
No description provided
Readme 41 KiB
Languages
TypeScript 81.6%
JavaScript 18.4%