# Torana > An open-source reverse proxy that runs on your own machine between a coding agent and its model provider. It records traffic locally, applies configured policy, and runs sandboxed WebAssembly plugins that must be explicitly approved. > Written in Go; plugins are written in Go or Rust > and compiled to WebAssembly. Runs on Linux, macOS, Windows. Torana is open source under Apache-2.0 and installed by building from source. Scope worth stating accurately: - Requests still go to whichever provider you configure, including remote ones — running the proxy locally does not by itself keep data on your machine. - Plugins are sandboxed WebAssembly with declared capabilities, and installing one neither enables it nor grants it access. - Protocol bridges translate between supported inference APIs, but that is tested contract coverage rather than a claim that every harness, model or account combination works. - Context compaction has a published measured negative result rather than a savings claim. ## Start here - [Torana](https://torana.sh/): Keep your coding agent and model. Observe traffic locally, apply your own policy, and build Go or Rust plugins with Torana, an open-source reverse proxy. - [Quickstart](https://torana.sh/quickstart/): Install Torana and route a coding agent through your local proxy. - [How it works](https://torana.sh/how-it-works/): Follow a request through Torana’s local proxy: native routing, opt-in API bridges, shared request formats, WASM plugins, streaming, and local controls. ## Documentation - [Docs](https://torana.sh/docs/): Torana’s documentation: the quickstart, a request walkthrough, protocol bridges, the support matrix, plugin guides, and the CLI reference. - [Protocol bridges](https://torana.sh/docs/protocol-bridges/): Connect an Anthropic Messages client to a local OpenAI-compatible model server. Configure Torana’s opt-in API translation from the CLI and understand its boundaries. - [Support matrix](https://torana.sh/docs/support/): The exact provider endpoints, streaming and tool coverage, prompt-cache behavior, harness paths, and plugin SDK maturity Torana supports. ## Plugins - [Install a plugin](https://torana.sh/docs/plugin-installation/): Build a Torana plugin from source, review its requested capabilities, and approve the exact bundle on your machine. - [Write a plugin](https://torana.sh/docs/plugin-authoring/): Scaffold a Go or Rust plugin with SDK v0.5.1, build its WASM bundle, test it against local scenarios, and approve it in Torana. - [Plugin registry](https://torana.sh/plugins/): Curated Torana plugins and their requested capability classes. - [Share a plugin](https://torana.sh/plugins/submit/): Build a Torana plugin for your workflow, keep it in your own repository, and request a listing in the plugin catalogue. ## Background - [Blog](https://torana.sh/blog/): Why Torana exists, and what its compaction measurements actually showed — including the result that did not go the way it was meant to. - [This was supposed to be a compactor.](https://torana.sh/blog/why-torana/): A compaction experiment, some architectural scope creep, and the local-first proxy that became Torana. - [The context compaction negative result](https://torana.sh/blog/context-compaction-negative-result/): 75 sessions across three arms: a DeepSeek compaction experiment that did not establish reliable savings. - [Website privacy](https://torana.sh/privacy/): What torana.sh measures, what it leaves out, and how browser privacy preferences are respected. ## Source - [torana-edge](https://github.com/torana-edge/torana-edge): The proxy itself: routing, plugin host, control plane, and CLI. - [torana-plugin-sdk](https://github.com/torana-edge/torana-plugin-sdk): Go and Rust SDKs for writing plugins against ABI v1. - [torana-plugins](https://github.com/torana-edge/torana-plugins): Maintained plugin examples, with one setup guide per plugin. - [torana-site](https://github.com/torana-edge/torana-site): Source for this website, including its analytics implementation.