Metadata-Version: 2.4
Name: bytehide-shield-ios
Version: 1.0.8
Summary: iOS application protection: obfuscation, encryption, and runtime security for .ipa files
Author-email: "ByteHide Solutions S.L." <contact@bytehide.com>
License: Proprietary
Project-URL: Homepage, https://www.bytehide.com
Project-URL: Documentation, https://docs.bytehide.com/platforms/ios/products/shield
Keywords: ios,obfuscation,security,protection,mobile-security,app-protection,reverse-engineering
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Security
Classifier: Topic :: Security :: Cryptography
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: lief>=0.14.0
Requires-Dist: click>=8.1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: colorama>=0.4.6
Requires-Dist: pycryptodome>=3.19.0
Requires-Dist: requests>=2.31.0
Requires-Dist: urllib3>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Dynamic: license-file

# ByteHide Shield for iOS

**Enterprise-grade protection for iOS applications.** Shield for iOS secures your `.ipa` binaries against reverse engineering, tampering, debugging, and runtime attacks — all as a post-build step, with no source code changes required.

[![PyPI](https://img.shields.io/pypi/v/bytehide-shield-ios)](https://pypi.org/project/bytehide-shield-ios/)
[![Python](https://img.shields.io/pypi/pyversions/bytehide-shield-ios)](https://pypi.org/project/bytehide-shield-ios/)
[![License](https://img.shields.io/badge/license-Proprietary-blue)](https://www.bytehide.com)

## Installation

```bash
pip install bytehide-shield-ios
```

## Quick Start

```bash
# 1. Initialize configuration
shield-ios init

# 2. Add your project token to shield-ios.json

# 3. Protect your app
shield-ios protect MyApp.ipa
```

A valid [ByteHide](https://www.bytehide.com) project token is required. See the [documentation](https://docs.bytehide.com/platforms/ios/products/shield) to get started.

## Protections

| Protection | Description |
|---|---|
| **Anti-Debug** | Prevents debugger attachment via ptrace, sysctl, and process inspection |
| **Anti-Jailbreak** | Detects jailbroken environments with configurable sensitivity levels |
| **String Encryption** | Encrypts string constants in the binary with runtime decryption |
| **Symbol Renaming** | Renames classes, methods, and properties to strip meaningful identifiers |
| **Swift Symbol Stripping** | Removes Swift metadata, debug symbols, and reflection info |
| **Control Flow Obfuscation** | Restructures code logic to resist static analysis |
| **Class Encryption** | Encrypts Objective-C class metadata |
| **Resource Encryption** | Encrypts bundled assets, plists, storyboards, and nibs (AES-256) |
| **RASP** | Runtime Application Self-Protection — see [ByteHide Monitor](https://docs.bytehide.com/platforms/ios/products/monitor) |

## Configuration

Create a `shield-ios.json` in your project directory:

```json
{
  "projectToken": "your-token-here",
  "protections": {
    "anti_debug": true,
    "anti_jailbreak": {
      "enabled": true,
      "sensitivity": 1
    },
    "string_encryption": true,
    "symbol_renaming": true,
    "swift_stripping": true,
    "control_flow": "light",
    "resource_encryption": true
  }
}
```

## CLI Reference

```
shield-ios protect <input.ipa> [--output <output.ipa>] [--config <config.json>] [-v]
shield-ios init
shield-ios version
```

## Requirements

- Python 3.9 or later
- macOS (recommended for code signing) or Linux
- Active ByteHide subscription

## Documentation

Full documentation, guides, and API reference:

**[docs.bytehide.com/platforms/ios/products/shield](https://docs.bytehide.com/platforms/ios/products/shield)**

## License

This software is proprietary and requires a commercial license. See [LICENSE](LICENSE) for details.

Copyright 2024-2026 [ByteHide Solutions S.L.](https://www.bytehide.com) All rights reserved.
