Skip to content

Commit ed8c4b6

Browse files
committed
Release v1.0.1
0 parents  commit ed8c4b6

6 files changed

Lines changed: 698 additions & 0 deletions

File tree

ByteHideMonitor.podspec

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
Pod::Spec.new do |s|
2+
s.name = "ByteHideMonitor"
3+
s.version = "1.0.1"
4+
s.summary = "Runtime Application Self-Protection (RASP) for iOS"
5+
s.description = <<-DESC
6+
ByteHide Monitor provides runtime protection for iOS applications:
7+
- Anti-debugging and anti-tampering
8+
- Jailbreak and simulator detection
9+
- Memory dump and code injection protection
10+
- Screen recording and overlay detection
11+
- Network security monitoring
12+
- Hardware binding and license validation
13+
14+
Zero-code integration with automatic initialization.
15+
DESC
16+
17+
s.homepage = "https://www.bytehide.com/products/monitor"
18+
s.documentation_url = "https://docs.bytehide.com/monitor/ios"
19+
s.license = { :type => "Commercial", :file => "LICENSE.txt" }
20+
s.author = { "ByteHide" => "support@bytehide.com" }
21+
22+
s.platform = :ios, "12.0"
23+
s.ios.deployment_target = "12.0"
24+
s.swift_version = "5.0"
25+
26+
s.source = {
27+
:http => "https://github.com/bytehide/ByteHideMonitor-iOS/releases/download/v1.0.1/ByteHideMonitor.xcframework.zip",
28+
:type => "zip"
29+
}
30+
31+
s.vendored_frameworks = "ByteHideMonitor.xcframework"
32+
33+
s.preserve_paths = [
34+
"Scripts/validate-license.sh",
35+
"LICENSE.txt"
36+
]
37+
38+
s.frameworks = "Foundation", "UIKit", "Security"
39+
s.requires_arc = true
40+
s.static_framework = false
41+
s.module_name = "ByteHideMonitor"
42+
end

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Changelog
2+
3+
All notable changes to ByteHide Monitor iOS will be documented in this file.
4+
5+
## [1.0.1] - 2026-03-10
6+
7+
### Added
8+
- Initial iOS release
9+
- CocoaPods and Swift Package Manager support
10+
- Auto-initialization via +load() (zero code required)
11+
- Build-time license validation with JWT signatures
12+
- Runtime protection modules:
13+
- Debugger detection (native + P_TRACED)
14+
- Jailbreak detection (files, URLs, sandbox, symlinks)
15+
- Clock tampering detection
16+
- Memory dump detection
17+
- Simulator detection
18+
- App tampering detection
19+
- Network tampering detection (SSL proxies, VPNs)
20+
- Process injection detection
21+
- Library injection detection (DYLD)
22+
- Screen recording detection
23+
- Screenshot detection
24+
- UI overlay detection
25+
- Hardware binding validation
26+
- Keychain integrity detection
27+
- Configurable actions: Close, Erase, Log, NoOp, Custom
28+
- JSON configuration support (monitor-config.json)
29+
- Info.plist configuration support
30+
- Environment variable configuration (BYTEHIDE_TOKEN)
31+
- Cloud configuration sync
32+
- Offline mode with local protection
33+
- Heartbeat monitoring
34+
- Incident queue with batch reporting

