Skip to content

Commit d4eb78f

Browse files
committed
What is iapp, protected data pages
Content for the two explanation pages
1 parent 27c505a commit d4eb78f

File tree

2 files changed

+290
-36
lines changed

2 files changed

+290
-36
lines changed
Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
---
2+
title: What Is an iApp?
3+
description: Privacy-first applications that run on decentralized infrastructure
4+
---
5+
6+
# 🚀 What Is an iApp?
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.
9+
10+
## Why Would You Want This?
11+
12+
Simple: **to process sensitive data that users won't normally share.**
13+
14+
Imagine you want to build:
15+
- An AI that analyzes personal health data
16+
- An email tool that needs access to contact lists
17+
- A financial advisor that processes bank statements
18+
- A content filter that reads private messages
19+
20+
Users have this data, but they won't give it to your regular app. **With iApps, they will.**
21+
22+
## How It Works
23+
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.
25+
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.
27+
28+
## iApp Generator: Your Development Tool
29+
30+
Creating iApps used to be complex. **iApp Generator** simplifies this by:
31+
32+
- **Simulating TEE environment locally** - Test your code in conditions close to real execution
33+
- **Handling deployment** - Package and deploy with simple commands
34+
- **Managing dependencies** - Docker containers, environment setup, etc.
35+
36+
```bash
37+
# Create your iApp (Python or Node.js supported)
38+
iapp init my-sentiment-analyzer
39+
cd my-sentiment-analyzer
40+
41+
# Develop and test locally (simulates TEE environment)
42+
iapp test
43+
# Deploy to the network
44+
iapp deploy
45+
```
46+
47+
*Note: iApp Generator currently supports Python and Node.js, but iApps can be built in any language that runs in Docker.*
48+
49+
## Real Examples
50+
51+
**Email Notification iApp**
52+
```python
53+
# User runs: "Send updates to my contacts about my project"
54+
contacts = load_protecteddata() # User's protected contact list
55+
for contact in contacts:
56+
send_email(contact, project_update_message)
57+
# → Emails sent directly, you never see the addresses
58+
```
59+
60+
**Oracle Update iApp**
61+
```python
62+
# User runs: "Update price oracle with my private trading data"
63+
trading_data = load_protecteddata() # User's protected trading history
64+
average_price = calculate_weighted_average(trading_data)
65+
update_oracle_contract(average_price)
66+
# → Oracle updated with real data, trading history stays private
67+
```
68+
69+
**Automated Transactions iApp**
70+
```python
71+
# User runs: "Buy tokens when my portfolio meets certain conditions"
72+
portfolio = load_protecteddata() # User's protected portfolio data
73+
if should_buy_tokens(portfolio):
74+
execute_trade(token_address, amount)
75+
# → Trade executed based on private data, portfolio details stay hidden
76+
```
77+
78+
## The Trust Model
79+
80+
Here's why users will actually use your iApp with their private data:
81+
82+
### What Users See
83+
- ✅ "This code runs in a secure enclave, not on the developer's servers"
84+
- ✅ "My data gets used privately for actions I want"
85+
- ✅ "Even iExec workers can't see my data during execution"
86+
- ✅ "I can revoke access anytime"
87+
88+
### What You Get
89+
- ✅ Users willing to use your services with their sensitive data
90+
- ✅ New business models around privacy-preserving analytics
91+
- ✅ Competitive advantage through privacy guarantees
92+
93+
### The Technical Reality
94+
95+
```
96+
User's Private Data → Encrypted → TEE Environment → Your iApp uses it → Actions Performed
97+
```
98+
99+
**Nobody sees the raw data except your code running inside the secure enclave.**
100+
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.
102+
103+
## What This Enables
104+
105+
### 📧 **Private Communication**
106+
Users send emails, notifications, or messages using their protected contact lists without exposing recipient information.
107+
108+
### 🔮 **Trustworthy Oracles**
109+
Users contribute real data to oracles while keeping their private information confidential.
110+
111+
### 🤖 **Personal AI Assistants**
112+
Users let AI models perform actions based on their private data - trading, scheduling, recommendations.
113+
114+
### **Automated Actions**
115+
Users set up automated workflows that use their private data to trigger actions, transactions, or updates.
116+
117+
## ❓ Frequently Asked Questions
118+
119+
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+
:::
123+
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+
:::
127+
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.
130+
:::
131+
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+
:::
139+
140+
## Why This Changes Everything
141+
142+
### **True Privacy**
143+
Users never expose their raw data. Your app processes it privately inside secure enclaves.
144+
145+
### **Verifiable Execution**
146+
Cryptographic proof that your code ran exactly as intended. No black box execution.
147+
148+
### **Decentralized Infrastructure**
149+
No single point of failure. Your app runs across a distributed network of workers.
150+
151+
### **Zero Trust Architecture**
152+
Users don't need to trust you with their data. The protocol guarantees privacy.
153+
154+
## Start Building
155+
156+
Ready to build privacy-first applications?
157+
158+
### 🚀 **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
161+
162+
### 📖 **Learn with Guides**
163+
- [Orders](/build_iapp/guides/orders) - How iApp execution works
164+
- [Inputs and Outputs](/build_iapp/guides/inputs-and-outputs) - Handle data flow
165+
- [Debugging Your iApp](/build_iapp/guides/debugging-your-iapp) - Troubleshoot issues
166+
167+
### 🎯 **See iApps in Action**
168+
Real iApps you can use today:
169+
- [Web3Mail](/use_iapp/web3mail) - Private emailing iApp SDK
170+
- [Web3Telegram](/use_iapp/web3telegram) Private messaging iApp SDK
171+
- [Oracle Factory](/use_iapp/oracle-factory) - Decentralized oracles
172+
173+
---
174+
175+
**TL;DR**: iApps = Your code + Secure execution + User privacy + Verifiable results. Cloud computing, but nobody can spy on your stuff. 🔒
Lines changed: 115 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,137 @@
11
---
22
title: What Is Protected Data?
3-
description: Understanding iExec's data protection mechanisms
3+
description: Data ownership meets privacy - understand how iExec gives you control
44
---
55

