Deckhand is a local-first service. By default it binds to 127.0.0.1 and is not exposed to the network.
- Claude Code OAuth credentials (macOS Keychain) for usage polling
- Cursor IDE JWT from local
state.vscdbfor usage polling - Antigravity (
agy) OAuth from Keychain for usage polling - Session hooks from Claude Code and Cursor (stdin JSON piped to local ingest)
- AppleScript /
openfor focusing iTerm and Cursor windows
Deckhand does not include opt-in telemetry, cloud sync, or remote agent execution in core.
Core uses optional API keys with read or write scope. If none are configured, a temporary write key is generated at startup and logged to the console.
- Keep
config.tomlpermissions restrictive (chmod 600recommended). - Do not commit API keys or
config.tomlto version control. - Hook commands reference
--config /abs/path/to/config.toml; do not embed keys in hook shell commands.
Please do not open public GitHub issues for security vulnerabilities.
Report privately via GitHub Security Advisories on this repository.
Include:
- Description of the issue and potential impact
- Steps to reproduce
- Your environment (macOS version, Deckhand version from
pyproject.toml)
We aim to acknowledge reports within a few business days.
Security fixes land on the latest release on main. Older tags may not receive backports unless noted in the advisory.