Control Tower Documentation

Control Tower is an AI control evaluation framework for measuring the effectiveness of safety protocols when deploying potentially misaligned AI agents. It provides realistic software environments where AI agents complete tasks while safety protocols monitor for malicious behavior, and models AI control as a game between a Blue Team (maximizing usefulness and safety) and a Red Team (attempting to subvert safety measures).

Where to start

Both paths use the objects defined in Core Concepts; the Glossary spells out every abbreviation. To change Control Tower itself, see CONTRIBUTING.md.

Guide

Getting Started

PageDescription
QuickstartFresh machine to running evals on public environments with an OpenRouter key
Running Evals on HawkSubmit evals to a shared Hawk cluster and view results

Running Evaluations

PageDescription
Running EvaluationsRun evaluations with policies, task selection, batching, and replay
Sabotage Eval PipelineRun the end-to-end honest, attack, monitor, and safety pipeline

Monitoring

PageDescription
Monitoring TrajectoriesScore trajectories with action and trajectory monitors

Viewing Trajectories

PageDescription
TrajectoriesUnderstand trajectory files, IDs, conversion, upload, and download
Web ViewerView uploaded trajectories and eval results
Inspect Logs ViewerInspect .eval logs locally
DocentRun Docent locally and manage collections

Measuring Safety and Usefulness

PageDescription
Safety CurvesCompute safety + usefulness via ct game-metrics metrics
ROC CurvesMonitor discrimination plots from ct game-metrics graph roc
Pareto Frontier(Safety, usefulness) Pareto plots from ct game-metrics graph pareto

Concepts

Concepts and Terms

PageDescription
Core ConceptsEvery object Control Tower works with, what it is in code, and where it is documented
AI Control ConceptsUnderstand the core framework
Architecture at a GlanceSee how settings, environments, tasks, samples, trajectories, and matches fit together
Control Tower and InspectWhich behaviour comes from Inspect and is documented there
GlossaryAbbreviations and project terms used across the documentation

Build

Start Building

PageDescription
Hands-On GuideBuild a toy environment and run your first eval
Development SetupGet your local environment running
Live DevelopmentIterate on envs and tasks with ct live

Settings and Environments

PageDescription
Making EnvironmentsCreate evaluation environments
Environment ArchitectureSettings, env discovery, and repo layout
Porting SettingsBring an existing benchmark in as a setting
Internet SimulatorSimulated external services inside environments
Hawk Values ContractThe hand-authored hawk-values.yaml each env needs to run on Hawk

Tasks and Scorers

PageDescription
Making Main TasksDefine tasks for agents
Making Side TasksDesign sabotage objectives
Side Task Failure TypesClassify side tasks as live or delayed
Making ScorersWrite task validators
Side-Task Scorer PatternsReusable scorer_utils helpers for side-task scorers
Auditing EnvironmentsEnvironment quality audits via ct run subcommands
Task Generation and Audit CommandsThe ct run commands that generate tasks and audit environments, tasks, and trajectories

Sabotage Trajectories

PageDescription
Making Sabotage TrajectoriesHand-craft sabotage trajectories (strajs) that accomplish a side task while evading the monitor
Sabotage Trajectory ReviewThe @straj-review bot for sabotage trajectory (straj) pull requests
Attack Strategy GuidesDesign strategy guides for the strategy-attack policy

Policies, Protocols, and Monitors

PageDescription
Protocols and Untrusted PoliciesHow agents are built and blue-team control logic is applied
Function RegistryRegistering monitors and policies

Reference

Command Line, Python, and HTTP

PageDescription
CLI ReferenceGenerated reference for every Control Tower command and option.
Python ReferenceGenerated reference for the registries Control Tower is extended through.
HTTP APIViewer routes, wire conventions, auth, and self-hosting

Infrastructure

Sandboxes and Storage

PageDescription
EC2 FleetRun evaluations on a fleet of EC2 workers
Simulated SandboxThe no-Docker simulated sandbox backend
DatabaseMongoDB collections and access

Project Structure

DirectoryPurpose
src/control_tower/environments/Environment infrastructure (settings, scorer utils, config)
.settings/Cloned environment repos (gitignored, populated via ct settings pull)
src/control_tower/trajectories/Trajectory format handling
src/control_tower/ct_runs/Orchestration and evaluation logic
src/control_tower/protocols/Protocol definitions
src/control_tower/metrics/Safety, usefulness, ROC, Pareto, and plotting helpers for ct game-metrics
docs/This documentation
tests/Test suite
apps/docs/Docs and environment reference site