Skip to main content

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. 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

Choose a path