Control Tower

User Guide

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

New to AI control? AI Control Concepts covers the basics. Core Concepts maps each idea to the code behind it, and the Glossary lists the abbreviations.

API Stability lists what only a major release can break. To work on Control Tower itself, see CONTRIBUTING.md and Development Setup.

User Guide

Basics

PageDescription
QuickstartFresh machine to running evals on public environments with an OpenRouter key
Web ViewerView uploaded trajectories and eval results

Concepts

PageDescription
AI Control ConceptsHow control evals work and how usefulness and safety are measured
Core ConceptsEvery object Control Tower works with, what it is in code, and where it is documented
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

Running

PageDescription
Running EvaluationsRun evaluations with policies, task selection, batching, and replay
Control EvalsRun an honest policy and an attack policy under one protocol, in one eval log
Running Evals on HawkSubmit evals to a shared Hawk cluster and view results
EC2 FleetRun evaluations on a fleet of EC2 workers
Simulated SandboxThe no-Docker simulated sandbox backend

Protocols and Monitors

PageDescription
Protocols and PoliciesHow the red team's policy and the blue team's protocol are built and wired into an eval
Monitoring TrajectoriesScore trajectories with action and trajectory monitors
Function RegistryRegistering policies and protocols

Analysis

PageDescription
TrajectoriesUnderstand trajectory files, IDs, conversion, upload, and download
Safety CurvesUsefulness, safety, audit budget and cost of a control eval

Building Environments

PageDescription
Development SetupGet your local environment running
Live DevelopmentIterate on envs and tasks with ct live
Making EnvironmentsEnvironment structure, desired properties and known limitations
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
Adding a DatasetImport an external monitoring dataset from Hugging Face or GitHub

Tasks and Scorers

PageDescription
Making Main TasksMain task structure, categories and what makes a good one
Making Side TasksSide task structure, required files and what makes a good sabotage objective
Side Task Failure TypesClassify side tasks as live or delayed
Making ScorersWrite and test scorers for main and side tasks
Side-Task Scorer PatternsReusable scorer_utils helpers for side-task scorers
Auditing EnvironmentsEnvironment quality audits via ct extras subcommands
Task Generation and Audit CommandsThe ct extras 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

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
API StabilityWhat stays stable between releases from v6.0.0

Data and Glossary

PageDescription
DatabaseMongoDB collections and access
GlossaryAbbreviations and project terms used across the documentation