From 2b806e7937be29177486b7d84e17ee868e04ecdd Mon Sep 17 00:00:00 2001 From: akugone Date: Tue, 5 Aug 2025 10:42:00 +0200 Subject: [PATCH 01/21] fix: clarify definition of iApp and its secure processing environment --- src/build-iapp/what-is-iapp.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index 40b2bff..c8cd708 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -5,9 +5,9 @@ description: Privacy-first applications that run on decentralized infrastructure # ๐Ÿš€ What Is an iApp? -**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. +An iExec Application (iApp) is your regular application code (Python script, AI +model, data processor) that can securely process sensitive data inside a +privacy-safe environment called a Trusted Execution Environment (TEE). ## Why Would You Want This? From 7e06e9d54be622cc3a3b70d4bbe467061fdcc39c Mon Sep 17 00:00:00 2001 From: akugone Date: Tue, 5 Aug 2025 11:10:01 +0200 Subject: [PATCH 02/21] fix: enhance clarity on iApp's secure processing and its significance --- src/build-iapp/what-is-iapp.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index c8cd708..38dbd4b 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -6,10 +6,11 @@ description: Privacy-first applications that run on decentralized infrastructure # ๐Ÿš€ What Is an iApp? An iExec Application (iApp) is your regular application code (Python script, AI -model, data processor) that can securely process sensitive data inside a -privacy-safe environment called a Trusted Execution Environment (TEE). +model, data processor) that can securely process protected data (created by +DataProtector) inside a privacy-safe environment called TEE (a Trusted Execution +Environment). -## Why Would You Want This? +## Why iApps Matter? Simple: **to process sensitive data that users won't normally share.** @@ -25,12 +26,13 @@ they will.** ## How It Works -Your code runs in a **trusted execution environment** (TEE) - think of it as a -"privacy bubble" that even iExec workers can't peek into. +Your code runs in a Trusted Execution Environment (TEE) a secure area inside +specific processors (Intel SGX/TDX chipset). Everything that happens there stays +private and protected, even from the operating system. -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. +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. ## iApp Generator: Your Development Tool From 6ae88327d0cc264e921009e10d04d464199404aa Mon Sep 17 00:00:00 2001 From: akugone Date: Tue, 5 Aug 2025 11:17:45 +0200 Subject: [PATCH 03/21] fix: enhance iApp Generator documentation for improved usability and clarity - Updated the iApp Generator section to emphasize ease of access to TEEs and quick deployment. - Added details on project mode selection and language options for better user guidance. --- src/build-iapp/what-is-iapp.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index 38dbd4b..771c931 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -36,12 +36,16 @@ to the person running the app. ## iApp Generator: Your Development Tool -Creating iApps used to be complex. **iApp Generator** simplifies this by: - -- **Simulating TEE environment locally** - Test your code in conditions close to - real execution -- **Handling deployment** - Package and deploy with simple commands -- **Managing dependencies** - Docker containers, environment setup, etc. +Generate and deploy iApps that will give you access to TEEs in just a few +minutes. + +- **Access to TEEs easily** - No need to dive into low-level requirements, build + iApps that connect to TEE in minutes +- **Check and deploy iApps quickly** - iApp Generator checks that your iApp + complies with the iExec Framework and streamlines its deployment +- **Select your project mode & language** - Select between basic or advanced + setup depending on your iExec level experience. You also have the choice + between Python or JavaScript ```bash # Create your iApp (Python or Node.js supported) From 6f969c104addac61dd9d40812675529186e8441c Mon Sep 17 00:00:00 2001 From: akugone Date: Tue, 5 Aug 2025 11:25:11 +0200 Subject: [PATCH 04/21] fix: update iApp documentation to improve workflow clarity and FAQ structure - Changed the section title from "The Technical Reality" to "The Workflow" for better alignment with user understanding. - Enhanced the FAQ section by restructuring questions and answers for improved readability and clarity, ensuring users can easily find information about building, speed, security, deployment, and programming language support for iApps. --- src/build-iapp/what-is-iapp.md | 48 ++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index 771c931..b5966ba 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -110,7 +110,7 @@ Here's why users will actually use your iApp with their private data: - โœ… New business models around privacy-preserving analytics - โœ… Competitive advantage through privacy guarantees -### The Technical Reality +### The Workflow ``` User's Private Data โ†’ Encrypted โ†’ TEE Environment โ†’ Your iApp uses it โ†’ Actions Performed @@ -147,27 +147,43 @@ transactions, or updates. ## โ“ Frequently Asked Questions -::: details ๐Ÿ“ฆ What can I build with iApps? 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. ::: +::: details ๐Ÿ“ฆ What can I build with iApps? -::: details โšก How fast are iApps? 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. ::: +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. -::: details ๐Ÿ›ก๏ธ Are iApps really secure? 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. ::: +::: + +::: details โšกHow fast are iApps? + +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. + +::: + +::: details ๐Ÿ›ก๏ธ Are iApps really secure? + +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. -::: details ๐Ÿš€ How do I deploy my first iApp? Try our -[Hello World](/overview/helloWorld) for a quick start, or check the +::: + +::: details ๐Ÿš€ How do I deploy my first iApp? + +Try our [Hello World](/overview/helloWorld) for a quick start, or check the [iApp Generator](/build_iapp/iapp-generator) section for detailed instructions. + ::: -::: details ๐Ÿ”ง What programming languages are supported? 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. ::: +::: details ๐Ÿ”ง What programming languages are supported? + +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. + +::: ## Why This Changes Everything From 09190eb75c8b6d99a99672fa2c853d73b7903018 Mon Sep 17 00:00:00 2001 From: akugone Date: Tue, 5 Aug 2025 11:26:41 +0200 Subject: [PATCH 05/21] fix: update iApp documentation to enhance clarity on privacy and execution features - Revised the "Why This Changes Everything" section to improve clarity and emphasis on key features such as True Privacy, Verifiable Execution, Decentralized Infrastructure, and Zero Trust Architecture. - Consolidated information for better readability and user understanding of iApp's secure processing capabilities. --- src/build-iapp/what-is-iapp.md | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index b5966ba..5a35f5b 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -187,24 +187,17 @@ Node.js for simplified development. ## Why This Changes Everything -### โœ… **True Privacy** +โœ… **True Privacy**: Users never expose their raw data. Your app processes it +privately inside secure enclaves. -Users never expose their raw data. Your app processes it privately inside secure -enclaves. +โœ… **Verifiable Execution**: Cryptographic proof that your code ran exactly as +intended. No black box execution. -### โœ… **Verifiable Execution** +โœ… **Decentralized Infrastructure**: No single point of failure. Your app runs +across a distributed network of workers. -Cryptographic proof that your code ran exactly as intended. No black box -execution. - -### โœ… **Decentralized Infrastructure** - -No single point of failure. Your app runs across a distributed network of -workers. - -### โœ… **Zero Trust Architecture** - -Users don't need to trust you with their data. The protocol guarantees privacy. +โœ… **Zero Trust Architecture**: Users don't need to trust you with their data. +The protocol guarantees privacy. ## Start Building From d531ddf6c132c6b63acfcf249d084e02d11cb251 Mon Sep 17 00:00:00 2001 From: akugone Date: Wed, 6 Aug 2025 09:32:50 +0200 Subject: [PATCH 06/21] fix: enhance iApp documentation with improved formatting and clarity - Updated the "Why iApps Matter?" section to emphasize the importance of processing sensitive data securely. - Enhanced the workflow explanation with a clearer, step-by-step visual format for better user understanding. - Improved the presentation of key features and use cases with visually distinct sections for better readability. - Added notes on iApp Generator capabilities and supported languages in a more accessible format. --- src/build-iapp/what-is-iapp.md | 157 +++++++++++++++++++++++---------- 1 file changed, 110 insertions(+), 47 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index 5a35f5b..6db16a6 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -12,14 +12,32 @@ Environment). ## Why iApps Matter? -Simple: **to process sensitive data that users won't normally share.** +
+

