Documentation

Go to Portal Website

Reduce Swift Reflection Metadata

PlanPlatformsMASVS
TeamiOSMASVS-RESILIENCE-3

Overview

Reduce Swift Reflection Metadata reduces readable Swift reflection metadata in protected iOS builds. Use it to limit field names, type strings, and structural details that may otherwise be visible through static inspection or runtime introspection.

Swift metadata can reveal model names, fields, internal types, and app architecture even when debug symbols are removed. This control helps reduce that disclosure while preserving supported runtime behavior.

How It Works

During protected build creation, AppTego identifies supported Swift reflection metadata and reduces what is exposed in the shipped protected artifact. The protected app keeps metadata needed for normal execution while minimizing information that mainly helps analysis.

This is a build-time control. You must rebuild and redistribute the app for changes to take effect.

How to Enable the Control

Navigate to Code Obfuscation from the AppTego portal, and expand the Metadata Reduction section. Under this section you will find the Reduce Swift Reflection Metadata control. Click Enable to apply it to the next protected build.

API Configuration Example

{
  "StripSwiftReflection": {
    "protection": true
  }
}
FieldPurpose
protectionEnables reduce swift reflection metadata for protected builds.

Use When

Use caseWhy it helps
Swift-heavy appsReduces readable Swift type and field information in release artifacts.
Apps with sensitive modelsLimits exposure of domain objects, internal state names, and workflow structure.
Framework-based appsHelps reduce metadata exposure from app frameworks and supported modules.
iOS hardening profilesComplements Objective-C metadata reduction, symbol stripping, and string protection.

Rollout Guidance

  1. Enable the control in Development.
  2. Build a protected IPA.
  3. Test Codable models, reflection-heavy code, dependency injection, analytics mapping, crash reporting, deep links, and any framework that relies on Swift type names.
  4. Validate core workflows on physical devices.
  5. Promote through Staging after QA confirms normal behavior.

Compatibility Notes

Support Matrix

PlatformSupported VersionsNotes
AndroidNot supportedAndroid code metadata is handled by Android obfuscation controls.
iOSAll versionsReduces supported Swift reflection metadata during protected build processing.