|
| 1 | +--- |
| 2 | +title: What is an iApp? |
| 3 | +description: |
| 4 | + Learn about iExec Applications (iApp) - confidential computing apps that |
| 5 | + process sensitive data in secure TEE environments. Build privacy-preserving |
| 6 | + AI, data analysis, and Web3 apps. |
| 7 | +--- |
| 8 | + |
| 9 | +<script setup> |
| 10 | +import Banner from '../../components/Banner.vue' |
| 11 | +import CardWithBorder from '@/components/CardWithBorder.vue'; |
| 12 | +import CardGrid from '@/components/CardGrid.vue'; |
| 13 | +import CardWithoutBorder from '@/components/CardWithoutBorder.vue'; |
| 14 | +</script> |
| 15 | + |
| 16 | +# What is an iApp? |
| 17 | + |
| 18 | +An iExec Application (iApp) is an application that runs inside a confidential |
| 19 | +environment (TEEs) to process Protected Data (created with DataProtector). |
| 20 | + |
| 21 | +Your Python scripts, AI models, or data processors can securely process |
| 22 | +protected data inside a TEE. |
| 23 | + |
| 24 | +## Why iApp Matters? |
| 25 | + |
| 26 | +iApps provide privacy capabilities, allowing you to process sensitive data while |
| 27 | +keeping it private and secure. |
| 28 | + |
| 29 | +Imagine you want to build: |
| 30 | + |
| 31 | +<CardWithoutBorder> |
| 32 | + |
| 33 | +- An AI that analyzes personal health data |
| 34 | +- An email tool that needs access to contact lists |
| 35 | +- A financial advisor that processes bank statements |
| 36 | +- A content filter that reads private messages |
| 37 | + |
| 38 | +</CardWithoutBorder> |
| 39 | + |
| 40 | +Users have this data, but they won't trust your regular app with it. **With |
| 41 | +Privacy iApps, they will.** |
| 42 | + |
| 43 | +**You gain their trust. They gain their privacy. Everyone wins.** |
| 44 | + |
| 45 | +## Key Concepts |
| 46 | + |
| 47 | +<CardWithBorder> |
| 48 | + |
| 49 | +✅ **True Privacy:** Users never expose their raw data. Your app processes it |
| 50 | +privately inside secure enclaves. |
| 51 | + |
| 52 | +✅ **Trusted Execution:** iExec ensures your code runs inside a Trusted |
| 53 | +Execution Environment (TEE), guaranteeing only the specified Docker image |
| 54 | +executes in a secure, isolated environment. |
| 55 | + |
| 56 | +✅ **Decentralized Infrastructure:** No single point of failure. Your app runs |
| 57 | +across a distributed network of workers. |
| 58 | + |
| 59 | +✅ **Zero Trust Architecture:** User data is protected by hardware-based TEEs, |
| 60 | +keeping data confidential and inaccessible to the host, cloud provider, or |
| 61 | +operating system during execution. |
| 62 | + |
| 63 | +</CardWithBorder> |
| 64 | + |
| 65 | +## How it Works |
| 66 | + |
| 67 | +Your code runs in a Trusted Execution Environment (TEE). This secure area exists |
| 68 | +inside specific processors (Intel Software Guard Extensions (SGX) or Trust |
| 69 | +Domain Extensions (TDX) chipsets). Everything stays private and protected there, |
| 70 | +even from the operating system. |
| 71 | + |
| 72 | +Authorized users trigger an iApp that processes protected data inside this |
| 73 | +private environment. Your iApp uses the data but never exposes it, not even to |
| 74 | +you. |
| 75 | + |
| 76 | +<CardWithBorder> |
| 77 | + |
| 78 | +1. User provides private data |
| 79 | +2. Data is protected with DataProtector |
| 80 | +3. You build and deploy a confidential iApp that processes protected data |
| 81 | +4. Run the iApp with the corresponding protected data, performing confidential |
| 82 | + computing |
| 83 | + |
| 84 | +</CardWithBorder> |
| 85 | + |
| 86 | +Your iApp can send emails, update contracts, make transactions, trigger |
| 87 | +notifications - anything your code needs. This isn't about trust. We provide |
| 88 | +**cryptographic and hardware-enforced guarantees** that preserve privacy within |
| 89 | +the TEE execution environment. |
| 90 | + |
| 91 | +## Use Cases |
| 92 | + |
| 93 | +<CardGrid> |
| 94 | + <CardWithoutBorder> |
| 95 | + |
| 96 | +### Healthcare |
| 97 | + |
| 98 | +Process medical data for AI diagnosis without exposing patient information |
| 99 | + |
| 100 | + </CardWithoutBorder> |
| 101 | + |
| 102 | + <CardWithoutBorder> |
| 103 | + |
| 104 | +### Finance |
| 105 | + |
| 106 | +Analyze financial data for credit scoring while maintaining privacy |
| 107 | + |
| 108 | + </CardWithoutBorder> |
| 109 | + |
| 110 | + <CardWithoutBorder> |
| 111 | + |
| 112 | +### Media |
| 113 | + |
| 114 | +Content recommendation engines that don't track user behavior |
| 115 | + |
| 116 | + </CardWithoutBorder> |
| 117 | + |
| 118 | + <CardWithoutBorder> |
| 119 | + |
| 120 | +### Research |
| 121 | + |
| 122 | +Collaborative research on sensitive datasets across institutions |
| 123 | + |
| 124 | + </CardWithoutBorder> |
| 125 | + |
| 126 | +</CardGrid> |
| 127 | + |
| 128 | +## Getting Started |
| 129 | + |
| 130 | +<Banner> |
| 131 | + |
| 132 | +## Time to build |
| 133 | + |
| 134 | +Let's build an iApp that can process protected data in a secure environment |
| 135 | +using the [iExec iApp generator tool](/references/iapp-generator). This tool |
| 136 | +helps you create, test and deploy iApps with just a few commands. |
| 137 | + |
| 138 | +</Banner> |
| 139 | + |
| 140 | +### Quick Start Path |
| 141 | + |
| 142 | +1. **Protect your data** with [DataProtector](/references/dataProtector) |
| 143 | +2. **Build your iApp** using the [iApp Generator](/references/iapp-generator) |
| 144 | +3. **Deploy and test** your application |
| 145 | +4. **Process protected data** securely |
| 146 | + |
| 147 | +### What You'll Learn |
| 148 | + |
| 149 | +- How to create a Docker container for your application |
| 150 | +- How to handle inputs and outputs securely |
| 151 | +- How to deploy to the iExec network |
| 152 | +- How to process protected data in TEE environments |
| 153 | + |
| 154 | +::: tip |
| 155 | + |
| 156 | +These are just a few examples, the possibilities are endless. Want to explore |
| 157 | +iApp Generator? Check out our [documentation](/references/iapp-generator) and |
| 158 | +see what you can build! |
| 159 | + |
| 160 | +::: |
| 161 | + |
| 162 | +## Technical Requirements |
| 163 | + |
| 164 | +- **Docker**: Your application must be containerized |
| 165 | +- **Input/Output**: Define clear input and output schemas |
| 166 | +- **TEE Compatibility**: Ensure your code runs in secure enclaves |
| 167 | +- **Network Access**: Configure any external API calls or dependencies |
| 168 | + |
| 169 | +## Next Steps |
| 170 | + |
| 171 | +Ready to build your first privacy-preserving application? Start with our |
| 172 | +[Hello World tutorial](/get-started/helloWorld) or dive into the |
| 173 | +[iApp Generator documentation](/references/iapp-generator). |
| 174 | + |
| 175 | +For more technical details, see the |
| 176 | +[DataProtector Sharing](/references/dataProtector/dataProtectorSharing) |
| 177 | +documentation. |
0 commit comments