iApps let you process sensitive data while keeping it private and secure.

+
Imagine you want to build: -- An AI that analyzes personal health data -- An email tool that needs access to contact lists -- A financial advisor that processes bank statements -- A content filter that reads private messages +
+
+
+ ๐Ÿค– + An AI that analyzes personal health data +
+
+ ๐Ÿ“ง + An email tool that needs access to contact lists +
+
+ ๐Ÿ’ฐ + A financial advisor that processes bank statements +
+
+ ๐Ÿ›ก๏ธ + A content filter that reads private messages +
+
+
Users have this data, but they won't give it to your regular app. **With iApps, they will.** @@ -30,14 +48,14 @@ Your code runs in a Trusted Execution Environment (TEE) a secure area inside specific processors (Intel SGX/TDX chipset). Everything that happens there stays private and protected, even from the operating system. -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. +
+

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.

+
## iApp Generator: Your Development Tool -Generate and deploy iApps that will give you access to TEEs in just a few -minutes. +Bootstrap TEE-compatible applications in minutes without any hardcoding skills, +iApp Generator handles all the low-level complexity for you. - **Access to TEEs easily** - No need to dive into low-level requirements, build iApps that connect to TEE in minutes @@ -58,8 +76,9 @@ iapp test iapp deploy ``` -_Note: iApp Generator currently supports Python and Node.js, but iApps can be -built in any language that runs in Docker._ +
+

Note: iApp Generator currently supports Python and Node.js, but iApps can be built in any language that runs in Docker.

+
## Real Examples @@ -112,11 +131,34 @@ Here's why users will actually use your iApp with their private data: ### The Workflow -``` -User's Private Data โ†’ Encrypted โ†’ TEE Environment โ†’ Your iApp uses it โ†’ Actions Performed -``` - -**Nobody sees the raw data except your code running inside the secure enclave.** +
+
+
+ 1 + User provides personal data +
+
+ 2 + Data is protected with DataProtector +
+
+ 3 + Protected data transferred to Trusted Execution Environment (TEE) +
+
+ 4 + Your iApp runs inside TEE and processes protected data +
+
+ 5 + Actions performed while maintaining privacy +
+
+
+ +
+

Nobody sees the raw data except your code running inside the secure enclave.

+
Your iApp can send emails, update contracts, make transactions, trigger notifications - anything your code needs to do with the protected data. This @@ -125,25 +167,39 @@ preserved. ## What This Enables -### ๐Ÿ“ง **Private Communication** - -Users send emails, notifications, or messages using their protected contact -lists without exposing recipient information. - -### ๐Ÿ”ฎ **Trustworthy Oracles** - -Users contribute real data to oracles while keeping their private information -confidential. - -### ๐Ÿค– **Personal AI Assistants** - -Users let AI models perform actions based on their private data - trading, -scheduling, recommendations. - -### โšก **Automated Actions** - -Users set up automated workflows that use their private data to trigger actions, -transactions, or updates. +
+
+
+ ๐Ÿ“ง +

Private Communication

+
+

Users send emails, notifications, or messages using their protected contact lists without exposing recipient information.

+
+ +
+
+ ๐Ÿ”ฎ +

Trustworthy Oracles

+
+

Users contribute real data to oracles while keeping their private information confidential.

+
+ +
+
+ ๐Ÿค– +

Personal AI Assistants

+
+

Users let AI models perform actions based on their private data - trading, scheduling, recommendations.

+
+ +
+
+ โšก +

Automated Actions

+
+

Users set up automated workflows that use their private data to trigger actions, transactions, or updates.

