Since a CLE is fully customizable and programmable, it requires a general runtime environment to execute. Similar to how EVM runs smart contracts, zkWASM (zkVM of WebAssembly) runs CLEs.
As a part of the Subgraph-Equivalence, CLE also employs WASM-based mappings. It is "translated" into AssemblyScript, a language designed to be run in a WebAssembly runtime environment.
The Graph uses wasmtime as the WebAssembly runtime for Subgraph, while ORA uses zkWASM as the WebAssembly runtime for a CLE. This difference in execution engines makes CLE zk, without sacrificing any general computation ability. Replacing wasmtime with zkWASM is like replacing EVM with zkEVM. Any program run in zkWASM has the superpower of ZK, including verifiability, trustlessness, decentralization, and computational integrity.
ORA CLEs are not limited to running exclusively in zkWASM. We value the decentralization of prover/client diversity and are constantly exploring new ways to power CLEs with zk.