You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: build_iapp/iapp-generator/what-is-iapp.md
+80-39Lines changed: 80 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,31 +5,39 @@ description: Privacy-first applications that run on decentralized infrastructure
5
5
6
6
# 🚀 What Is an iApp?
7
7
8
-
**Think about code, but it runs in a privacy-safe environment.** An iApp is just your regular application code (Python script, AI model, data processor) packaged to run inside secure enclaves.
8
+
**Think about code, but it runs in a privacy-safe environment.** An iApp is just
9
+
your regular application code (Python script, AI model, data processor) packaged
10
+
to run inside secure enclaves.
9
11
10
12
## Why Would You Want This?
11
13
12
14
Simple: **to process sensitive data that users won't normally share.**
13
15
14
16
Imagine you want to build:
17
+
15
18
- An AI that analyzes personal health data
16
-
- An email tool that needs access to contact lists
19
+
- An email tool that needs access to contact lists
17
20
- A financial advisor that processes bank statements
18
21
- A content filter that reads private messages
19
22
20
-
Users have this data, but they won't give it to your regular app. **With iApps, they will.**
23
+
Users have this data, but they won't give it to your regular app. **With iApps,
24
+
they will.**
21
25
22
26
## How It Works
23
27
24
-
Your code runs in a **trusted execution environment** (TEE) - think of it as a "privacy bubble" that even iExec workers can't peek into.
28
+
Your code runs in a **trusted execution environment** (TEE) - think of it as a
29
+
"privacy bubble" that even iExec workers can't peek into.
25
30
26
-
Users run your iApp when they want to **use** their Protected Data for something. Your code gets access to their protected data, performs actions with it - all without you ever seeing the raw data.
31
+
Users run your iApp when they want to **use** their Protected Data for
32
+
something. Your code gets access to their protected data, performs actions with
33
+
it - all without you ever seeing the raw data.
27
34
28
35
## iApp Generator: Your Development Tool
29
36
30
37
Creating iApps used to be complex. **iApp Generator** simplifies this by:
31
38
32
-
-**Simulating TEE environment locally** - Test your code in conditions close to real execution
39
+
-**Simulating TEE environment locally** - Test your code in conditions close to
40
+
real execution
33
41
-**Handling deployment** - Package and deploy with simple commands
34
42
-**Managing dependencies** - Docker containers, environment setup, etc.
35
43
@@ -44,11 +52,13 @@ iapp test
44
52
iapp deploy
45
53
```
46
54
47
-
*Note: iApp Generator currently supports Python and Node.js, but iApps can be built in any language that runs in Docker.*
55
+
_Note: iApp Generator currently supports Python and Node.js, but iApps can be
56
+
built in any language that runs in Docker._
48
57
49
58
## Real Examples
50
59
51
60
**Email Notification iApp**
61
+
52
62
```python
53
63
# User runs: "Send updates to my contacts about my project"
54
64
contacts = load_protecteddata() # User's protected contact list
@@ -57,7 +67,8 @@ for contact in contacts:
57
67
# → Emails sent directly, you never see the addresses
58
68
```
59
69
60
-
**Oracle Update iApp**
70
+
**Oracle Update iApp**
71
+
61
72
```python
62
73
# User runs: "Update price oracle with my private trading data"
63
74
trading_data = load_protecteddata() # User's protected trading history
# User runs: "Buy tokens when my portfolio meets certain conditions"
72
84
portfolio = load_protecteddata() # User's protected portfolio data
@@ -80,12 +92,14 @@ if should_buy_tokens(portfolio):
80
92
Here's why users will actually use your iApp with their private data:
81
93
82
94
### What Users See
95
+
83
96
- ✅ "This code runs in a secure enclave, not on the developer's servers"
84
-
- ✅ "My data gets used privately for actions I want"
97
+
- ✅ "My data gets used privately for actions I want"
85
98
- ✅ "Even iExec workers can't see my data during execution"
86
99
- ✅ "I can revoke access anytime"
87
100
88
-
### What You Get
101
+
### What You Get
102
+
89
103
- ✅ Users willing to use your services with their sensitive data
90
104
- ✅ New business models around privacy-preserving analytics
91
105
- ✅ Competitive advantage through privacy guarantees
@@ -98,78 +112,105 @@ User's Private Data → Encrypted → TEE Environment → Your iApp uses it →
98
112
99
113
**Nobody sees the raw data except your code running inside the secure enclave.**
100
114
101
-
Your iApp can send emails, update contracts, make transactions, trigger notifications - anything your code needs to do with the protected data. This isn't about trust - it's about **mathematical guarantees** that privacy is preserved.
115
+
Your iApp can send emails, update contracts, make transactions, trigger
116
+
notifications - anything your code needs to do with the protected data. This
117
+
isn't about trust - it's about **mathematical guarantees** that privacy is
118
+
preserved.
102
119
103
120
## What This Enables
104
121
105
122
### 📧 **Private Communication**
106
-
Users send emails, notifications, or messages using their protected contact lists without exposing recipient information.
107
123
108
-
### 🔮 **Trustworthy Oracles**
109
-
Users contribute real data to oracles while keeping their private information confidential.
124
+
Users send emails, notifications, or messages using their protected contact
125
+
lists without exposing recipient information.
126
+
127
+
### 🔮 **Trustworthy Oracles**
128
+
129
+
Users contribute real data to oracles while keeping their private information
130
+
confidential.
110
131
111
132
### 🤖 **Personal AI Assistants**
112
-
Users let AI models perform actions based on their private data - trading, scheduling, recommendations.
133
+
134
+
Users let AI models perform actions based on their private data - trading,
135
+
scheduling, recommendations.
113
136
114
137
### ⚡ **Automated Actions**
115
-
Users set up automated workflows that use their private data to trigger actions, transactions, or updates.
138
+
139
+
Users set up automated workflows that use their private data to trigger actions,
140
+
transactions, or updates.
116
141
117
142
## ❓ Frequently Asked Questions
118
143
144
+
::: details 📦 What can I build with iApps? Anything that runs in Docker! AI
145
+
models, data processing scripts, web scrapers, image processing, financial
146
+
calculations, etc. If it runs in a container, it can be an iApp. :::
119
147
120
-
::: details 📦 What can I build with iApps?
121
-
Anything that runs in Docker! AI models, data processing scripts, web scrapers, image processing, financial calculations, etc. If it runs in a container, it can be an iApp.
122
-
:::
148
+
::: details ⚡ How fast are iApps? Initial task scheduling takes ~30 seconds
149
+
(depending on the resources the worker download, congestion etc), then your code
150
+
runs at normal speed depending on complexity. :::
123
151
124
-
::: details ⚡ How fast are iApps?
125
-
Initial task scheduling takes ~30 seconds (depending on the resources the worker download, congestion etc), then your code runs at normal speed depending on complexity.
126
-
:::
152
+
::: details 🛡️ Are iApps really secure? Yes! Code runs in Intel SGX or TDX
153
+
secure enclaves. Even the worker running your iApp can't see what's happening
154
+
inside the enclave. :::
127
155
128
-
::: details 🛡️ Are iApps really secure?
129
-
Yes! Code runs in Intel SGX or TDX secure enclaves. Even the worker running your iApp can't see what's happening inside the enclave.
156
+
::: details 🚀 How do I deploy my first iApp? Try our
157
+
[Hello World](/overview/helloWorld) for a quick start, or check the
158
+
[iApp Generator](/build_iapp/iapp-generator) section for detailed instructions.
130
159
:::
131
160
132
-
::: details 🚀 How do I deploy my first iApp?
133
-
Try our [Hello World](/overview/helloWorld) for a quick start, or check the [iApp Generator](/build_iapp/iapp-generator) section for detailed instructions.
134
-
:::
135
-
136
-
::: details 🔧 What programming languages are supported?
137
-
iApps can be built in any language that runs in Docker (Python, JavaScript, R, Java, Go, etc.). However, **iApp Generator** currently supports only Python and Node.js for simplified development.
138
-
:::
161
+
::: details 🔧 What programming languages are supported? iApps can be built in
162
+
any language that runs in Docker (Python, JavaScript, R, Java, Go, etc.).
163
+
However, **iApp Generator** currently supports only Python and Node.js for
164
+
simplified development. :::
139
165
140
166
## Why This Changes Everything
141
167
142
168
### ✅ **True Privacy**
143
-
Users never expose their raw data. Your app processes it privately inside secure enclaves.
169
+
170
+
Users never expose their raw data. Your app processes it privately inside secure
171
+
enclaves.
144
172
145
173
### ✅ **Verifiable Execution**
146
-
Cryptographic proof that your code ran exactly as intended. No black box execution.
174
+
175
+
Cryptographic proof that your code ran exactly as intended. No black box
176
+
execution.
147
177
148
178
### ✅ **Decentralized Infrastructure**
149
-
No single point of failure. Your app runs across a distributed network of workers.
179
+
180
+
No single point of failure. Your app runs across a distributed network of
181
+
workers.
150
182
151
183
### ✅ **Zero Trust Architecture**
184
+
152
185
Users don't need to trust you with their data. The protocol guarantees privacy.
153
186
154
187
## Start Building
155
188
156
189
Ready to build privacy-first applications?
157
190
158
191
### 🚀 **Try iApp Generator**
159
-
-[Getting Started](/build_iapp/iapp-generator/getting-started) - Deploy your first iApp in 15 minutes
160
-
-[Building Your iExec App](/build_iapp/iapp-generator/building-your-iexec-app) - Complete development guide
192
+
193
+
-[Getting Started](/build_iapp/iapp-generator/getting-started) - Deploy your
194
+
first iApp in 15 minutes
195
+
-[Building Your iExec App](/build_iapp/iapp-generator/building-your-iexec-app) -
196
+
Complete development guide
161
197
162
198
### 📖 **Learn with Guides**
199
+
163
200
-[Orders](/build_iapp/guides/orders) - How iApp execution works
164
201
-[Inputs and Outputs](/build_iapp/guides/inputs-and-outputs) - Handle data flow
165
-
-[Debugging Your iApp](/build_iapp/guides/debugging-your-iapp) - Troubleshoot issues
202
+
-[Debugging Your iApp](/build_iapp/guides/debugging-your-iapp) - Troubleshoot
0 commit comments