+
+
## โ“ Frequently Asked Questions @@ -187,17 +243,24 @@ Node.js for simplified development. ## Why This Changes Everything -โœ… **True Privacy**: Users never expose their raw data. Your app processes it -privately inside secure enclaves. - -โœ… **Verifiable Execution**: Cryptographic proof that your code ran exactly as -intended. No black box execution. - -โœ… **Decentralized Infrastructure**: No single point of failure. Your app runs -across a distributed network of workers. - -โœ… **Zero Trust Architecture**: Users don't need to trust you with their data. -The protocol guarantees privacy. +
+
+ โœ… +

True Privacy: Users never expose their raw data. Your app processes it privately inside secure enclaves.

+
+
+ โœ… +

Verifiable Execution: Cryptographic proof that your code ran exactly as intended. No black box execution.

+
+
+ โœ… +

Decentralized Infrastructure: No single point of failure. Your app runs across a distributed network of workers.

+
+
+ โœ… +

Zero Trust Architecture: Users don't need to trust you with their data. The protocol guarantees privacy.

+
+
## Start Building From 43a3433407bc267a0ef088d7cc5c88a26b3054d0 Mon Sep 17 00:00:00 2001 From: akugone Date: Wed, 6 Aug 2025 09:59:07 +0200 Subject: [PATCH 07/21] fix: update iApp documentation to enhance clarity on user-provided protected data - Reintroduced the section on how users provide protected data, ensuring clear instructions and code examples for executing iApps. - Improved the formatting and structure of the documentation to align with recent updates, enhancing overall readability and user understanding. --- src/build-iapp/guides/inputs-and-outputs.md | 34 ++++++++++----------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/build-iapp/guides/inputs-and-outputs.md b/src/build-iapp/guides/inputs-and-outputs.md index c81ee1c..9ae5859 100644 --- a/src/build-iapp/guides/inputs-and-outputs.md +++ b/src/build-iapp/guides/inputs-and-outputs.md @@ -275,23 +275,6 @@ environment. **When to use:** Processing user's sensitive information like personal data, financial records, health data. -### How Users Provide Protected Data - -Users specify the protected data address when executing your iApp: - -```ts twoslash -import { IExecDataProtectorCore, getWeb3Provider } from '@iexec/dataprotector'; - -const web3Provider = getWeb3Provider('PRIVATE_KEY'); -const dataProtectorCore = new IExecDataProtectorCore(web3Provider); -// ---cut--- -// User provides their protected data for processing -const response = await dataProtectorCore.processProtectedData({ - protectedData: '0x123abc...', // Address of their protected data - app: '0x456def...', // Your iApp address -}); -``` - ### How to Access Protected Data Protected data is available in the `IEXEC_IN` directory as decrypted files: @@ -345,6 +328,23 @@ try { ::: +### How Users Provide Protected Data + +Users specify the protected data address when executing your iApp: + +```ts twoslash +import { IExecDataProtectorCore, getWeb3Provider } from '@iexec/dataprotector'; + +const web3Provider = getWeb3Provider('PRIVATE_KEY'); +const dataProtectorCore = new IExecDataProtectorCore(web3Provider); +// ---cut--- +// User provides their protected data for processing +const response = await dataProtectorCore.processProtectedData({ + protectedData: '0x123abc...', // Address of their protected data + app: '0x456def...', // Your iApp address +}); +``` + ### Working with Multiple Protected Datasets When multiple datasets are provided, they're available as separate files: From c644a910745232db6c0b20cc5d23624d60e139e0 Mon Sep 17 00:00:00 2001 From: akugone Date: Wed, 6 Aug 2025 10:08:54 +0200 Subject: [PATCH 08/21] fix: add clarification on dataset type mismatches in iApp documentation - Introduced a new section addressing potential dataset type mismatches between the frontend and iApp, outlining causes and solutions for better user guidance. - Enhanced overall documentation clarity to assist users in debugging their iApps effectively. --- src/build-iapp/guides/debugging-your-iapp.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/build-iapp/guides/debugging-your-iapp.md b/src/build-iapp/guides/debugging-your-iapp.md index e66469d..96815a3 100644 --- a/src/build-iapp/guides/debugging-your-iapp.md +++ b/src/build-iapp/guides/debugging-your-iapp.md @@ -112,6 +112,12 @@ with open(f"{os.environ['IEXEC_OUT']}/computed.json", 'w') as f: json.dump(computed, f) ``` +### โš ๏ธ **Dataset type unmatching** + +- **Cause**: The dataset type specified in the frontend (protectData) does not + match with the dataset type specified in the iApp +- **Solution**: Check both dataset types + ## Best Practices ### ๐Ÿ” **Input Validation** From 240f3b8c76a0ae696813aac7562444142751c19e Mon Sep 17 00:00:00 2001 From: akugone Date: Wed, 6 Aug 2025 10:18:15 +0200 Subject: [PATCH 09/21] fix: update TDX experimental guide with feature comparisons and integration details - Added a new comparison table highlighting key differences between Intel SGX and Intel TDX, including release year, enclave scope, memory size, and integration complexity. - Enhanced the guide to clarify the benefits of TDX for heavier workloads and legacy applications, improving user understanding of its capabilities. - Updated the section on enabling TDX in the iApp Generator for better guidance on integration. --- src/build-iapp/guides/using-tdx-experimental.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/build-iapp/guides/using-tdx-experimental.md b/src/build-iapp/guides/using-tdx-experimental.md index 5754e24..6959c65 100644 --- a/src/build-iapp/guides/using-tdx-experimental.md +++ b/src/build-iapp/guides/using-tdx-experimental.md @@ -38,6 +38,15 @@ technology, different from the default SGX implementation. - โŒ **Limited worker availability** - โŒ **Not production ready** +| Feature | Intel SGX | Intel TDX | +| ------------------------ | ----------------------------------------------------------------------------------- | -------------------------------------------- | +| Release Year | 2015 | 2023 | +| Enclave Scope | Application level | Virtual machine level | +| Code Adaptation Required | Yes - needs redesign of app's logic | No - supports lift-and-shift of full systems | +| Memory Size | Limited | Extensive (multi-GB+) | +| Integration Complexity | Higher (more dev work) | Lower (VM legacy code) | +| Best Fit For | Lightweight, high-assurance modules (e.g. wallets, crypto key ops, small AI models) | Heavier AI workloads, legacy apps, databases | + ## Enabling TDX in iApp Generator ### Environment Variable Method From 46c65c5f293ed74e5b3a1a4d01cddce797836b73 Mon Sep 17 00:00:00 2001 From: akugone Date: Wed, 6 Aug 2025 10:28:23 +0200 Subject: [PATCH 10/21] fix: update TDX experimental guide with environment variable declaration - Added a warning section detailing the syntax for setting environment variables on different operating systems (Mac/Linux and Windows) to enhance user understanding and ensure proper configuration for TDX applications. --- src/build-iapp/guides/using-tdx-experimental.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/build-iapp/guides/using-tdx-experimental.md b/src/build-iapp/guides/using-tdx-experimental.md index 6959c65..a5b9534 100644 --- a/src/build-iapp/guides/using-tdx-experimental.md +++ b/src/build-iapp/guides/using-tdx-experimental.md @@ -62,6 +62,15 @@ iapp deploy iapp run ``` +:::warning Environment Variable Declaration + +The syntax for setting environment variables differs between operating systems: + +- **Mac/Linux**: `export EXPERIMENTAL_TDX_APP=true` +- **Windows**: `set EXPERIMENTAL_TDX_APP=true` + +::: + ### Per-Command Method **Enable TDX for specific commands**: From 1fc56a99a2ad97c65cd27c76c1edd947f85681bd Mon Sep 17 00:00:00 2001 From: akugone Date: Wed, 6 Aug 2025 10:34:41 +0200 Subject: [PATCH 11/21] fix: update iApp Generator documentation to clarify Docker requirements - Changed the Docker requirement to specify the need for a Docker hub account, enhancing user understanding of prerequisites for using the iApp Generator. --- src/build-iapp/iapp-generator/getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/build-iapp/iapp-generator/getting-started.md b/src/build-iapp/iapp-generator/getting-started.md index 0457ac5..2458db9 100644 --- a/src/build-iapp/iapp-generator/getting-started.md +++ b/src/build-iapp/iapp-generator/getting-started.md @@ -6,7 +6,7 @@ Before using the iApp Generator, make sure you have: \- [**Node.js**](https://nodejs.org/en/) version 20 or higher -\- **Docker** +\- **Docker / Docker hub account** \- **Docker Buildx** _(for macOS users, check AMD64 compatibility)_ From fbe926a4587b5d59ad1670576e4eb4844f3befb8 Mon Sep 17 00:00:00 2001 From: akugone Date: Wed, 6 Aug 2025 10:43:52 +0200 Subject: [PATCH 12/21] fix: update TDX experimental guide with DataProtector SDK configuration details - Added instructions for configuring the iExec DataProtector SDK with the correct SMS endpoint for TDX support. - Included a warning about changing the default worker pool in the protected Data declaration to ensure proper functionality. --- .../guides/using-tdx-experimental.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/build-iapp/guides/using-tdx-experimental.md b/src/build-iapp/guides/using-tdx-experimental.md index a5b9534..64774d3 100644 --- a/src/build-iapp/guides/using-tdx-experimental.md +++ b/src/build-iapp/guides/using-tdx-experimental.md @@ -95,6 +95,30 @@ EXPERIMENTAL_TDX_APP=true iapp debug iexec app show ``` +### + +โš ๏ธ **To use** the iExec DataProtector SDK with TDX support, you must configure +the SDK with the right SMS endpoint. + +```jsx +const dataProtector = new IExecDataProtector(web3Provider, { + iexecOptions: { + smsURL: 'https://sms.labs.iex.ec', + }, +}); +``` + +โš ๏ธ**You need** to change the default worker pool in your protected Data +declaration + +```jsx +await dataProtector.core.processProtectedData({ + protectedData: protectedData.address, + workerpool: 'tdx-labs.pools.iexec.eth', + app: '0x1919ceb0c6e60f3B497936308B58F9a6aDf071eC', +}); +``` + ## Protected Data Compatibility :::warning Protected Data Requirements From 803c221c7af0d2ecd61fc7b445a438d1c71b8e06 Mon Sep 17 00:00:00 2001 From: Le-Caignec Date: Thu, 7 Aug 2025 11:47:55 +0200 Subject: [PATCH 13/21] Co-authored-by: MartinLeclercq --- .vitepress/sidebar.ts | 6 +- src/build-iapp/guides/build-&-deploy-iapp.md | 66 ++++++++ src/build-iapp/what-is-iapp.md | 152 ++++++++----------- 3 files changed, 133 insertions(+), 91 deletions(-) create mode 100644 src/build-iapp/guides/build-&-deploy-iapp.md diff --git a/.vitepress/sidebar.ts b/.vitepress/sidebar.ts index 067dccc..2bcca6c 100644 --- a/.vitepress/sidebar.ts +++ b/.vitepress/sidebar.ts @@ -345,7 +345,11 @@ export function getSidebar() { text: '๐Ÿ“– Guides', items: [ { - text: 'Manage Your iApps', + text: 'Build and Deploy your iApps', + link: '/build-iapp/guides/build-&-deploy-iapp', + }, + { + text: 'Manage your iApps', link: '/build-iapp/guides/manage-iapp', }, { diff --git a/src/build-iapp/guides/build-&-deploy-iapp.md b/src/build-iapp/guides/build-&-deploy-iapp.md new file mode 100644 index 0000000..0ceed3d --- /dev/null +++ b/src/build-iapp/guides/build-&-deploy-iapp.md @@ -0,0 +1,66 @@ +--- +title: Build and Deploy an iApp? +description: + How to build an confidential iexec application and deploy it on iexec protocol +--- + + +## iApp Generator: Your Development Tool + +Bootstrap TEE-compatible applications in minutes without any hardcoding skills, +iApp Generator handles all the low-level complexity for you. + +- **Access to TEEs easily** - No need to dive into low-level requirements, build + iApps that connect to TEE in minutes +- **Check and deploy iApps quickly** - iApp Generator checks that your iApp + complies with the iExec Framework and streamlines its deployment +- **Select your project mode & language** - Select between basic or advanced + setup depending on your iExec level experience. You also have the choice + between Python or JavaScript + +```bash +# Create your iApp (Python or Node.js supported) +iapp init my-privacy-app +cd my-privacy-app + +# Develop and test locally (simulates TEE environment) +iapp test +# Deploy to the network +iapp deploy +``` + +
+