LICENSE.txt

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
BYTEHIDE MONITOR - PROPRIETARY SOFTWARE LICENSE AGREEMENT
2+
==========================================================
3+
4+
Copyright (c) 2024-2025 ByteHide Solutions S.L. All Rights Reserved.
5+
6+
IMPORTANT: READ CAREFULLY BEFORE USING THIS SOFTWARE.
7+
8+
This ByteHide Monitor Software License Agreement ("Agreement") is a legal
9+
agreement between you (either an individual or a single entity, "Licensee")
10+
and ByteHide Solutions S.L., a company incorporated in Spain ("ByteHide",
11+
"Licensor", "we", "us", or "our").
12+
13+
BY INSTALLING, COPYING, OR OTHERWISE USING THIS SOFTWARE, YOU ACKNOWLEDGE
14+
THAT YOU HAVE READ, UNDERSTOOD, AND AGREE TO BE BOUND BY THE TERMS OF THIS
15+
AGREEMENT. IF YOU DO NOT AGREE, DO NOT INSTALL OR USE THE SOFTWARE.
16+
17+
1. GRANT OF LICENSE
18+
-------------------
19+
Subject to the terms of this Agreement and a valid, active subscription or
20+
authorized Proof of Concept ("PoC") agreement with ByteHide Solutions S.L.,
21+
ByteHide grants you a limited, non-exclusive, non-transferable, revocable
22+
license to:
23+
24+
a) Install and use this software solely in applications for which you
25+
have obtained a valid ByteHide Monitor license token.
26+
27+
b) Use the software only during the term of your active subscription or
28+
authorized PoC period.
29+
30+
2. LICENSE RESTRICTIONS
31+
-----------------------
32+
You may NOT:
33+
34+
a) Use this software without a valid subscription or authorized PoC
35+
agreement with ByteHide Solutions S.L.
36+
37+
b) Reverse engineer, decompile, disassemble, or attempt to derive the
38+
source code of the software, in whole or in part.
39+
40+
c) Modify, adapt, translate, or create derivative works based on the
41+
software.
42+
43+
d) Redistribute, sublicense, rent, lease, lend, sell, or transfer the
44+
software or any rights therein to any third party.
45+
46+
e) Remove, alter, or obscure any proprietary notices, labels, or marks
47+
on the software.
48+
49+
f) Use the software in any application or project that is not covered
50+
by a valid ByteHide license.
51+
52+
g) Use the software to develop competing products or services.
53+
54+
h) Share, publish, or disclose your license token or access credentials
55+
to any third party.
56+
57+
i) Circumvent, disable, or interfere with any license validation,
58+
security features, or usage restrictions in the software.
59+
60+
j) Use the software for any unlawful purpose or in violation of any
61+
applicable laws or regulations.
62+
63+
3. INTELLECTUAL PROPERTY
64+
------------------------
65+
The software, including all copies, modifications, and derivative works,
66+
is and shall remain the exclusive property of ByteHide Solutions S.L.
67+
This Agreement does not grant you any rights to patents, copyrights,
68+
trade secrets, trade names, trademarks, or any other intellectual property
69+
rights of ByteHide.
70+
71+
All rights not expressly granted herein are reserved by ByteHide.
72+
73+
4. CONFIDENTIALITY
74+
------------------
75+
The software contains proprietary and confidential information of ByteHide.
76+
You agree to maintain the confidentiality of the software and not to
77+
disclose any part of it to any third party without prior written consent
78+
from ByteHide.
79+
80+
5. SUBSCRIPTION AND AUTHORIZATION
81+
---------------------------------
82+
a) SUBSCRIPTION: Use of this software requires an active, paid
83+
subscription to ByteHide Monitor services. Your license automatically
84+
terminates upon expiration or cancellation of your subscription.
85+
86+
b) PROOF OF CONCEPT (PoC): ByteHide may authorize limited-time PoC
87+
agreements for evaluation purposes. PoC licenses are strictly
88+
time-limited and may have additional restrictions.
89+
90+
c) LICENSE VALIDATION: The software may connect to ByteHide servers to
91+
validate your license. Tampering with license validation mechanisms
92+
is strictly prohibited and will result in immediate termination of
93+
your license.
94+
95+
6. AUDIT RIGHTS
96+
---------------
97+
ByteHide reserves the right to audit your use of the software to verify
98+
compliance with this Agreement. You agree to cooperate with such audits
99+
and provide reasonable access to relevant records and systems.
100+
101+
7. TERMINATION
102+
--------------
103+
a) This license is effective until terminated.
104+
105+
b) ByteHide may terminate this license immediately if you breach any
106+
term of this Agreement.
107+
108+
c) Upon termination, you must immediately cease all use of the software
109+
and destroy all copies in your possession.
110+
111+
d) Sections 2, 3, 4, 8, 9, 10, and 11 shall survive termination.
112+
113+
8. DISCLAIMER OF WARRANTIES
114+
---------------------------
115+
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
116+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
117+
FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT. BYTEHIDE
118+
DOES NOT WARRANT THAT THE SOFTWARE WILL BE ERROR-FREE, SECURE, OR
119+
UNINTERRUPTED.
120+
121+
9. LIMITATION OF LIABILITY
122+
--------------------------
123+
IN NO EVENT SHALL BYTEHIDE BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
124+
CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO LOSS OF
125+
PROFITS, DATA, BUSINESS, OR GOODWILL, ARISING OUT OF OR IN CONNECTION WITH
126+
THIS AGREEMENT OR THE USE OF THE SOFTWARE, EVEN IF BYTEHIDE HAS BEEN ADVISED
127+
OF THE POSSIBILITY OF SUCH DAMAGES.
128+
129+
BYTEHIDE'S TOTAL LIABILITY SHALL NOT EXCEED THE AMOUNTS PAID BY YOU FOR THE
130+
SOFTWARE DURING THE TWELVE (12) MONTHS PRECEDING THE CLAIM.
131+
132+
10. INDEMNIFICATION
133+
-------------------
134+
You agree to indemnify, defend, and hold harmless ByteHide and its officers,
135+
directors, employees, and agents from any claims, damages, losses, or
136+
expenses (including reasonable attorneys' fees) arising from your use of
137+
the software or violation of this Agreement.
138+
139+
11. GOVERNING LAW AND JURISDICTION
140+
----------------------------------
141+
This Agreement shall be governed by and construed in accordance with the
142+
laws of Spain, without regard to its conflict of laws principles. Any
143+
disputes arising under this Agreement shall be subject to the exclusive
144+
jurisdiction of the courts of Spain.
145+
146+
12. ENTIRE AGREEMENT
147+
--------------------
148+
This Agreement constitutes the entire agreement between you and ByteHide
149+
regarding the software and supersedes all prior agreements, representations,
150+
and understandings.
151+
152+
13. MODIFICATIONS
153+
-----------------
154+
ByteHide reserves the right to modify this Agreement at any time. Continued
155+
use of the software after such modifications constitutes acceptance of the
156+
modified terms.
157+
158+
14. SEVERABILITY
159+
----------------
160+
If any provision of this Agreement is held invalid or unenforceable, the
161+
remaining provisions shall continue in full force and effect.
162+
163+
15. CONTACT INFORMATION
164+
-----------------------
165+
For licensing inquiries or to report violations:
166+
167+
ByteHide Solutions S.L.
168+
Email: legal@bytehide.com
169+
Website: https://www.bytehide.com
170+
171+
================================================================================
172+
BY USING THIS SOFTWARE, YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT,
173+
UNDERSTAND IT, AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
174+
================================================================================

Package.swift

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// swift-tools-version:5.6
2+
3+
import PackageDescription
4+
5+
let package = Package(
6+
name: "ByteHideMonitor",
7+
platforms: [
8+
.iOS(.v12)
9+
],
10+
products: [
11+
.library(
12+
name: "ByteHideMonitor",
13+
targets: ["ByteHideMonitor"]
14+
)
15+
],
16+
targets: [
17+
.binaryTarget(
18+
name: "ByteHideMonitor",
19+
url: "https://github.com/bytehide/ByteHideMonitor-iOS/releases/download/v1.0.1/ByteHideMonitor.xcframework.zip",
20+
checksum: "93d180518201aa31260f4ebaa0e91a0c06f05cfdb181f6423ccac40b181f2176"
21+
)
22+
]
23+
)

README.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# ByteHide Monitor - iOS
2+
3+
Runtime Application Self-Protection (RASP) for iOS applications.
4+
5+
## Installation
6+
7+
ByteHide Monitor supports both **CocoaPods** and **Swift Package Manager**.
8+
9+
### CocoaPods (Recommended - Zero Config)
10+
11+
```ruby
12+
pod 'ByteHideMonitor', '~> 1.0.0'
13+
```
14+
15+
Then run:
16+
```bash
17+
pod install
18+
```
19+
20+
**Done!** Build-time validation runs automatically.
21+
22+
### Swift Package Manager (One-Time Setup)
23+
24+
See [README-SPM.md](./README-SPM.md) for detailed instructions.
25+
26+
> **Note:** SPM requires running a one-time setup script due to Apple's architecture limitations.
27+
28+
## Quick Start
29+
30+
ByteHide Monitor **auto-initializes** - no code required!
31+
32+
Just configure your token and build:
33+
34+
### Option 1: Environment Variable
35+
36+
1. Edit Scheme → Run → Environment Variables
37+
2. Add: `BYTEHIDE_TOKEN` = `your-token-here`
38+
39+
### Option 2: Info.plist
40+
41+
```xml
42+
<key>ByteHideMonitor</key>
43+
<dict>
44+
<key>APIToken</key>
45+
<string>${BYTEHIDE_TOKEN}</string>
46+
</dict>
47+
```
48+
49+
### Option 3: JSON Configuration
50+
51+
Create `monitor-config.json`:
52+
53+
```json
54+
{
55+
"apiToken": "${BYTEHIDE_TOKEN}",
56+
"protections": [
57+
{
58+
"type": "DebuggerDetection",
59+
"action": "close",
60+
"intervalMs": 60000
61+
}
62+
]
63+
}
64+
```
65+
66+
## Documentation
67+
68+
- **[Integration Guide](./docs/INTEGRATION-GUIDE.md)** - Complete setup guide
69+
- **[CocoaPods Implementation](./COCOAPODS_IMPLEMENTATION.md)** - Technical details for CocoaPods
70+
- **[SPM Guide](./README-SPM.md)** - Swift Package Manager setup
71+
- **[SPM Implementation](./SPM-IMPLEMENTATION.md)** - Technical details for SPM
72+
73+
## Features
74+
75+
-**Zero-code auto-initialization** - Works via `+load()` before `main()`
76+
-**Build-time license validation** - Validates token during compilation
77+
-**Runtime protections** - Debugger, jailbreak, clock tampering detection
78+
-**Custom actions** - Define your own threat responses
79+
-**Cloud configuration** - Remote protection updates
80+
-**Offline mode** - Works without network connection
81+
-**JSON configuration** - Flexible setup options
82+
83+
## How It Works
84+
85+
### Build Time (Automatic)
86+
87+
1. CocoaPods/SPM build script runs
88+
2. Reads token from environment/Info.plist/JSON
89+
3. Validates token with ByteHide API
90+
4. Downloads JWT signature
91+
5. Saves `monitor.sig` to app bundle
92+
93+
### Runtime (Automatic)
94+
95+
1. `+load()` executes before `main()`
96+
2. Reads `monitor.sig` from app bundle
97+
3. Validates JWT signature
98+
4. Initializes protection modules
99+
5. Starts threat detection
100+
101+
**No code required** - everything is automatic!
102+
103+
## Requirements
104+
105+
- iOS 12.0+
106+
- Xcode 13.0+
107+
- CocoaPods 1.10+ OR Swift Package Manager 5.6+
108+
109+
## Support
110+
111+
- 📧 Email: support@bytehide.com
112+
- 💬 Discord: [discord.gg/bytehide](https://discord.gg/bytehide)
113+
- 📚 Docs: [docs.bytehide.com](https://docs.bytehide.com)
114+
- 🐛 Issues: [github.com/bytehide/monitor-ios/issues](https://github.com/bytehide/monitor-ios/issues)
115+
116+
## License
117+
118+
Proprietary - Requires valid ByteHide subscription.
119+
120+
---
121+
122+
**ByteHide Monitor** - Enterprise-grade RASP for iOS

0 commit comments

Comments
 (0)