Skip to content

Commit 803c221

Browse files
committed
Co-authored-by: MartinLeclercq <[email protected]>
1 parent fbe926a commit 803c221

File tree

3 files changed

+133
-91
lines changed

3 files changed

+133
-91
lines changed

.vitepress/sidebar.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,11 @@ export function getSidebar() {
345345
text: '📖 Guides',
346346
items: [
347347
{
348-
text: 'Manage Your iApps',
348+
text: 'Build and Deploy your iApps',
349+
link: '/build-iapp/guides/build-&-deploy-iapp',
350+
},
351+
{
352+
text: 'Manage your iApps',
349353
link: '/build-iapp/guides/manage-iapp',
350354
},
351355
{
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: Build and Deploy an iApp?
3+
description:
4+
How to build an confidential iexec application and deploy it on iexec protocol
5+
---
6+
7+
8+
## iApp Generator: Your Development Tool
9+
10+
Bootstrap TEE-compatible applications in minutes without any hardcoding skills,
11+
iApp Generator handles all the low-level complexity for you.
12+
13+
- **Access to TEEs easily** - No need to dive into low-level requirements, build
14+
iApps that connect to TEE in minutes
15+
- **Check and deploy iApps quickly** - iApp Generator checks that your iApp
16+
complies with the iExec Framework and streamlines its deployment
17+
- **Select your project mode & language** - Select between basic or advanced
18+
setup depending on your iExec level experience. You also have the choice
19+
between Python or JavaScript
20+
21+
```bash
22+
# Create your iApp (Python or Node.js supported)
23+
iapp init my-privacy-app
24+
cd my-privacy-app
25+
26+
# Develop and test locally (simulates TEE environment)
27+
iapp test
28+
# Deploy to the network
29+
iapp deploy
30+
```
31+
32+
<div class="bg-gradient-to-r from-blue-400/10 to-blue-400/5 rounded-[6px] p-4 border-l-4 border-blue-600 mb-6">
33+
<p class="m-0! text-sm"><strong>Note:</strong> iApp Generator currently supports Python and Node.js, but iApps can be built in any language that runs in Docker.</p>
34+
</div>
35+
36+
## Real Examples
37+
38+
**Email Notification iApp**
39+
40+
```python
41+
# User runs: "Send updates to my contacts about my project"
42+
contacts = load_protecteddata() # User's protected contact list
43+
for contact in contacts:
44+
send_email(contact, project_update_message)
45+
# → Emails sent directly, you never see the addresses
46+
```
47+
48+
**Oracle Update iApp**
49+
50+
```python
51+
# User runs: "Update price oracle with my private trading data"
52+
trading_data = load_protecteddata() # User's protected trading history
53+
average_price = calculate_weighted_average(trading_data)
54+
update_oracle_contract(average_price)
55+
# → Oracle updated with real data, trading history stays private
56+
```
57+
58+
**Automated Transactions iApp**
59+
60+
```python
61+
# User runs: "Buy tokens when my portfolio meets certain conditions"
62+
portfolio = load_protecteddata() # User's protected portfolio data
63+
if should_buy_tokens(portfolio):
64+
execute_trade(token_address, amount)
65+
# → Trade executed based on private data, portfolio details stay hidden
66+
```

src/build-iapp/what-is-iapp.md

Lines changed: 62 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,12 @@ description: Privacy-first applications that run on decentralized infrastructure
77

88
An iExec Application (iApp) is your regular application code (Python script, AI
99
model, data processor) that can securely process protected data (created by
10-
DataProtector) inside a privacy-safe environment called TEE (a Trusted Execution
11-
Environment).
10+
DataProtector) inside a confidential computing environment called TEE (a Trusted
11+
Execution Environment).
1212

1313
## Why iApps Matter?
1414

15-
<div class="bg-gradient-to-r from-purple-400/10 to-purple-400/5 rounded-[6px] p-6 border-l-4 border-fuchsia-700 mb-6">
16-
<p class="m-0!"><strong>iApps let you process sensitive data while keeping it private and secure.</strong></p>
17-
</div>
15+
iApps let you process sensitive data while keeping it private and secure.
1816

1917
Imagine you want to build:
2018

@@ -42,75 +40,64 @@ Imagine you want to build:
4240
Users have this data, but they won't give it to your regular app. **With iApps,
4341
they will.**
4442

45-
## How It Works
43+
## Key Concepts
4644

47-
Your code runs in a Trusted Execution Environment (TEE) a secure area inside
48-
specific processors (Intel SGX/TDX chipset). Everything that happens there stays
49-
private and protected, even from the operating system.
45+
//TODO
5046

51-
<div class="bg-gradient-to-r from-fuchsia-400/10 to-fuchsia-400/5 rounded-[6px] p-6 border-l-4 border-fuchsia-700 mb-6">
52-
<p class="m-0!">An authorized user can trigger an iApp that processes someone's protected data inside this private environment. The data is used, but never exposed, not even to the person running the app.</p>
47+
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6">
48+
<div class="flex items-center gap-3">
49+
<span class="text-green-500 text-xl">✅</span>
50+
<p class="m-0"><strong>True Privacy:</strong> Users never expose their raw data. Your app processes it privately inside secure enclaves.</p>
51+
</div>
52+
<div class="flex items-center gap-3">
53+
<span class="text-green-500 text-xl">✅</span>
54+
<p class="m-0"><strong>Verifiable Execution:</strong> Cryptographic proof that your code ran exactly as intended. No black box execution.</p>
55+
</div>
56+
<div class="flex items-center gap-3">
57+
<span class="text-green-500 text-xl">✅</span>
58+
<p class="m-0"><strong>Decentralized Infrastructure:</strong> No single point of failure. Your app runs across a distributed network of workers.</p>
59+
</div>
60+
<div class="flex items-center gap-3">
61+
<span class="text-green-500 text-xl">✅</span>
62+
<p class="m-0"><strong>Zero Trust Architecture:</strong> Users don't need to trust you with their data. The protocol guarantees privacy.</p>
63+
</div>
5364
</div>
5465

55-
## iApp Generator: Your Development Tool
56-
57-
Bootstrap TEE-compatible applications in minutes without any hardcoding skills,
58-
iApp Generator handles all the low-level complexity for you.
59-
60-
- **Access to TEEs easily** - No need to dive into low-level requirements, build
61-
iApps that connect to TEE in minutes
62-
- **Check and deploy iApps quickly** - iApp Generator checks that your iApp
63-
complies with the iExec Framework and streamlines its deployment
64-
- **Select your project mode & language** - Select between basic or advanced
65-
setup depending on your iExec level experience. You also have the choice
66-
between Python or JavaScript
67-
68-
```bash
69-
# Create your iApp (Python or Node.js supported)
70-
iapp init my-sentiment-analyzer
71-
cd my-sentiment-analyzer
72-
73-
# Develop and test locally (simulates TEE environment)
74-
iapp test
75-
# Deploy to the network
76-
iapp deploy
77-
```
66+
## How It Works
7867

79-
<div class="bg-gradient-to-r from-blue-400/10 to-blue-400/5 rounded-[6px] p-4 border-l-4 border-blue-600 mb-6">
80-
<p class="m-0! text-sm"><strong>Note:</strong> iApp Generator currently supports Python and Node.js, but iApps can be built in any language that runs in Docker.</p>
68+
<div class="bg-[var(--vp-c-bg-soft)] rounded-[6px] p-6 mb-6">
69+
<div class="flex flex-col gap-3">
70+
<div class="flex items-center gap-3">
71+
<span class="bg-blue-500 text-white rounded-full w-6 h-6 flex items-center justify-center text-xs font-bold">1</span>
72+
<span>User provides personal data</span>
73+
</div>
74+
<div class="flex items-center gap-3">
75+
<span class="bg-blue-500 text-white rounded-full w-6 h-6 flex items-center justify-center text-xs font-bold">2</span>
76+
<span>Data is protected with DataProtector</span>
77+
</div>
78+
<div class="flex items-center gap-3">
79+
<span class="bg-blue-500 text-white rounded-full w-6 h-6 flex items-center justify-center text-xs font-bold">3</span>
80+
<span>Protected data transferred to Trusted Execution Environment (TEE)</span>
81+
</div>
82+
<div class="flex items-center gap-3">
83+
<span class="bg-blue-500 text-white rounded-full w-6 h-6 flex items-center justify-center text-xs font-bold">4</span>
84+
<span>Your iApp runs inside TEE and processes protected data</span>
85+
</div>
86+
<div class="flex items-center gap-3">
87+
<span class="bg-blue-500 text-white rounded-full w-6 h-6 flex items-center justify-center text-xs font-bold">5</span>
88+
<span>Confidential computing performed while maintaining privacy</span>
89+
</div>
90+
</div>
8191
</div>
8292

83-
## Real Examples
84-
85-
**Email Notification iApp**
86-
87-
```python
88-
# User runs: "Send updates to my contacts about my project"
89-
contacts = load_protecteddata() # User's protected contact list
90-
for contact in contacts:
91-
send_email(contact, project_update_message)
92-
# → Emails sent directly, you never see the addresses
93-
```
94-
95-
**Oracle Update iApp**
96-
97-
```python
98-
# User runs: "Update price oracle with my private trading data"
99-
trading_data = load_protecteddata() # User's protected trading history
100-
average_price = calculate_weighted_average(trading_data)
101-
update_oracle_contract(average_price)
102-
# → Oracle updated with real data, trading history stays private
103-
```
104-
105-
**Automated Transactions iApp**
93+
<div class="bg-gradient-to-r from-purple-400/10 to-purple-400/5 rounded-[6px] p-6 border-l-4 border-fuchsia-700 mb-6">
94+
<p class="m-0!"><strong>Nobody sees the raw data except your code running inside the secure enclave.</strong></p>
95+
</div>
10696

107-
```python
108-
# User runs: "Buy tokens when my portfolio meets certain conditions"
109-
portfolio = load_protecteddata() # User's protected portfolio data
110-
if should_buy_tokens(portfolio):
111-
execute_trade(token_address, amount)
112-
# → Trade executed based on private data, portfolio details stay hidden
113-
```
97+
Your iApp can send emails, update contracts, make transactions, trigger
98+
notifications - anything your code needs to do with the protected data. This
99+
isn't about trust - it's about **mathematical guarantees** that privacy is
100+
preserved.
114101

115102
## The Trust Model
116103

@@ -129,7 +116,13 @@ Here's why users will actually use your iApp with their private data:
129116
- ✅ New business models around privacy-preserving analytics
130117
- ✅ Competitive advantage through privacy guarantees
131118

132-
### The Workflow
119+
## How It Works
120+
121+
Your code runs in a Trusted Execution Environment (TEE) a secure area inside
122+
specific processors (Intel SGX/TDX chipset). Everything that happens there stays
123+
private and protected, even from the operating system.
124+
125+
An authorized user can trigger an iApp that processes someone's protected data inside this private environment. The data is used, but never exposed, not even to the person running the app.
133126

134127
<div class="bg-[var(--vp-c-bg-soft)] rounded-[6px] p-6 mb-6">
135128
<div class="flex flex-col gap-3">
@@ -151,7 +144,7 @@ Here's why users will actually use your iApp with their private data:
151144
</div>
152145
<div class="flex items-center gap-3">
153146
<span class="bg-blue-500 text-white rounded-full w-6 h-6 flex items-center justify-center text-xs font-bold">5</span>
154-
<span>Actions performed while maintaining privacy</span>
147+
<span>Confidential computing performed while maintaining privacy</span>
155148
</div>
156149
</div>
157150
</div>
@@ -165,7 +158,7 @@ notifications - anything your code needs to do with the protected data. This
165158
isn't about trust - it's about **mathematical guarantees** that privacy is
166159
preserved.
167160

168-
## What This Enables
161+
## Use Cases
169162

170163
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 my-6">
171164
<div class="bg-[var(--vp-c-bg-soft)] rounded-[6px] p-6 flex flex-col gap-2">
@@ -241,27 +234,6 @@ Node.js for simplified development.
241234

242235
:::
243236

244-
## Why This Changes Everything
245-
246-
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6">
247-
<div class="flex items-center gap-3">
248-
<span class="text-green-500 text-xl">✅</span>
249-
<p class="m-0"><strong>True Privacy:</strong> Users never expose their raw data. Your app processes it privately inside secure enclaves.</p>
250-
</div>
251-
<div class="flex items-center gap-3">
252-
<span class="text-green-500 text-xl">✅</span>
253-
<p class="m-0"><strong>Verifiable Execution:</strong> Cryptographic proof that your code ran exactly as intended. No black box execution.</p>
254-
</div>
255-
<div class="flex items-center gap-3">
256-
<span class="text-green-500 text-xl">✅</span>
257-
<p class="m-0"><strong>Decentralized Infrastructure:</strong> No single point of failure. Your app runs across a distributed network of workers.</p>
258-
</div>
259-
<div class="flex items-center gap-3">
260-
<span class="text-green-500 text-xl">✅</span>
261-
<p class="m-0"><strong>Zero Trust Architecture:</strong> Users don't need to trust you with their data. The protocol guarantees privacy.</p>
262-
</div>
263-
</div>
264-
265237
## Start Building
266238

267239
Ready to build privacy-first applications?

0 commit comments

Comments
 (0)