Nautilus Design

When the enclave starts, it exposes 3 HTTP endpoints:
-
/health_check: Checks that the enclave can reach the allowed external domains. It is used for debugging. -
/get_attestation: Returns the signed attestation document. It is used during onchain registration. -
/process_data: Contains your custom logic. You will write the code for this yourself. This is the endpoint that your app frontend will hit.
Platform Configuration Registers (PCR)​
Three SHA-384 hashes that describe the enclave's code and configuration.
-
PCR0: OS and boot environment
-
PCR1: Application code
-
PCR2: Runtime configuration (
run.sh, traffic rules)
If a single byte changes, then the PCR changes. This is how Sui confirms that the enclave is running the expected code.
What happens inside the enclave​
Step 1: Enclave starts​
It generates a new ephemeral keypair inside its isolated memory. The private key never leaves enclave while the public key is returned via /get_attestation.
Step 2: Enclave signs data​
When process_data returns { response, signature }, then the enclave signs the data with signature = sign( response ) using the enclave private key.