> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stoffelmpc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Write StoffelLang programs, build `.stflb` bytecode, run local MPC, and integrate private computation into Rust applications.

## Build a Stoffel application

Stoffel is a programming and runtime stack for the private computation inside an application.

You write the private workflow in StoffelLang, compile it to `.stflb` bytecode, run it through local MPC during development, and call it from Rust application code with the SDK.

Use these docs to:

* install the `stoffel` CLI;
* create a project;
* check and build `.stflb` bytecode;
* run local MPC on your machine;
* call a Stoffel program from Rust;
* understand how shares, parties, thresholds, and openings fit into the application boundary.

## The private-computation boundary

Most application stacks encrypt data at rest and in transit, then decrypt it so the app can run its logic. That makes sensitive user context part of ordinary application state: available to services, logs, analytics, support tools, operators, and downstream integrations unless every layer is carefully constrained.

Stoffel gives you a different boundary for the sensitive part of the workflow. Private values enter the computation as shares. The program computes over those shares. Only explicit openings or client outputs leave the boundary.

<img src="https://mintcdn.com/stoffellabs/UAZw8aGx4kzj5W4o/images/diagrams/introduction-private-computation-boundary-branded.svg?fit=max&auto=format&n=UAZw8aGx4kzj5W4o&q=85&s=08e6eee18d4dbd147549a281953fc64f" alt="Side-by-side Stoffel-branded data-flow comparison: the usual app stack decrypts user data into plaintext app state that fans out to logs, databases, analytics, and support systems; the Stoffel stack splits user data into shares, sends only shares across the private-computation boundary, runs MPC parties that hold shares only, and returns authorized output through an explicit opening or client output." width="1200" height="675" data-path="images/diagrams/introduction-private-computation-boundary-branded.svg" />

Read the diagram as a data-form comparison. In the usual app stack, decrypting to compute turns sensitive context into plaintext app state that can spread through ordinary infrastructure. In the Stoffel stack, plaintext stays at the app/client edge; shares cross the private-computation boundary; MPC parties exchange protocol messages while holding shares only; and only an explicit authorized output leaves.

## How the stack fits together

<img src="https://mintcdn.com/stoffellabs/WsJVEVCX73RSUEma/images/campaign/stoffel-stack-ecosystem-v6.png?fit=max&auto=format&n=WsJVEVCX73RSUEma&q=85&s=7a6e0c9860c923fd1b78792268433b5e" alt="Docs-optimized Stoffel stack diagram showing app integration, language and CLI, bytecode and VM, and MPC runtime layers." width="1800" height="1125" data-path="images/campaign/stoffel-stack-ecosystem-v6.png" />

| Layer           | Developer-facing surface           | What it does                                                                                              |
| --------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------- |
| App integration | Rust SDK / generated bindings      | Connects product code to Stoffel programs, inputs, outputs, local checks, and local MPC runs.             |
| Language + CLI  | `.stfl` source / `stoffel` command | Checks source, builds bytecode, runs project workflows, and drives local development loops.               |
| Bytecode + VM   | `.stflb` / register VM             | Loads the compiled artifact, separates clear values from shares, and executes builtins and runtime hooks. |
| MPC runtime     | coordinator / parties / outputs    | Runs secret-shared execution and opens or sends only the outputs the program authorizes.                  |

## Choose a path

| If you want to...                 | Start here                                                |
| --------------------------------- | --------------------------------------------------------- |
| Install Stoffel                   | [Installation](./getting-started/installation)            |
| Create and run a project          | [Quick start](./getting-started/quick-start)              |
| Learn the daily CLI loop          | [Basic usage](./getting-started/basic-usage)              |
| Build a first private computation | [Your first MPC project](./getting-started/first-project) |
| Call Stoffel from an app          | [Rust SDK overview](./rust-sdk/overview)                  |
| Understand the runtime layers     | [System architecture](./architecture/system)              |

## Related reading

* [Data in Use Protection: How MPC Keeps Inputs Hidden from the Cloud](https://stoffelmpc.com/stoffel-blog/mpc-data-in-use): a longer explanation of the compute-time privacy gap MPC is designed to close.
* [Is Your Analytics Platform a Security Liability? What MXP 2026 Taught Me](https://stoffelmpc.com/stoffel-blog/what-mxp-2026-taught-me): a product example of how centralizing sensitive behavioral data creates exposure.
