Use Cases
- Multi-device sync: Two profClaw instances sync their state over Tailscale without exposing ports to the internet
- Private webhook delivery: Receive GitHub/Jira webhooks to a home server via a Tailscale Funnel or a cloudflared alternative
- Agent-to-agent calls: Sub-agents spawned on different machines communicate over the tailnet
- Remote CLI access: Run
profclawCLI commands against a remote server overssh
Setup
1. Install Tailscale
2. Configure environment variables
3. Start Tailscale
4. Verify connectivity
profClaw Tailscale Module
Thetailscale.ts integration (src/integrations/tailscale.ts) wraps the Tailscale local API for:
- Querying device status and assigned IP addresses
- Checking peer connectivity before sync operations
- Registering the current node on startup
Tunnel Configuration
For receiving webhooks from GitHub or Jira on a private instance, use Tailscale Funnel:https://profclaw-server.tailnet-xyz.ts.net) without opening any inbound firewall rules.
Security Model
- All traffic between tailnet nodes is encrypted with WireGuard
- Device authentication uses the Tailscale identity provider (Google, GitHub, OIDC, or SAML)
- ACLs on the Tailscale admin panel control which nodes can reach the profClaw API port
- The profClaw device identity system (
src/auth/device-identity.ts) uses Ed25519 key pairs that complement Tailscale’s node identity