Note: iApp Generator currently supports Python and Node.js, but iApps can be built in any language that runs in Docker.

+
+ +## Real Examples + +**Email Notification iApp** + +```python +# User runs: "Send updates to my contacts about my project" +contacts = load_protecteddata() # User's protected contact list +for contact in contacts: + send_email(contact, project_update_message) +# โ†’ Emails sent directly, you never see the addresses +``` + +**Oracle Update iApp** + +```python +# User runs: "Update price oracle with my private trading data" +trading_data = load_protecteddata() # User's protected trading history +average_price = calculate_weighted_average(trading_data) +update_oracle_contract(average_price) +# โ†’ Oracle updated with real data, trading history stays private +``` + +**Automated Transactions iApp** + +```python +# User runs: "Buy tokens when my portfolio meets certain conditions" +portfolio = load_protecteddata() # User's protected portfolio data +if should_buy_tokens(portfolio): + execute_trade(token_address, amount) +# โ†’ Trade executed based on private data, portfolio details stay hidden +``` diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index 6db16a6..2a455d3 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -7,14 +7,12 @@ description: Privacy-first applications that run on decentralized infrastructure An iExec Application (iApp) is your regular application code (Python script, AI model, data processor) that can securely process protected data (created by -DataProtector) inside a privacy-safe environment called TEE (a Trusted Execution -Environment). +DataProtector) inside a confidential computing environment called TEE (a Trusted +Execution Environment). ## Why iApps Matter? -
-

