Confidential computing enables the always-encrypted and verifiable processing of data — in the cloud and elsewhere. Developing confidential apps used to require arcane knowledge and significant code changes. With EGo, you can skip that and develop your Go code as usual. With EGo, you don’t need to refactor your app to run it in a secure enclave. Just use three simple commands to build, sign, and run your code — be it 10 or 100,000 lines of Go with complex dependencies. Best thing? EGo is completely open-source.
In this blog post, we share EGo’s design approach, the biggest challenges we faced while developing EGo, and some of our key principles. Furthermore, we give a small preview of what else is planned for EGo in the future.
When we started our work on EGo, we had already built an SDK for Trusted Execution Environments called Edgeless RT. This project was our internal solution for comprehensive Go support, but like most other SDKs, it had significant entry barriers for new users. While using RT, we asked ourselves how we could make confidential computing more accessible; especially for new users who are taking their first steps in the confidential computing community.
Our vision was clear: we wanted to create an SDK that offers meaningful ease of use. We wanted to achieve this by sticking as closely as possible to the known and proven Go UX. This would be done by carefully choosing which specifics of confidential computing to highlight and which to ignore, moving some of the more confusing aspects into the background so the most relevant features take the center stage.