# Torno > Torno is the agent-native system of record for growth work on digital products: one Loop connecting Signals, analysis, Hypotheses, measurable Changes, and honest results around a target Metric. Agents operate through the API, CLI, and MCP; humans govern what ships, spends, and publishes. The hosted app is at https://app.torno.app; this site carries the product story and the documentation. Quick orientation: - The core object is the Loop — a durable state machine per growth objective: listening → diagnosing → proposing → pending_approval → live → measuring → decided, then back to listening with an append-only decision log. - Everything the world tells you lands as an immutable Signal (voice, behavior, outcome, metric_delta) with provenance, consent, and trust attached. Public-web content is quarantined, fenced, and everything derived from it stays labeled untrusted-derived. - Hypotheses fill a forced grammar (because this evidence, we believe this change, for this audience, will move this Metric, by this much, within this window) and must cite evidence. - Every Change makes an explicit exposure decision: declare a measurability contract (tag, goal event, assignment) or be honestly unmeasurable and excluded from causal claims. Assignment runs locally from signed cached bundles and fails open — no Torno call in the customer's request path. - Readouts speak a closed evidence vocabulary: insufficient_evidence, trending, significant_win, significant_loss, guardrail_breach. "No data" and "below k" (default k = 25) are rendered states, never zeros. - Metrics are versioned definitions read through one envelope (value, unit, bounds, basis, freshness) by every surface — funnels, Experiments, the revenue Needle, and the CLI never recompute a number independently. - Agents are first-class principals with scopes, required reasoning (stored as a claim, never treated as instruction), and budgets (default $50/day spend cap). Irreversible, sensitive, or spending actions pass policy: allow, deny, or hold for a human approval. Ad publishing is human-approved by default. - Surfaces: the web app (https://app.torno.app), the `torno` CLI, the public REST API, and an MCP server via `torno mcp serve` (stdio). Public reads, raw-event export, and webhooks are part of the model — no lock-in by omission. - Status: pre-launch early access, opening in small turns via https://torno.app/early-access/. Product verticals are implemented and locally scenario-tested; live provider verification (Stripe, ad platforms, listening connectors, WorkOS) is in progress and each connection shows its verification state in the product. Honest limitations are listed at https://torno.app/docs/faq/. ## Product - [Home](https://torno.app/): the product story — listen, diagnose, propose, ship, measure, decide - [The Loop essay](https://torno.app/loop/): why growth work should return — the argument behind the model - [Torno vs the assembled stack](https://torno.app/vs-the-stack/): an honest comparison with the tools it replaces (and the ones it deliberately doesn't) - [Early access](https://torno.app/early-access/): how new Workspaces get in - [Sign in](https://app.torno.app): the hosted app ## Docs: Getting started - [What is Torno?](https://torno.app/docs/what-is-torno/): Torno is the agent-native system of record for growth work: what the Loop is, who Torno is for, what it bundles, and what it deliberately leaves out. - [Getting started](https://torno.app/docs/getting-started/): The shortest path from a repository to a first Loop: create a Workspace and Property, run torno init, define a Metric, and verify events arrive. ## Docs: Core concepts - [The Loop](https://torno.app/docs/the-loop/): The durable state machine behind every growth objective in Torno: its states, a complete turn, honest failure semantics, and the append-only decision log. - [Loops in practice](https://torno.app/docs/loops-in-practice/): The operational side of Loops: what a Loop binds, subscriptions and routing, cadence, the intake queue, proposals, pause and archive, and concurrency. - [Metrics and the semantic layer](https://torno.app/docs/metrics/): How Torno defines a business number once — named, typed, versioned — and serves every surface the same envelope, with uncertainty rendered honestly. ## Docs: Signals & data - [Signals](https://torno.app/docs/signals/): How Torno records observations as immutable Signals with provenance, trust labels, and quarantine for untrusted content. - [Event collection](https://torno.app/docs/event-collection/): Torno's first-party collection boundary: the track, identify, expose, and goal calls, write keys, the event dictionary, dedup, signing, and bot handling. - [Listening](https://torno.app/docs/listening/): Connectors that bring reviews, forums, search queries, and support email into Loops as quarantined, provenance-labeled Signals. - [Identity and privacy](https://torno.app/docs/identity-and-privacy/): Torno's two-zone identity model: cohort-only visitors, the pseudonymous Subject key, k-anonymous aggregates, consent, retention, and data subject requests. ## Docs: Measurement - [Experiments](https://torno.app/docs/experiments/): Pre-registered Experiments wrap Change variants in a stats plan and report evidence in an explicit, closed vocabulary — never a naked p-value. - [Analytics](https://torno.app/docs/analytics/): Funnels, retention, and paths as Loop instruments, with autocapture controls, historical imports, and k-anonymous privacy on every read. - [Revenue and the Needle](https://torno.app/docs/revenue-and-needle/): Read-only Stripe data becomes normalized MRR, and the Needle composes your target Metric, its decomposition, and every live Change aimed at it. ## Docs: Action - [Changes and delivery](https://torno.app/docs/changes/): How a Change declares its measurability up front, and how variants are delivered from signed, locally evaluated bundles with sticky rollout, ramp, and kill controls. - [Briefs](https://torno.app/docs/briefs/): Versioned landing-page and content briefs that specify what to build, why, how to instrument it, and how Torno will know whether it worked. - [Ads](https://torno.app/docs/ads/): Campaign and creative drafts for Google and Meta, grounded in your Brand Kit, published under human approval with hard spend controls. - [SDKs](https://torno.app/docs/sdks/): A JS core under 10 KB gzipped, framework adapters, server SDKs, and edge middleware — event collection and local Change assignment with no Torno call in your customer's request path. ## Docs: Agents & governance - [The agent interface](https://torno.app/docs/agent-interface/): One registered capability map drives Torno's web app, REST API, CLI, and MCP surfaces, with idempotent mutations, webhooks, and exportable data. - [The CLI](https://torno.app/docs/cli/): torno is the priority agent interface: non-interactive by default, machine-readable, with meaningful exit codes and the same policy paths as the web app. - [Loops as code](https://torno.app/docs/loops-as-code/): Represent Metrics, Loops, Changes, tags, and the event dictionary in torno.config, sync with pull, diff, and push, and enforce the contracts in CI. - [Policy and approvals](https://torno.app/docs/policy-and-approvals/): How policy gates irreversible, sensitive, and spending actions with allow, deny, or require-approval outcomes, Approval Requests, and spend ceilings. - [Stella Loop sync](https://torno.app/docs/stella-loop-sync/): The optional integration that turns accepted Hypotheses into Stella Loop work items, activates Changes on ship, and posts Results back as evidence. ## Docs: Reference - [Glossary](https://torno.app/docs/glossary/): The fixed vocabulary of Torno: every product noun from Workspace and Loop to Provenance and Program holdout, defined in one reference. - [FAQ](https://torno.app/docs/faq/): Direct answers about what Torno replaces, what it guarantees, how agents are governed, and where its current limits are. ## Full content - [llms-full.txt](https://torno.app/llms-full.txt): the complete documentation and the comparison collated into a single file — read this to know everything about the product ## Contact - Email: torno@lorenalabs.com