iApps let you process sensitive data while keeping it private and secure.

-
+iApps let you process sensitive data while keeping it private and secure. Imagine you want to build: @@ -42,75 +40,64 @@ Imagine you want to build: Users have this data, but they won't give it to your regular app. **With iApps, they will.** -## How It Works +## Key Concepts -Your code runs in a Trusted Execution Environment (TEE) a secure area inside -specific processors (Intel SGX/TDX chipset). Everything that happens there stays -private and protected, even from the operating system. +//TODO -
-

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.

+
+
+ โœ… +

True Privacy: Users never expose their raw data. Your app processes it privately inside secure enclaves.

+
+
+ โœ… +

Verifiable Execution: Cryptographic proof that your code ran exactly as intended. No black box execution.

+
+
+ โœ… +

Decentralized Infrastructure: No single point of failure. Your app runs across a distributed network of workers.

+
+
+ โœ… +

Zero Trust Architecture: Users don't need to trust you with their data. The protocol guarantees privacy.

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

Note: iApp Generator currently supports Python and Node.js, but iApps can be built in any language that runs in Docker.

+
+
+
+ 1 + User provides personal data +
+
+ 2 + Data is protected with DataProtector +
+
+ 3 + Protected data transferred to Trusted Execution Environment (TEE) +
+
+ 4 + Your iApp runs inside TEE and processes protected data +
+
+ 5 + Confidential computing performed while maintaining privacy +
+
-## Real Examples - -**Email Notification iApp** - -```python -# User runs: "Send updates to my contacts about my project" -contacts = load_protecteddata() # User's protected contact list -for contact in contacts: - send_email(contact, project_update_message) -# โ†’ Emails sent directly, you never see the addresses -``` - -**Oracle Update iApp** - -```python -# User runs: "Update price oracle with my private trading data" -trading_data = load_protecteddata() # User's protected trading history -average_price = calculate_weighted_average(trading_data) -update_oracle_contract(average_price) -# โ†’ Oracle updated with real data, trading history stays private -``` - -**Automated Transactions iApp** +
+

Nobody sees the raw data except your code running inside the secure enclave.

+
-```python -# User runs: "Buy tokens when my portfolio meets certain conditions" -portfolio = load_protecteddata() # User's protected portfolio data -if should_buy_tokens(portfolio): - execute_trade(token_address, amount) -# โ†’ Trade executed based on private data, portfolio details stay hidden -``` +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. ## The Trust Model @@ -129,7 +116,13 @@ Here's why users will actually use your iApp with their private data: - โœ… New business models around privacy-preserving analytics - โœ… Competitive advantage through privacy guarantees -### The Workflow +## How It Works + +Your code runs in a Trusted Execution Environment (TEE) a secure area inside +specific processors (Intel SGX/TDX chipset). Everything that happens there stays +private and protected, even from the operating system. + +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.
@@ -151,7 +144,7 @@ Here's why users will actually use your iApp with their private data:
5 - Actions performed while maintaining privacy + Confidential computing performed while maintaining privacy
@@ -165,7 +158,7 @@ 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. -## What This Enables +## Use Cases
@@ -241,27 +234,6 @@ Node.js for simplified development. ::: -## Why This Changes Everything - -
-
- โœ… -

True Privacy: Users never expose their raw data. Your app processes it privately inside secure enclaves.

-
-
- โœ… -

