# shellz documentation

> shellz records every terminal session on Linux servers and in containers, from people and AI agents: SSH logins, remote commands, SFTP, consoles, docker exec and kubectl exec. Recordings are encrypted on the server before they leave it and decrypted only in the viewer's browser. With Perfect Secrecy, only the team's passkeys can decrypt them, not shellz.

Every page below is plain Markdown. Other ways to read these docs:

- Full text of every page in one file: https://shellz.dev/llms-full.txt
- MCP server (Streamable HTTP, no auth): https://shellz.dev/mcp, with tools `search_docs`, `list_docs` and `read_doc`, and every page as a resource
- Any docs URL with `.md` appended, or requested with `Accept: text/markdown`

## Start

- [Introduction](https://shellz.dev/docs.md): What shellz records, how it protects the recordings, and where to start.
- [Getting started](https://shellz.dev/docs/getting-started.md): Sign up, install shellz on a Linux server with one command, and watch your first session live.
- [How it works](https://shellz.dev/docs/how-it-works.md): The path a session takes from a login on your server to a replay in your browser, and the pieces in between.

## Install

- [Choose an install method](https://shellz.dev/docs/install.md): Which install fits your infrastructure, from plain Linux servers to Kubernetes pods.
- [Linux server](https://shellz.dev/docs/install/linux.md): Install shellz on a systemd Linux server, what the installer changes, and supported distributions.
- [Docker host](https://shellz.dev/docs/install/docker-host.md): Record docker exec, docker attach and docker compose exec on a Linux server that runs Docker, without changing your images.
- [Container image](https://shellz.dev/docs/install/container-image.md): Add shellz to a container image so every exec into the container is recorded, on any platform.
- [Kubernetes](https://shellz.dev/docs/install/kubernetes.md): Record kubectl exec into pods on any Kubernetes cluster, including EKS, GKE and AKS.
- [ECS, Fargate and Cloud Run](https://shellz.dev/docs/install/ecs-cloud-run.md): Record ECS Exec sessions on ECS and Fargate, and run shellz in Cloud Run and other managed container platforms.
- [Dev containers](https://shellz.dev/docs/install/dev-containers.md): Record terminals opened in development containers, for people and for coding agents.

## Security

- [Security overview](https://shellz.dev/docs/security.md): What shellz protects, who can read recordings in each mode, and the limits of the design.
- [Encryption](https://shellz.dev/docs/security/encryption.md): The keys, algorithms and formats shellz uses to encrypt, sign and verify recordings.
- [Perfect Secrecy](https://shellz.dev/docs/security/perfect-secrecy.md): How passkeys, the WebAuthn PRF extension and browser-held org keys make sure only your team can decrypt recordings.
- [Tamper resistance](https://shellz.dev/docs/security/tamper-resistance.md): How shellz keeps recording when someone with access to a server tries to stop it, and how it reports attempts.

## Using shellz

- [Recording policy](https://shellz.dev/docs/guides/recording-policy.md): Choose what happens when recordings can't be uploaded, with fail closed, buffer or fail open.
- [Alerts](https://shellz.dev/docs/guides/alerts.md): Where alerts go, what each one means, and how to verify webhook deliveries.
- [Team and access](https://shellz.dev/docs/guides/team.md): Invite teammates, choose roles, and see who viewed which recording.
- [Updates and removal](https://shellz.dev/docs/guides/updates-and-removal.md): How shellz updates itself safely, and how to remove it from a server.

## Reference

- [CLI reference](https://shellz.dev/docs/reference/cli.md): Every shellz command on servers and in container images.
- [Container settings](https://shellz.dev/docs/reference/container-settings.md): Environment variables and files read by shellz run inside containers.
- [Use the docs with AI](https://shellz.dev/docs/reference/ai.md): Read these docs from coding agents and AI assistants through the MCP server, llms.txt or plain Markdown.
