Safety
Redaction and privacy
Local first. Only normalized, redacted evidence leaves your machine, and only if you connect the dashboard or ask a model.
What never leaves your machine
- Source code and arbitrary files. The agent has no general file-read tool, only project metadata and the logs of your dev processes and containers.
- Secret values. Anything that looks like a credential is redacted by name and by pattern before it becomes evidence.
- .env values. Only variable names and the host and port each URL points at are recorded, never the values.
- Shell access of any kind.
Redaction rules
| Rule | Example | Result |
|---|---|---|
| Key-name match | DB_PASSWORD, *_SECRET, *_TOKEN, API_KEY, cookies | [REDACTED] |
| Token pattern | sk_live_…, ghp_…, xoxb-…, AKIA…, JWTs, private key blocks | [REDACTED] |
| URL credentials | postgres://user:pass@host | postgres://user:[REDACTED]@host |
| Bearer headers | Authorization: Bearer … | Authorization: Bearer [REDACTED] |
before → after
DATABASE_URL=postgres://app:s3cr3t@localhost:5432/app DATABASE_URL=postgres://app:[REDACTED]@localhost:5432/app
Redaction is deterministic code. It runs on your machine before upload and again in the cloud when evidence arrives, and it never relies on a model to spot secrets.
What a model sees
Investigations send redacted evidence to the model provider configured for the investigation: Anthropic, OpenAI or Google Gemini. For whoseport ask --local that is your own API key, called directly from your machine. The model receives summaries and redacted excerpts, never raw files.
Local-only use
Never connect the dashboard and nothing is uploaded to WhosePort. Listing and inspecting ports,
watch and the MCP inspection tools need no network at all. Investigations still call your model provider.