Verifiable Execution: Cryptographic proof that your code ran exactly as intended. No black box execution.

-
-
- โœ… -

Decentralized Infrastructure: No single point of failure. Your app runs across a distributed network of workers.

-
-
- โœ… -

Zero Trust Architecture: Users don't need to trust you with their data. The protocol guarantees privacy.

-
-
- ## Start Building Ready to build privacy-first applications? From a6e5872f95b4056d6e3dc0d15c8a052884361897 Mon Sep 17 00:00:00 2001 From: Le-Caignec Date: Thu, 7 Aug 2025 11:53:00 +0200 Subject: [PATCH 14/21] fix: remove outdated guides for AI frameworks, managing iApps, orders, and emerging trends --- src/build-iapp/guides/ai-frameworks.md | 0 src/build-iapp/guides/manage-iapps.md | 0 src/build-iapp/guides/orders.md | 0 src/build-iapp/guides/other-emerging-trends.md | 0 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/build-iapp/guides/ai-frameworks.md delete mode 100644 src/build-iapp/guides/manage-iapps.md delete mode 100644 src/build-iapp/guides/orders.md delete mode 100644 src/build-iapp/guides/other-emerging-trends.md diff --git a/src/build-iapp/guides/ai-frameworks.md b/src/build-iapp/guides/ai-frameworks.md deleted file mode 100644 index e69de29..0000000 diff --git a/src/build-iapp/guides/manage-iapps.md b/src/build-iapp/guides/manage-iapps.md deleted file mode 100644 index e69de29..0000000 diff --git a/src/build-iapp/guides/orders.md b/src/build-iapp/guides/orders.md deleted file mode 100644 index e69de29..0000000 diff --git a/src/build-iapp/guides/other-emerging-trends.md b/src/build-iapp/guides/other-emerging-trends.md deleted file mode 100644 index e69de29..0000000 From 7b228c69b63a0e003e951ad6de6aa912bd97c8cd Mon Sep 17 00:00:00 2001 From: Le-Caignec Date: Thu, 7 Aug 2025 11:57:33 +0200 Subject: [PATCH 15/21] fix: remove redundant "How It Works" section from iApp documentation --- src/build-iapp/what-is-iapp.md | 36 ---------------------------------- 1 file changed, 36 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index 2a455d3..77a76e4 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -63,42 +63,6 @@ they will.**
-## How It Works - -
-
-
- 1 - User provides personal data -
-
- 2 - Data is protected with DataProtector -
-
- 3 - Protected data transferred to Trusted Execution Environment (TEE) -
-
- 4 - Your iApp runs inside TEE and processes protected data -
-
- 5 - Confidential computing performed while maintaining privacy -
-
-
- -
-

Nobody sees the raw data except your code running inside the secure enclave.

-
- -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. - ## The Trust Model Here's why users will actually use your iApp with their private data: From 5aad0440dd2ac4cde838a9285c1b715e2f1ebd44 Mon Sep 17 00:00:00 2001 From: akugone Date: Thu, 7 Aug 2025 16:10:18 +0200 Subject: [PATCH 16/21] fix: enhance iApp documentation with new trust benefits section - Added a new section detailing the trust benefits for users and builders, emphasizing control over data and the advantages of privacy-preserving features. - Improved the presentation of key concepts with clearer formatting and visual elements for better user understanding. --- src/build-iapp/what-is-iapp.md | 50 +++++++++++++++++----------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index 77a76e4..6b41c6e 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -42,51 +42,34 @@ they will.** ## Key Concepts -//TODO - -
-
+
+
โœ…

True Privacy: Users never expose their raw data. Your app processes it privately inside secure enclaves.

-
+
โœ…

Verifiable Execution: Cryptographic proof that your code ran exactly as intended. No black box execution.

-
+
โœ…

Decentralized Infrastructure: No single point of failure. Your app runs across a distributed network of workers.

-
+
โœ…

Zero Trust Architecture: Users don't need to trust you with their data. The protocol guarantees privacy.

