Skip to main content

Authentication & Security

Overview

VibeTunnel supports multiple authentication modes:
  • None (localhost only)
  • Password (simple shared secret)
  • Token (JWT-based)
  • External (Tailscale, ngrok)

Configuration

Security Settings

Enable Authentication

Password Authentication

Server Configuration

Client Login

Token Authentication

JWT Structure

Token Generation

Signing Secret Persistence

When JWT_SECRET is unset, the server generates a 64-byte signing secret and stores it at ~/.vibetunnel/jwt-secret with 0600 permissions. The same key is reused after a restart, keeping existing browser tokens valid. Set JWT_SECRET to supply an operator-managed key; rotating or deleting the active key invalidates existing tokens.

Token Validation

Network Security

Localhost Only (Default)

LAN Access

HTTPS/WSS

External Access

Tailscale Integration

ngrok Tunnel

Session Security

Isolation

Each session runs in a separate process with user permissions:

Resource Limits

Security Headers

Audit Logging

Best Practices

  1. Always use authentication for non-localhost access
  2. Rotate tokens regularly
  3. Use HTTPS/WSS in production
  4. Limit session lifetime to prevent resource exhaustion
  5. Monitor audit logs for suspicious activity
  6. Keep dependencies updated for security patches

Threat Model

Compliance

Data Protection

  • No persistent storage of terminal content
  • Sessions cleared on exit
  • Optional recording with user consent

Access Control

  • Authentication required for remote access
  • Session isolation per user
  • No privilege escalation

See Also