# critlab documentation > critlab is a feedback platform for prototypes built with AI coding agents: reviewers comment on any element, and the feedback flows back to the agent over MCP. These docs cover using critlab and running it yourself (Docker Compose evaluation, Helm, air-gapped installs, SSO, SCIM, audit log). Every page is also available as Markdown by appending `.md` to its URL. The full corpus in one file: https://critlab.app/docs/llms-full.txt ## Start here - [critlab documentation](https://critlab.app/docs/index.md): What critlab is, how it is built, and where to start — as a user or as the team running it. - [Getting started](https://critlab.app/docs/getting-started.md): Create a workspace, publish a prototype, share it, collect comments and connect your coding agent. - [What you can publish](https://critlab.app/docs/what-you-can-publish.md): React, Angular, Vue and other frameworks work as static builds. critlab hosts the output and does not build it. Build folders, what works and what does not. - [Connect a site you host](https://critlab.app/docs/connect-a-site.md): Review a site that needs a backend or a database by adding one script tag: allowed origins, deploy labels, your content security policy and the first deploy. - [Delete a workspace](https://critlab.app/docs/deleting-a-workspace.md): Who can delete a workspace, what goes and what stays, what can stand in the way, and why an API key can never do it. Export what you need first. ## Agents - [Choose your tools](https://critlab.app/docs/agents/tools.md): The MCP server loads the 23 tools of the feedback loop by default; load workspace, admin or review tools with a flag or an environment variable. - [The canvas manifest (critlab.canvas.json)](https://critlab.app/docs/agents/canvas.md): The file a publishing agent writes so the canvas shows every screen and state of a prototype with the right names. - [Folder context for agents](https://critlab.app/docs/agents/folder-context.md): How an agent reads the links a folder carries — the PRD, tickets, design, research, live prototype — and asks before adding new ones. ## Self-hosting - [Architecture and trust boundaries](https://critlab.app/docs/self-hosting/architecture.md): The services, ports and data flows of a critlab install, and why prototypes are served from their own origin. - [Requirements and sizing](https://critlab.app/docs/self-hosting/requirements.md): What you need before installing: hostnames, a wildcard certificate, Postgres, Redis, S3-compatible storage, and how much hardware. - [Evaluate with Docker Compose](https://critlab.app/docs/self-hosting/evaluation.md): Run critlab on one machine from a source checkout, with Postgres, Redis, SeaweedFS and Caddy in Docker Compose. - [Production install with Helm](https://critlab.app/docs/self-hosting/helm.md): Install critlab on Kubernetes with the Helm chart: images, secrets, external services and the values that matter. - [Configuration reference](https://critlab.app/docs/self-hosting/configuration.md): Every environment variable web, sandbox and realtime read, generated from the code. - [Domains and TLS](https://critlab.app/docs/self-hosting/domains-tls.md): The app hostname, the sandbox zone and its wildcard certificate, custom share domains and the Caddy configuration. - [Object storage](https://critlab.app/docs/self-hosting/storage.md): SeaweedFS, S3, R2 and other S3-compatible stores, bring-your-own bucket per workspace, and region pinning. - [Email](https://critlab.app/docs/self-hosting/email.md): Sign-in is by emailed code, so mail has to work: SMTP for self-hosted, and the console transport for evaluation. - [Licence](https://critlab.app/docs/self-hosting/license.md): Install the offline licence key, what it unlocks, and what happens when it expires. - [Air-gapped installs](https://critlab.app/docs/self-hosting/air-gapped.md): Mirror the images, turn off every outbound call, and transcribe voice notes locally. - [Upgrades and migrations](https://critlab.app/docs/self-hosting/upgrades.md): How database migrations run, and the order to upgrade in. - [Backups and restore](https://critlab.app/docs/self-hosting/backups.md): What holds state, what is stateless, and how to back up and restore Postgres and object storage. - [Health checks, monitoring and logs](https://critlab.app/docs/self-hosting/monitoring.md): Health endpoints for each service, what to alert on, and where logs go. - [Troubleshooting](https://critlab.app/docs/self-hosting/troubleshooting.md): The failures operators actually hit: wildcard certificates, sandbox DNS, path mode, S3 checksums, email and Node versions. ## Enterprise - [Single sign-on (SAML)](https://critlab.app/docs/enterprise/sso.md): Connect a SAML identity provider, verify your email domains, map groups to roles and require SSO. - [Directory sync (SCIM)](https://critlab.app/docs/enterprise/scim.md): Provision and deactivate members from Okta, Entra ID or any SCIM 2.0 client, with groups mapped to roles. - [Audit log](https://critlab.app/docs/enterprise/audit-log.md): What is recorded, how to filter it, and how to export it as CSV or JSON. - [Roles and guest access](https://critlab.app/docs/enterprise/roles.md): Owner, admin, member and guest, folder grants for guests, and prototype access modes. - [Security overview](https://critlab.app/docs/enterprise/security.md): How critlab isolates untrusted prototypes, protects credentials and limits outbound requests.