Generate RA Report
The cloud will generate a default RA report for your application when it is bootstrapped. You can view this report on the dashboard under the Attestation tab and verify it by clicking the Check Attestation button.

There are two steps needed to generate a new RA report, rather than using the default one, which allows you to prove the execution of your code.
Config docker compose file
This Docker Compose file spins up a Jupyter Notebook environment, and importantly, it's configured the volumes
to connect to the Dstack API by mounting its socket file (/var/run/tappd.sock
) into the container. This allows the Jupyter Notebook running inside the TEE to interact with the Dstack service like generate a remote attestation, get a TLS key, or generate a key for chains like ETH (ECDSA, K256 curve
) or SOL (ed25519
).
For development convenience, this setup grants sudo privileges inside the container (environment
), runs the Jupyter server with root user permissions (user
), and starts the notebook with token-based authentication using the TOKEN
environment variable (command
).
Generate RA report inside your application code
In your application, you can generate the RA report using the Dstack SDK, which supports Python, JS, and Go. The user-data
argument allows you to attach your own data to the RA report.
You can implement the above code in your application as an public API that anyone can call to generate a new RA report.
Conclusion
In practice, this is a method to bind the RA report to your application. For example, you can generate a key pair and set the public key as the user-data
. This way, anyone can verify the execution of your application by extract the public key from the RA report and checking the signature with the public key.
Last updated
Was this helpful?