El modelo de privacidad de Cloak se basa en un patrón de depósito y retiro, donde los depósitos incluyen solo un compromiso criptográfico y los retiros incluyen solo una prueba de conocimiento cero (ZK), por lo tanto, no hay un enlace en cadena entre ellos. Una nota contiene los secretos necesarios para retirar fondos, se trata como una clave privada. Los compromisos son hashes de Poseidon de cantidad + aleatoriedad + clave de gasto almacenados en un árbol de Merkle en cadena. Para retirar, una prueba ZK muestra la membresía, la propiedad del secreto, la validez del anulador y los valores correctos, sin revelar qué nota fue gastada. Los anuladores previenen el doble gasto marcando las notas como gastadas. Este diseño permite la verificación y el gasto privados, con pruebas generadas por el SDK directamente desde el estado en cadena.