Skip to content

Choose an extension runtime

Choose the smallest authority that fits the extensionPresentation stays in Click; secrets, continuous sockets and durable backends stay in Host.
01CanvasSandboxed HTML/CSS UI
02daScriptBudgeted native Click UI
03ABI v2Trusted high-performance WASM
04OCI + HPP/2Isolated backend service
Typical productAn isolated OCI provider serves one or more Click panels.
Trust ruleUnreviewed code never belongs in the trusted ABI v2 runtime.
Need Use Reason
External service, durable backend state, secret or continuous WSS OCI HPP/2 plugin Isolated Host execution and explicit authority
Rich browser UI, agent-generated panel, ordinary HTML/CSS Canvas Sandboxed, portable and easy to iterate
Native Click UI without a separate toolchain daScript Styled ImGui primitives with runtime budgets
Deep native rendering or terminal integration ABI v2 widget High performance, trusted shared-WASM integration

Do not put external credentials into Canvas or daScript. Do not use a trusted ABI widget for unreviewed code. A typical product uses an isolated Host plugin as backend and one or more Click panels as presentation.

Any implementation language can produce an OCI image, but production compatibility depends on HPP/2 session behavior, not language. The frozen generated wire surface exists for C++, C#, Go, Java, JavaScript, Python, and Rust. Production transports must implement the same session state machine and pass conformance.