6-
# What Is Protected Data?
6+
# 🛡️ What Is Protected Data?
77

8-
Protected Data is iExec's revolutionary approach to data privacy and ownership.
9-
It allows you to maintain control over your data while enabling computation on
10-
it without exposing the raw information.
8+
**Your data, but with superpowers.** Protected Data is how iExec gives you blockchain-verified ownership over your information. You control who uses it, for what purpose, and you can get paid when it creates value.
119

12-
## Key Concepts
10+
## The Problem
1311

14-
### Data Ownership
12+
Traditional apps treat your data like their property. You upload it, they own it. You lose control, they make money from it.
1513

16-
- **You own your data**: The original data never leaves your control
17-
- **Granular permissions**: Decide who can access and use your data
18-
- **Revocable access**: Grant and revoke permissions at any time
14+
## The Solution: Blockchain-Verified Ownership
1915

20-
### Privacy-Preserving Computation
16+
Protected Data flips this model. Here's how you protect data:
2117

22-
- **Encrypted processing**: Data is encrypted during computation
23-
- **TEE (Trusted Execution Environment)**: Secure enclaves protect data during
24-
processing
25-
- **Zero-knowledge**: Compute on data without revealing it
18+
```javascript
19+
const protectedData = await dataprotector.protectData({
20+
name: 'my-contacts.json',
21+
data: { emails: ['[email protected]', ...] }
22+
});
23+
```
2624

27-
### Monetization
25+
Now you have **blockchain-verified ownership** of this data. No one can access it without your explicit permission.
2826

29-
- **Data marketplaces**: Sell access to your protected data
30-
- **Usage tracking**: Monitor how your data is being used
31-
- **Fair compensation**: Get paid for data usage
27+
## Access Control That Actually Works
3228

33-
## How It Works
29+
Traditional permissions: "This app can access your contacts" *(forever, for anything)*
3430

35-
1. **Protect**: Encrypt and register your data on the iExec network
36-
2. **Share**: Grant access permissions to specific users or applications
37-
3. **Monitor**: Track usage and maintain control
38-
4. **Monetize**: Earn from your data while keeping it private
31+
Protected Data permissions: "This newsletter app can use my contacts to send marketing emails, but only during weekdays, and I get 2€ per campaign."
3932

40-
## Use Cases
33+
```javascript
34+
await dataprotector.grantAccess({
35+
protectedData: protectedData.address,
36+
authorizedApp: '0x123...', // Specific app
37+
authorizedUser: '0xabc...', // Specific user
38+
// Plus pricing, time limits, usage rules...
39+
});
40+
```
4141

42-
- **Personal Data**: Health records, financial data, personal preferences
43-
- **Business Intelligence**: Market research, customer analytics, proprietary
44-
datasets
45-
- **AI Training**: Training models without exposing sensitive data
46-
- **Research**: Collaborative research with privacy guarantees
42+
## Privacy-Safe Processing
4743

48-
## Next Steps
44+
When apps use your Protected Data, they process it inside **secure enclaves** (TEEs). They get the results they need, but your raw data never leaves the privacy bubble.
4945

50-
Ready to protect your data? Check out:
46+
### How the Technical Magic Works
5147

