Resource Encryption
Protection ID: resource_encryption
Resource Encryption encrypts the bundled assets and resource files in your IPA, including compiled asset catalogs, property lists, storyboards, and other resources. This prevents extraction tools from accessing these files in their original form.
Configuration
{
"protections": {
"resource_encryption": true
}
}{
"protections": {
"resource_encryption": true
}
}How It Works
iOS applications bundle resources like Assets.car (compiled asset catalogs), .plist files, .storyboardc files, and other data files inside the IPA. These resources are trivially extractable by unzipping the IPA and browsing the .app bundle. This can reveal images, configuration values, UI structure, localized strings, and embedded data.
Resource Encryption encrypts these resources so that extracting the IPA no longer provides readable copies. The resources are decrypted transparently at runtime when your application accesses them.
What Gets Protected
| Resource Type | Description |
|---|---|
| Asset catalogs | Compiled Assets.car files containing images and data assets |
| Property lists | .plist configuration and settings files |
| Storyboards | Compiled .storyboardc files revealing UI structure |
| Embedded data | Databases, ML models, and other bundled files |
When to Use
Resource Encryption is recommended for applications that embed sensitive configuration files, proprietary assets such as ML models or databases, UI designs that reveal business logic, or any data files that should not be easily extractable from the IPA.
Related
- String Encryption - Encrypt string literals in code
- Class Encryption - Encrypt Objective-C metadata
- Protections Overview - All available protections