captivo-access
Open-source, self-hosted Zero-Trust remote access solution for third-party vendors with passkey authentication, time-boxed grants, audit logging, and native RDP/SSH/VNC support.
Ficha actualizada 22 sept 2026, 19:21 · upstream 22 sept 2026, 19:09 · release v1.13.2
Qué es captivo-access
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Captive Access is an open-source, self-hosted zero-trust remote access tool designed for granting secure, auditable access to internal web applications or remote desktops (RDP/SSH/VNC) to third-party vendors without requiring a VPN, inbound port exposure, or shared credentials. It operates entirely on-premise with no vendor lock-in or reliance on external infrastructure.
The system consists of four moving parts: a control plane running Next.js for identity management and admin console; a data plane in Go that handles the public-facing WSS endpoint and identity-aware reverse proxy logic; connector binaries that dial outbound-only to internal services, bundled with guacd (for RDP/SSH/VNC) and KasmVNC (isolated browser); and a shared tunnel module for frame-level communication. Every request is evaluated live against session and grant data before any traffic reaches the backend.
Key features include passkey authentication via WebAuthn, time-boxed access grants with approval workflows, timezone-aware scheduling, tamper-evident audit trails using hash-chaining, per-resource health monitoring, native remote-desktop gateway support, isolated browser sessions for maximum security, and session recording capabilities. The tool is designed to be configurable at the tenant level, supporting custom domains, LDAP/AD directory integration, multiple roles, and optional external timestamp anchoring.
- Grant a vendor access to an internal wiki or admin panel with a time-limited passkey
- Allow a contractor to view production dashboards without exposing credentials
- Enable remote desktop access for a partner team while maintaining zero-trust principles
- Provide read-only access to sensitive data via isolated browser sessions
- Support multiple vendors accessing the same internal application with separate time windows
- Audit vendor activity on internal systems through tamper-evident audit logs
- Zero-trust architecture with live, per-request access evaluation rather than pre-authorization
- Native RDP/SSH/VNC gateway support without requiring a separate bastion server or VPN
- Tamper-evident audit trail using hash-chaining and optional external RFC 3161 timestamp anchoring
- Isolated browser (KasmVNC) provides maximum security by streaming pixels only to the vendor's machine
- Time-boxed access grants with timezone-aware scheduling for granular control over vendor access windows
- Tamper-evident audit logging that supports KVKK/5651 retention policies and CSV export
- Not production-hardened; requires manual security review before deployment in production environments
- No built-in email sending (SMTP) — must be configured separately via the admin console
- Session recording is enabled by default but can be disabled with RECORDED_ENABLED=0 flag
- Does not include a native mobile client or CLI tool for vendor access management
- No out-of-band recovery mechanism beyond TOTP, which may become unavailable if all passkeys are lost
- Requires manual DNS configuration and domain publishing (Caddy On-Demand) for each tenant
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Deploy the control plane as a Docker Compose stack with PostgreSQL. Deploy connector binaries in your own network using `docker run --rm ...`. The data plane runs on port 3100, while connectors dial out to internal services via WSS. For RDP/SSH/VNC targets, ensure guacd is installed and configured per target. Enable session recording by setting RECORDING_ENABLED=1. Configure email SMTP in /admin/email. Publish custom domains using Caddy On-Demand. Set up LDAP directory integration for group-based authorization mapping.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.