52-
- [Getting Started with DataProtector](/manage_data/dataProtector/getting-started)
53-
- [DataProtector Guides](/manage_data/guides)
48+
Here's what actually happens under the hood:
49+
50+
1. **Your data gets encrypted** and stored online (IPFS,Arweave..)
51+
2. **The decryption key** is stored in a secure TEE database
52+
3. **Only authorized TEE workers** can retrieve this key to process your data
53+
4. **Apps run inside these TEE workers** - they can decrypt and use your data, but only within the secure enclave
54+
5. **Results come back encrypted** to you - the raw data never leaves the TEE environment
55+
56+
```
57+
Your Data (encrypted, online) + Decryption Key (in TEE database) = Processing (only in authorized TEEs)
58+
```
59+
60+
This architecture ensures that even iExec workers can't access your raw data - only the TEE environment can decrypt it for processing, and only when you've authorized it.
61+
62+
## What This Enables
63+
64+
### 📧 **Privacy-First Email Marketing**
65+
Your users upload their contact lists as Protected Data. Your newsletter app can send personalized emails without ever seeing the actual email addresses. Users stay private, you get engagement.
66+
67+
### 🤖 **Ethical AI Training**
68+
People contribute personal data (health records, preferences) as Protected Data. AI models can learn from this data without seeing individual information. Better AI, fair compensation, zero privacy trade-offs.
69+
70+
### 🏢 **Confidential Business Intelligence**
71+
Companies protect their datasets but still collaborate on insights. Research partners get aggregate results without accessing raw competitive data. Innovation without information leaks.
72+
73+
### 💰 **Data Monetization**
74+
Create marketplaces where data owners set their own terms. "Use my fitness data for $5/month, health insights only, no advertising." Automatic payments, programmable rules.
75+
76+
77+
78+
## ❓ Frequently Asked Questions
79+
80+
::: details 💰 How much does it cost?
81+
It's **free**! No gas fees on iExec's Bellecour network. You just need a Web3 wallet to sign transactions.
82+
:::
83+
84+
::: details 📏 What's the maximum dataset size?
85+
It depends on your use case context. For standard cases (contacts, small datasets), no problem. For large volumes, [contact us](https://iex.ec/contact/) so we can assess if it fits your needs.
86+
:::
87+
88+
::: details 💸 Can I monetize my data?
89+
Yes! You can sell access to your Protected Data with flexible pricing, subscriptions, etc. See the [Manage Data Monetization](/manage_data/guides/manage-data-monetization) guide for all details.
90+
:::
91+
92+
::: details 🚀 How do I get started?
93+
You need a Web3 wallet (MetaMask, WalletConnect) and Node.js 16+. Follow [DataProtector Core](/manage_data/dataProtector/dataProtectorCore) for installation and first examples.
94+
:::
95+
96+
97+
98+
::: details 🔒 Is my data really secure?
99+
Yes! Your data is encrypted and keys are stored in secure TEE environments. Even iExec workers can't see your raw data - only the authorized TEE environment can decrypt it for processing.
100+
:::
101+
102+
## Why This Changes Everything
103+
104+
### **True Ownership**
105+
Your data is blockchain-verified yours. Not "terms & conditions" yours, actually yours.
106+
107+
### **Privacy by Design**
108+
Apps get utility without compromising privacy. No more "privacy vs functionality" trade-offs.
109+
110+
### **Programmable Control**
111+
Set complex rules: "Use my data only for health insights, only on weekdays, only if I get paid 5€."
112+
113+
### **Composable Privacy**
114+
Any iApp can use your Protected Data (if authorized). Build privacy-first ecosystems.
115+
116+
## Start Building
117+
118+
Ready to give your users data ownership?
119+
120+
### 🚀 **Try DataProtector**
121+
- [Getting Started](/manage_data/dataProtector/getting-started) - Protect your first dataset
122+
- [DataProtector Core](/manage_data/dataProtector/dataProtectorCore) - Full SDK reference
123+
- [DataProtector Sharing](/manage_data/dataProtector/dataProtectorSharing) - Monetization features
124+
125+
### 📖 **Learn with Guides**
126+
- [Create and Share Access](/manage_data/guides/create-and-share-access) - Basic workflow
127+
- [Handle Schemas & Dataset Types](/manage_data/guides/handle-schemas-dataset-types) - Advanced data types
128+
- [Manage Data Monetization](/manage_data/guides/manage-data-monetization) - Get paid for your data
129+
130+
### 🎯 **Use in iApps**
131+
Protected Data works with any iApp:
132+
- [Web3Mail](/use_iapp/web3mail) - Private email with contact protection
133+
- [Build your own iApp](/build_iapp/iapp-generator) - Custom privacy-first apps
54134

55135
---
56136

57-
_Protect your data, maintain control, and unlock its value with iExec's
58-
DataProtector._
137+
**TL;DR**: Protected Data = Your data + Your rules + Privacy guarantees. Finally, data ownership that actually works. 🔒

0 commit comments

Comments
 (0)