Skip to content

Security & Privacy

pertmux is a local-only tool. It acts as a read-only wrapper around tmux, your forge’s REST API, and local coding agent servers.

Personal access tokens (configured in ~/.config/pertmux.toml or via environment variables) are used only to call the GitHub or GitLab API endpoints you configured. pertmux never stores, transmits, or exposes your tokens beyond these API calls.

All data stays on your machine:

  • MR/PR data is fetched from your forge’s API and held in memory by the daemon. The read-state database (pertmux/read_state.db inside the platform data directory) stores comment read state and agent activity cards, including their displayed title, response preview, model, agent, worktree path, and tmux session.
  • Agent data is read from local sources only — opencode’s SQLite database and HTTP server, Claude Code’s JSONL transcripts, and Codex CLI’s SQLite databases. No data is sent externally.
  • Worktree data comes from local git and wt CLI commands.

pertmux makes outbound HTTPS requests to exactly two destinations:

  1. Your forge API — https://{gitlab-host}/api/v4/ or https://{github-host}/api/v3/ (or api.github.com)
  2. Local agent server — http://127.0.0.1:{port}/session/status (localhost only)

There is no telemetry, no analytics, no phoning home. pertmux makes zero network requests beyond what you explicitly configure.

pertmux is fully open source. You can audit every network call in the codebase:

  • Forge API calls: src/forge_clients/gitlab/client.rs and src/forge_clients/github/client.rs
  • Agent API calls: src/coding_agent/opencode.rs, src/coding_agent/claude_code.rs, src/coding_agent/codex.rs
  • Port discovery: src/discovery.rs (local process inspection only)