Skip to content
ENC Protocol

ENC Protocol

A formally verified, append-only protocol for building sovereign, independently-verifiable apps.

ENC stands for encode, encrypt, enclave. Apps built on ENC keep their data in virtual enclaves — cryptographically-defined, append-only logs whose state and full history anyone can verify offline, without trusting the operator. The protocol itself is written once as a formally-verified specification that generates the code that ships, so the software you run is provably the design that was audited.

Start here

  • Litepaper — what ENC is, why it's a formalized protocol, how the protocol works (virtual enclaves, RBAC, state and history, validity proofs), and the system built on top.
  • Developer Guide — run a node, drive the enc CLI, and prove validity with zkEnc.
  • Tutorials — hands-on, build-an-app walkthroughs; first up, a custom Personal app on the personal SDK.
  • Protocol Spec — the normative spec: the kernel (protocol summary, RBAC, SMT, CT), the node (API, migration, ZK proofs), and the app layer (enclave profiles and confidentiality plugins).
  • SDK Reference — the generated JS/TS packages: core, client, the per-app SDKs, and the confidentiality plugin SDKs. (The enc CLI is a separate Rust binary.)
  • ENC Pipeline — how the toolchain works: SpecGen, CodeGen, AppGen, TestGen, plus the Emulator, UI Kit, and Flow.