-## The Trust Model - -Here's why users will actually use your iApp with their private data: - -### What Users See - -- โœ… "This code runs in a secure enclave, not on the developer's servers" -- โœ… "My data gets used privately for actions I want" -- โœ… "Even iExec workers can't see my data during execution" -- โœ… "I can revoke access anytime" - -### What You Get - -- โœ… Users willing to use your services with their sensitive data -- โœ… New business models around privacy-preserving analytics -- โœ… Competitive advantage through privacy guarantees - ## How It Works Your code runs in a Trusted Execution Environment (TEE) a secure area inside specific processors (Intel SGX/TDX chipset). Everything that happens there stays private and protected, even from the operating system. -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. +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.
@@ -158,6 +141,23 @@ preserved.
+## The Trust benefits + +Why users actually trust iApps with their private data + +### For Users โ€“ You stay in control + +- Your data stays private, even from the iApp creator or iExec. +- Your code runs in a secure enclave, not on someone elseโ€™s server. +- You define what happens to your data, and you can revoke access anytime. + +### For Builders โ€“ Trust becomes your best feature + +- Users are confident sharing sensitive data with your app. +- Unlock new business models with privacy-preserving features. +- Stand out with built-in privacy, programmable access, and verifiable + execution. + ## โ“ Frequently Asked Questions ::: details ๐Ÿ“ฆ What can I build with iApps? From 3f56df60ebd1fbeef754dcfd8f51729f472e404b Mon Sep 17 00:00:00 2001 From: akugone Date: Thu, 7 Aug 2025 16:13:36 +0200 Subject: [PATCH 17/21] fix: remove trust benefits section from iApp documentation - Deleted the section outlining trust benefits for users and builders, which included details on data control and privacy features. - This change aims to streamline the documentation and focus on more relevant content for users. --- src/build-iapp/what-is-iapp.md | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index 6b41c6e..6d397b6 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -141,23 +141,6 @@ preserved.
-## The Trust benefits - -Why users actually trust iApps with their private data - -### For Users โ€“ You stay in control - -- Your data stays private, even from the iApp creator or iExec. -- Your code runs in a secure enclave, not on someone elseโ€™s server. -- You define what happens to your data, and you can revoke access anytime. - -### For Builders โ€“ Trust becomes your best feature - -- Users are confident sharing sensitive data with your app. -- Unlock new business models with privacy-preserving features. -- Stand out with built-in privacy, programmable access, and verifiable - execution. - ## โ“ Frequently Asked Questions ::: details ๐Ÿ“ฆ What can I build with iApps? From 0febd405c0b8683d7000c1064e4535486916e7f9 Mon Sep 17 00:00:00 2001 From: akugone Date: Thu, 7 Aug 2025 16:21:54 +0200 Subject: [PATCH 18/21] fix: improve clarity in iApp documentation - Updated the description of iApps to include a link to DataProtector for better context. - Added a comma in the "How It Works" section to enhance readability and ensure proper sentence structure. --- src/build-iapp/what-is-iapp.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index 6d397b6..72bd08d 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -7,8 +7,8 @@ description: Privacy-first applications that run on decentralized infrastructure An iExec Application (iApp) is your regular application code (Python script, AI model, data processor) that can securely process protected data (created by -DataProtector) inside a confidential computing environment called TEE (a Trusted -Execution Environment). +[DataProtector](/manage-data/dataProtector)) inside a confidential computing +environment called TEE (a Trusted Execution Environment). ## Why iApps Matter? @@ -63,7 +63,7 @@ they will.** ## How It Works -Your code runs in a Trusted Execution Environment (TEE) a secure area inside +Your code runs in a Trusted Execution Environment (TEE), a secure area inside specific processors (Intel SGX/TDX chipset). Everything that happens there stays private and protected, even from the operating system. From 28a655ea1e22e677dac9296616a1359abd1f8461 Mon Sep 17 00:00:00 2001 From: akugone Date: Thu, 7 Aug 2025 17:07:18 +0200 Subject: [PATCH 19/21] fix: update iApp documentation for clarity and structure - Revised the initial task scheduling description to specify that it takes a few seconds, improving clarity. - Corrected the link path for the iApp Generator section to ensure accurate navigation. - Changed the "Start Building" section to "Next Steps" and restructured the content to enhance readability and user engagement, including new links to relevant guides and documentation. --- src/build-iapp/what-is-iapp.md | 49 ++++++++++++++++------------------ 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index 72bd08d..f1e7140 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -153,9 +153,9 @@ be an iApp. ::: details โšกHow fast are iApps? -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. +Initial task scheduling takes a few seconds (depending on the resources the +worker download, congestion etc), then your code runs at normal speed depending +on complexity. ::: @@ -169,7 +169,7 @@ iApp can't see what's happening inside the enclave. ::: details ๐Ÿš€ How do I deploy my first iApp? Try our [Hello World](/overview/helloWorld) for a quick start, or check the -[iApp Generator](/build_iapp/iapp-generator) section for detailed instructions. +[iApp Generator](/build-iapp/iapp-generator) section for detailed instructions. ::: @@ -181,31 +181,28 @@ Node.js for simplified development. ::: -## Start Building +## Next Steps -Ready to build privacy-first applications? - -### ๐Ÿš€ **Try iApp Generator** - -- [Getting Started](/build_iapp/iapp-generator/getting-started) - Deploy your - first iApp in 15 minutes -- [Building Your iExec App](/build_iapp/iapp-generator/building-your-iexec-app) - - Complete development guide - -### ๐Ÿ“– **Learn with Guides** - -- [Orders](/build_iapp/guides/orders) - How iApp execution works -- [Inputs and Outputs](/build_iapp/guides/inputs-and-outputs) - Handle data flow -- [Debugging Your iApp](/build_iapp/guides/debugging-your-iapp) - Troubleshoot - issues - -### ๐ŸŽฏ **See iApps in Action** +
-Real iApps you can use today: +
+
+
๐Ÿ“š
+
+ Learn More - iApp Generator: + Complete DataProtector Documentation +
+
+
+
๐Ÿš€
+
+ Getting Started - deploy your first iApp: + DataProtector Quick Start Guide +
+
+
-- [Web3Mail](/use_iapp/web3mail) - Private emailing iApp SDK -- [Web3Telegram](/use_iapp/web3telegram) Private messaging iApp SDK -- [Oracle Factory](/use_iapp/oracle-factory) - Decentralized oracles +
--- From 6f44adff8e4594eca74d76cce1ded9a6f62e4202 Mon Sep 17 00:00:00 2001 From: akugone Date: Thu, 7 Aug 2025 17:17:02 +0200 Subject: [PATCH 20/21] fix: enhance iApp documentation for improved clarity and user experience - Revised the iApp Generator section to clarify the process of building TEE-compatible applications, emphasizing ease of access and deployment. - Improved the language for selecting project modes and languages, making it more user-friendly and accessible for developers of varying experience levels. --- src/build-iapp/guides/build-&-deploy-iapp.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/build-iapp/guides/build-&-deploy-iapp.md b/src/build-iapp/guides/build-&-deploy-iapp.md index 0ceed3d..fc17c40 100644 --- a/src/build-iapp/guides/build-&-deploy-iapp.md +++ b/src/build-iapp/guides/build-&-deploy-iapp.md @@ -4,19 +4,18 @@ description: How to build an confidential iexec application and deploy it on iexec protocol --- - ## iApp Generator: Your Development Tool Bootstrap TEE-compatible applications in minutes without any hardcoding skills, iApp Generator handles all the low-level complexity for you. - **Access to TEEs easily** - No need to dive into low-level requirements, build - iApps that connect to TEE in minutes + iApps that connect to TEEs in minutes. - **Check and deploy iApps quickly** - iApp Generator checks that your iApp - complies with the iExec Framework and streamlines its deployment -- **Select your project mode & language** - Select between basic or advanced - setup depending on your iExec level experience. You also have the choice - between Python or JavaScript + complies with the iExec Framework and streamlines its deployment. +- **Select your project mode & language** - Get started with either a basic or + advanced setup, depending on your experience with the iExec framework. You can + use Python or JavaScriptโ€”whichever you prefer! ```bash # Create your iApp (Python or Node.js supported) From 4de4349c542a2b58ff0b4965e0a68898859447e6 Mon Sep 17 00:00:00 2001 From: akugone Date: Thu, 7 Aug 2025 17:29:14 +0200 Subject: [PATCH 21/21] fix: update iApp documentation for improved accuracy and clarity - Changed "Verifiable Execution" to "Trusted Execution" to reflect the use of Trusted Execution Environments (TEEs) for secure code execution. - Revised the description of "Zero Trust Architecture" to emphasize hardware-based TEEs for data protection. - Updated terminology from "personal data" to "private data" for consistency and clarity. - Enhanced real-world examples of iApps with additional context and code snippets in both Python and Node.js, ensuring better understanding of their functionality and privacy preservation. --- src/build-iapp/guides/build-&-deploy-iapp.md | 68 +++++++++++++++++--- src/build-iapp/what-is-iapp.md | 10 +-- 2 files changed, 64 insertions(+), 14 deletions(-) diff --git a/src/build-iapp/guides/build-&-deploy-iapp.md b/src/build-iapp/guides/build-&-deploy-iapp.md index fc17c40..2769716 100644 --- a/src/build-iapp/guides/build-&-deploy-iapp.md +++ b/src/build-iapp/guides/build-&-deploy-iapp.md @@ -34,19 +34,43 @@ iapp deploy ## Real Examples +Here are some real-world examples of iApps to help you understand how they work +in practice. + **Email Notification iApp** -```python +This iApp lets you send updates to your contacts without ever seeing their email +addresses, privacy is preserved by design. + +::: code-group + +```python [Python] # User runs: "Send updates to my contacts about my project" contacts = load_protecteddata() # User's protected contact list for contact in contacts: - send_email(contact, project_update_message) + send_email(contact, project_update_message) # โ†’ Emails sent directly, you never see the addresses ``` +```js [Node.js] +/* User runs: "Send updates to my contacts about my project" */ +const contacts = loadProtectedData(); // User's protected contact list +contacts.forEach((contact) => { + sendEmail(contact, projectUpdateMessage); +}); +// โ†’ Emails sent directly, you never see the addresses +``` + +::: + **Oracle Update iApp** -```python +This iApp securely updates a price oracle using private trading data, ensuring +sensitive information stays confidential. + +::: code-group + +```python [Python] # User runs: "Update price oracle with my private trading data" trading_data = load_protecteddata() # User's protected trading history average_price = calculate_weighted_average(trading_data) @@ -54,12 +78,38 @@ update_oracle_contract(average_price) # โ†’ Oracle updated with real data, trading history stays private ``` +```js [Node.js] +/* User runs: "Update price oracle with my private trading data" */ +const tradingData = loadProtectedData(); // User's protected trading history +const averagePrice = calculateWeightedAverage(tradingData); +updateOracleContract(averagePrice); +// โ†’ Oracle updated with real data, trading history stays private +``` + +::: + **Automated Transactions iApp** -```python -# User runs: "Buy tokens when my portfolio meets certain conditions" -portfolio = load_protecteddata() # User's protected portfolio data -if should_buy_tokens(portfolio): - execute_trade(token_address, amount) -# โ†’ Trade executed based on private data, portfolio details stay hidden +This iApp automates monthly payments using protected payment details, so +financial information remains private. + +::: code-group + +```python [Python] +# User runs: "Automate payments every month" +payment_info = load_protecteddata() # User's payment details +for month in range(12): + process_payment(payment_info) +# โ†’ Payments processed, payment details stay private +``` + +```js [Node.js] +/* User runs: "Automate payments every month" */ +const paymentInfo = loadProtectedData(); // User's payment details +for (let month = 0; month < 12; month++) { + processPayment(paymentInfo); +} +// โ†’ Payments processed, payment details stay private ``` + +::: diff --git a/src/build-iapp/what-is-iapp.md b/src/build-iapp/what-is-iapp.md index f1e7140..ff13237 100644 --- a/src/build-iapp/what-is-iapp.md +++ b/src/build-iapp/what-is-iapp.md @@ -49,7 +49,7 @@ they will.**
โœ… -

Verifiable Execution: Cryptographic proof that your code ran exactly as intended. No black box execution.

+

Trusted Execution: iExec ensures that your code runs inside a Trusted Execution Environment (TEE), which guarantees that only the specified Docker image is executed in a secure and isolated environment.

โœ… @@ -57,7 +57,7 @@ they will.**
โœ… -

Zero Trust Architecture: Users don't need to trust you with their data. The protocol guarantees privacy.

+

Zero Trust Architecture: User data is protected by hardware-based TEEs, which keep data confidential and inaccessible to the host, cloud provider, or operating system during execution.

@@ -75,7 +75,7 @@ to the person running the app.
1 - User provides personal data + User provides private data
2 @@ -129,7 +129,7 @@ preserved. ๐Ÿค–

Personal AI Assistants

-

Users let AI models perform actions based on their private data - trading, scheduling, recommendations.

+

Users let AI models perform actions based on their private data - trading, scheduling, recommendations...

@@ -137,7 +137,7 @@ preserved. โšก

Automated Actions

-

Users set up automated workflows that use their private data to trigger actions, transactions, or updates.

+

Users let AI models perform actions based on their private data - trading, scheduling, recommendations...