Agents that verify the server New
Each agent pins your server's identity, and the control stream is sealed after a handshake both sides sign. A proxy that ends TLS can neither read nor change the commands.
Dendrite is the collaborative terminal platform for engineering teams. Shared live sessions, single sign-on and passkeys, role-based access, just-in-time access grants, session recording, and audit that streams to your SIEM. Self-hosted, air-gap capable.
Linux server · Linux & macOS hosts · self-hosted · air-gap capable
Multiple authenticated engineers work in the same shell in real time, with integrated chat and per-participant latency visibility. No screen sharing, no credential handoffs.
Active and recent sessions at a glance. Sessions persist on the host and resume exactly where you left off, from any browser.
Search your registered hosts or paste user@hostname to connect directly. Sessions run only on machines your organisation controls.
View-only locks, per-user silent downgrades, colour palettes, and scrollback depth - controls applied on the server, instantly, for every attached client.
Single sign-on with your identity provider, your LDAP directory, or local accounts with passkeys. Sign-in ties every session to a real identity, and access is granted per person, never by a shared link.
Dendrite gives engineering managers visibility and CTOs a defensible security posture - without slowing the people in the shell.
Each agent pins your server's identity, and the control stream is sealed after a handshake both sides sign. A proxy that ends TLS can neither read nor change the commands.
Record every session's output, joins and, if you choose, keystrokes. Recordings are encrypted and hash-chained, with a replay page for auditors and asciinema export.
Approving, inviting or sharing creates a grant: view or edit, with an expiry. Grants survive reconnects. When one expires or is revoked, the user is disconnected immediately.
Sign-ins, grants, joins and leaves with the reason, file transfers and refusals, recordings, and admin actions. Filter them in the dashboard and export them.
Send events to Splunk, Elastic, Logstash, Filebeat, syslog, webhooks or TAXII 2.1. Each output keeps its own hash chain, which can be signed, and a script checks exports offline.
Drag files into the terminal, with progress. Admins decide who can upload, download, pull and push, and which file types are blocked. Optional ClamAV scanning fails closed.
Passwordless WebAuthn/FIDO2 login with platform authenticators or YubiKeys. Phishing-resistant and fast.
Agents find their servers in DNS (SRV records) and fail over by priority. A server must still prove a pinned identity, so a spoofed record leads nowhere.
Every agent call carries a signed, single-use admission stamp. With admission enforced, anything else gets a bare 404 before any gRPC code runs.
Every release is signed, and agents install a pushed update only when the signed release manifest lists it. Settings stay, and a failed health check rolls back.
Enrol a host with a single-use join token that also carries your server's fingerprint. Each agent has its own key, revocable from the Hosts page.
Map identity provider or LDAP groups to platform roles. Auditors get the audit log, recordings and sign-ins, and nothing else.
View-only for the whole session or one person, enforced by the server and kept across reconnects. Vendors watch on a grant that ends on time.
Session watermarks, clipboard guards, login rate limiting, one-time WebSocket tickets, and rotated refresh tokens.
Self-hosted in your VPC, on bare metal, or fully air-gapped. Single systemd service, nginx TLS, no container runtime.
Sessions, hosts and agent keys, users, audit, recordings, file policy and feature flags, live with no restarts. Analytics come with Professional.
Session and host health surfaced in the dashboard. Concurrent, sanitised transcript export for every participant.
No daemons to babysit. No config files to decipher. The full guide lives in the documentation.
$
Enrol a Linux or macOS host with a join token from your server: it pins your server's identity, and the agent always comes from your own deployment - never a third-party host.
Start free with up to five people, no licence needed. Small Teams adds your LDAP directory, Professional the analytics, and Enterprise single sign-on, session recording and air-gapped licences.
For small teams and evaluation
Free, forever
For growing engineering orgs
Teams of up to 15 people
For production engineering teams
Up to 50 hosts
For regulated and critical infrastructure
Annual agreements
Already have a subscription? Sign in to billing
No. Sessions execute only on hosts you register - in your VPC, on-prem, or fully air-gapped. Dendrite's coordination layer brokers authenticated connections; it never executes commands on your behalf.
Each host's agent proves its own key on every connection, and pins your server's identity: the join token carries the server's fingerprint. After a handshake both sides sign, the control stream is sealed with AES-256-GCM, so even a corporate proxy that ends TLS can neither read nor change the commands. With admission enforced, calls without a valid signed stamp get a bare 404, and agents can fail over between servers listed in DNS.
Single sign-on through OpenID Connect (Microsoft Entra ID, Okta, Google Workspace, Keycloak, Auth0 and others), your LDAP or Active Directory directory, or Argon2id-hashed local accounts with passkeys (WebAuthn/FIDO2) for passwordless, phishing-resistant login. You can use all three at once. Local accounts and passkeys work on every plan, LDAP from Small Teams, and single sign-on on Enterprise.
Every user holds one of five roles: viewer, vendor, operator, auditor or admin. Map identity provider or LDAP groups to roles, or set them per user in the admin dashboard - changes apply on the next request. Roles decide who can start sessions, register hosts, and reach the dashboard - privileges follow your org chart, not standing grants.
Sign-ins and failures, session lifecycle, access grants, joins and leaves (with the reason a connection ended), file transfers and policy refusals, recordings and their replays, and admin actions are all recorded on the server. Events can stream to Splunk, Elastic, Logstash, Filebeat, syslog, webhooks or TAXII 2.1. Each output keeps a SHA-256 hash chain, optionally HMAC-signed, so gaps and edits show up. Export the log from the dashboard or stream it to your SIEM; Enterprise supports custom retention.
Yes. The session owner can switch the whole session to view-only, and the server applies it immediately. Owners can also make a single participant view-only; that restriction follows the user, so reconnecting does not lift it. Access itself is a grant, view or edit, with an expiry.
Through the vendor role: vendors sign in with their own account and join only the sessions they are invited to. They cannot start sessions or register hosts; a session they ask for goes to an admin for approval. Invite a vendor with view-only access for an hour, and when the grant expires the server disconnects them. Enterprise deployments can also share read-only links with guests who have no account.
Yes, on Enterprise. When recording is on, the server records each session's terminal output and who joined, and can also capture keystrokes. Everyone in the session sees a Recording badge. In "required" mode, a session that can't be recorded is refused. Recordings stay encrypted, are hash-chained and sealed, and are kept for 90 days by default. Auditors and admins replay them on the Recordings page, with seeking, a timeline, an integrity check and asciinema export. Every replay and export is audited.
Run the installer again, or dendrite update. Releases are signed, and the installer checks the signature before it installs anything. It keeps the old binaries, restarts and runs a health check, and rolls back automatically if the check fails. Your configuration, keys and accounts stay as they are; use --reconfigure to run the full setup instead. Since 0.17, Dendrite installs under its own names (dendrite-server, dendrite-agent, /etc/dendrite), and the old sshx names and SSHX_* settings keep working. To move a 0.17 host to 0.18, install again from https://dendrite.sh/get, which brings the new release key.
That is a design goal. Self-hosted and air-gap-capable deployment, single sign-on and directory authentication, session recording, least-privilege session controls, watermarks, clipboard guards, and audit logging are built for compliance-sensitive operators. The security documentation set is aligned with ISO 27001 controls.
A server without a licence runs as Community, free forever: up to 5 users and 5 hosts, live shared sessions and chat, just-in-time access, view-only and invites. LDAP comes with Small Teams, the analytics with Professional, and single sign-on, session recording, file transfer, guest links and offline licences with Enterprise.
Tell us a little about your team and environment, and we will get back to you within one business day.
Install the Community edition in minutes, or talk to us about a production deployment.