@cap-kit/integrity 8.0.0-next.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CapKitIntegrity.podspec +17 -0
- package/LICENSE +21 -0
- package/Package.swift +26 -0
- package/README.md +1104 -0
- package/android/build.gradle +104 -0
- package/android/src/main/AndroidManifest.xml +21 -0
- package/android/src/main/java/io/capkit/integrity/IntegrityCheckOptions.kt +37 -0
- package/android/src/main/java/io/capkit/integrity/IntegrityConfig.kt +59 -0
- package/android/src/main/java/io/capkit/integrity/IntegrityError.kt +40 -0
- package/android/src/main/java/io/capkit/integrity/IntegrityImpl.kt +319 -0
- package/android/src/main/java/io/capkit/integrity/IntegrityPlugin.kt +475 -0
- package/android/src/main/java/io/capkit/integrity/IntegrityReportBuilder.kt +130 -0
- package/android/src/main/java/io/capkit/integrity/IntegritySignalBuilder.kt +72 -0
- package/android/src/main/java/io/capkit/integrity/emulator/IntegrityEmulatorChecks.kt +38 -0
- package/android/src/main/java/io/capkit/integrity/filesystem/IntegrityFilesystemChecks.kt +51 -0
- package/android/src/main/java/io/capkit/integrity/hook/IntegrityHookChecks.kt +61 -0
- package/android/src/main/java/io/capkit/integrity/remote/IntegrityRemoteAttestor.kt +49 -0
- package/android/src/main/java/io/capkit/integrity/root/IntegrityRootDetector.kt +136 -0
- package/android/src/main/java/io/capkit/integrity/runtime/IntegrityRuntimeChecks.kt +87 -0
- package/android/src/main/java/io/capkit/integrity/ui/IntegrityBlockActivity.kt +173 -0
- package/android/src/main/java/io/capkit/integrity/ui/IntegrityUISignals.kt +57 -0
- package/android/src/main/java/io/capkit/integrity/utils/IntegrityLogger.kt +85 -0
- package/android/src/main/java/io/capkit/integrity/utils/IntegrityUtils.kt +105 -0
- package/android/src/main/res/.gitkeep +0 -0
- package/android/src/main/res/values/styles.xml +5 -0
- package/dist/docs.json +598 -0
- package/dist/esm/definitions.d.ts +554 -0
- package/dist/esm/definitions.js +56 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/index.d.ts +15 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/web.d.ts +32 -0
- package/dist/esm/web.js +51 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +130 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +133 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Sources/IntegrityPlugin/IntegrityCheckOptions.swift +41 -0
- package/ios/Sources/IntegrityPlugin/IntegrityConfig.swift +135 -0
- package/ios/Sources/IntegrityPlugin/IntegrityEntitlementChecks.swift +58 -0
- package/ios/Sources/IntegrityPlugin/IntegrityError.swift +49 -0
- package/ios/Sources/IntegrityPlugin/IntegrityImpl.swift +397 -0
- package/ios/Sources/IntegrityPlugin/IntegrityPlugin.swift +345 -0
- package/ios/Sources/IntegrityPlugin/IntegrityReportBuilder.swift +184 -0
- package/ios/Sources/IntegrityPlugin/Utils/IntegrityLogger.swift +69 -0
- package/ios/Sources/IntegrityPlugin/Utils/IntegrityUtils.swift +144 -0
- package/ios/Sources/IntegrityPlugin/Version.swift +16 -0
- package/ios/Sources/IntegrityPlugin/filesystem/IntegrityFilesystemChecks.swift +86 -0
- package/ios/Sources/IntegrityPlugin/hook/IntegrityHookChecks.swift +85 -0
- package/ios/Sources/IntegrityPlugin/jailbreak/IntegrityJailbreakDetector.swift +74 -0
- package/ios/Sources/IntegrityPlugin/jailbreak/IntegrityJailbreakUrlSchemeDetector.swift +42 -0
- package/ios/Sources/IntegrityPlugin/remote/IntegrityRemoteAttestor.swift +40 -0
- package/ios/Sources/IntegrityPlugin/runtime/IntegrityRuntimeChecks.swift +63 -0
- package/ios/Sources/IntegrityPlugin/simulator/IntegritySimulatorChecks.swift +20 -0
- package/ios/Sources/IntegrityPlugin/ui/IntegrityBlockViewController.swift +143 -0
- package/ios/Tests/IntegrityPluginTests/IntegrityPluginTests.swift +10 -0
- package/package.json +106 -0
package/dist/docs.json
ADDED
|
@@ -0,0 +1,598 @@
|
|
|
1
|
+
{
|
|
2
|
+
"api": {
|
|
3
|
+
"name": "IntegrityPlugin",
|
|
4
|
+
"slug": "integrityplugin",
|
|
5
|
+
"docs": "Public JavaScript API for the Integrity Capacitor plugin.\n\nThis interface defines a stable, platform-agnostic API.\nAll methods behave consistently across Android, iOS, and Web.",
|
|
6
|
+
"tags": [],
|
|
7
|
+
"methods": [
|
|
8
|
+
{
|
|
9
|
+
"name": "check",
|
|
10
|
+
"signature": "(options?: IntegrityCheckOptions | undefined) => Promise<IntegrityReport>",
|
|
11
|
+
"parameters": [
|
|
12
|
+
{
|
|
13
|
+
"name": "options",
|
|
14
|
+
"docs": "",
|
|
15
|
+
"type": "IntegrityCheckOptions | undefined"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"returns": "Promise<IntegrityReport>",
|
|
19
|
+
"tags": [
|
|
20
|
+
{
|
|
21
|
+
"name": "example",
|
|
22
|
+
"text": "```ts\nconst report = await Integrity.check();\n```"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "since",
|
|
26
|
+
"text": "8.0.0"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"docs": "Executes a runtime integrity check.",
|
|
30
|
+
"complexTypes": [
|
|
31
|
+
"IntegrityReport",
|
|
32
|
+
"IntegrityCheckOptions"
|
|
33
|
+
],
|
|
34
|
+
"slug": "check"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "presentBlockPage",
|
|
38
|
+
"signature": "(options?: PresentBlockPageOptions | undefined) => Promise<PresentBlockPageResult>",
|
|
39
|
+
"parameters": [
|
|
40
|
+
{
|
|
41
|
+
"name": "options",
|
|
42
|
+
"docs": "",
|
|
43
|
+
"type": "PresentBlockPageOptions | undefined"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"returns": "Promise<PresentBlockPageResult>",
|
|
47
|
+
"tags": [
|
|
48
|
+
{
|
|
49
|
+
"name": "example",
|
|
50
|
+
"text": "```ts\nawait Integrity.presentBlockPage({ reason: 'integrity_failed' });\n```"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "since",
|
|
54
|
+
"text": "8.0.0"
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"docs": "Presents the configured integrity block page, if enabled.\n\nThe plugin never decides *when* this method should be called.\nInvocation is entirely controlled by the host application.",
|
|
58
|
+
"complexTypes": [
|
|
59
|
+
"PresentBlockPageResult",
|
|
60
|
+
"PresentBlockPageOptions"
|
|
61
|
+
],
|
|
62
|
+
"slug": "presentblockpage"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "getPluginVersion",
|
|
66
|
+
"signature": "() => Promise<PluginVersionResult>",
|
|
67
|
+
"parameters": [],
|
|
68
|
+
"returns": "Promise<PluginVersionResult>",
|
|
69
|
+
"tags": [
|
|
70
|
+
{
|
|
71
|
+
"name": "returns",
|
|
72
|
+
"text": "A promise resolving to the plugin version."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "example",
|
|
76
|
+
"text": "```ts\nconst { version } = await Integrity.getPluginVersion();\n```"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "since",
|
|
80
|
+
"text": "8.0.0"
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"docs": "Returns the native plugin version.\n\nThe returned version corresponds to the native implementation\nbundled with the application.",
|
|
84
|
+
"complexTypes": [
|
|
85
|
+
"PluginVersionResult"
|
|
86
|
+
],
|
|
87
|
+
"slug": "getpluginversion"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "addListener",
|
|
91
|
+
"signature": "(eventName: 'integritySignal', listenerFunc: (signal: IntegritySignalEvent) => void) => Promise<PluginListenerHandle>",
|
|
92
|
+
"parameters": [
|
|
93
|
+
{
|
|
94
|
+
"name": "eventName",
|
|
95
|
+
"docs": "The event to listen for ('integritySignal').",
|
|
96
|
+
"type": "'integritySignal'"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "listenerFunc",
|
|
100
|
+
"docs": "Callback invoked with the detected signal.",
|
|
101
|
+
"type": "(signal: IntegritySignal) => void"
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"returns": "Promise<PluginListenerHandle>",
|
|
105
|
+
"tags": [
|
|
106
|
+
{
|
|
107
|
+
"name": "param",
|
|
108
|
+
"text": "eventName The event to listen for ('integritySignal')."
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "param",
|
|
112
|
+
"text": "listenerFunc Callback invoked with the detected signal."
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "returns",
|
|
116
|
+
"text": "A Promise resolving to a `PluginListenerHandle`."
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "since",
|
|
120
|
+
"text": "8.0.0"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"docs": "Registers a listener for real-time integrity signals.\n\nThe provided callback is invoked every time a new integrity\nsignal is detected by the native layer.\n\nBEHAVIOR:\n- Signals may be emitted at any time after plugin initialization.\n- Signals detected before listener registration MAY be delivered\n immediately after registration.\n- No guarantees are made about signal frequency or ordering\n across platforms.\n\nIMPORTANT:\n- This listener is non-blocking.\n- The plugin does NOT enforce any policy based on signals.",
|
|
124
|
+
"complexTypes": [
|
|
125
|
+
"PluginListenerHandle",
|
|
126
|
+
"IntegritySignalEvent"
|
|
127
|
+
],
|
|
128
|
+
"slug": "addlistenerintegritysignal-"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "removeAllListeners",
|
|
132
|
+
"signature": "() => Promise<void>",
|
|
133
|
+
"parameters": [],
|
|
134
|
+
"returns": "Promise<void>",
|
|
135
|
+
"tags": [
|
|
136
|
+
{
|
|
137
|
+
"name": "since",
|
|
138
|
+
"text": "8.0.0"
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"docs": "Removes all registered listeners for this plugin.\n\nNOTE:\n- Removing listeners does NOT stop signal detection natively.\n- Signals may continue to be detected and buffered\n until a listener is registered again.",
|
|
142
|
+
"complexTypes": [],
|
|
143
|
+
"slug": "removealllisteners"
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"properties": []
|
|
147
|
+
},
|
|
148
|
+
"interfaces": [
|
|
149
|
+
{
|
|
150
|
+
"name": "IntegrityReport",
|
|
151
|
+
"slug": "integrityreport",
|
|
152
|
+
"docs": "Result object returned by `Integrity.check()`.\n\nThis object aggregates all detected signals\nand provides a provisional integrity score.",
|
|
153
|
+
"tags": [
|
|
154
|
+
{
|
|
155
|
+
"text": "8.0.0",
|
|
156
|
+
"name": "since"
|
|
157
|
+
}
|
|
158
|
+
],
|
|
159
|
+
"methods": [],
|
|
160
|
+
"properties": [
|
|
161
|
+
{
|
|
162
|
+
"name": "compromised",
|
|
163
|
+
"tags": [],
|
|
164
|
+
"docs": "Indicates whether the environment is considered compromised\naccording to the current scoring model.",
|
|
165
|
+
"complexTypes": [],
|
|
166
|
+
"type": "boolean"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"name": "score",
|
|
170
|
+
"tags": [],
|
|
171
|
+
"docs": "Provisional integrity score.\n\nThe score ranges from 0 to 100 and is derived\nfrom the detected signals.",
|
|
172
|
+
"complexTypes": [],
|
|
173
|
+
"type": "number"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"name": "signals",
|
|
177
|
+
"tags": [],
|
|
178
|
+
"docs": "List of detected integrity signals.",
|
|
179
|
+
"complexTypes": [
|
|
180
|
+
"IntegritySignal"
|
|
181
|
+
],
|
|
182
|
+
"type": "IntegritySignal[]"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "environment",
|
|
186
|
+
"tags": [],
|
|
187
|
+
"docs": "Execution environment summary.",
|
|
188
|
+
"complexTypes": [
|
|
189
|
+
"IntegrityEnvironment"
|
|
190
|
+
],
|
|
191
|
+
"type": "IntegrityEnvironment"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"name": "timestamp",
|
|
195
|
+
"tags": [],
|
|
196
|
+
"docs": "Unix timestamp (milliseconds) when the check was performed.",
|
|
197
|
+
"complexTypes": [],
|
|
198
|
+
"type": "number"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"name": "scoreExplanation",
|
|
202
|
+
"tags": [
|
|
203
|
+
{
|
|
204
|
+
"text": "8.0.0",
|
|
205
|
+
"name": "since"
|
|
206
|
+
}
|
|
207
|
+
],
|
|
208
|
+
"docs": "Optional explanation metadata describing how the integrity score\nwas derived from the detected signals.\n\nThis field is informational only and MUST NOT be treated\nas a security decision or enforcement mechanism.",
|
|
209
|
+
"complexTypes": [
|
|
210
|
+
"IntegrityScoreExplanation"
|
|
211
|
+
],
|
|
212
|
+
"type": "IntegrityScoreExplanation"
|
|
213
|
+
}
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"name": "IntegritySignal",
|
|
218
|
+
"slug": "integritysignal",
|
|
219
|
+
"docs": "A single integrity signal detected on the current device.\n\nSignals represent *observations*, not decisions.\nMultiple signals MAY be combined by the host application\nto derive a security policy.\n\nSignals:\n- are emitted asynchronously\n- may occur at any time during the app lifecycle\n- may be emitted before or after the first call to `check()`",
|
|
220
|
+
"tags": [
|
|
221
|
+
{
|
|
222
|
+
"text": "8.0.0",
|
|
223
|
+
"name": "since"
|
|
224
|
+
}
|
|
225
|
+
],
|
|
226
|
+
"methods": [],
|
|
227
|
+
"properties": [
|
|
228
|
+
{
|
|
229
|
+
"name": "id",
|
|
230
|
+
"tags": [],
|
|
231
|
+
"docs": "Stable identifier for the signal.\n\nThis value:\n- is stable across releases\n- MUST NOT be parsed or pattern-matched\n- is intended for analytics, logging, and policy evaluation",
|
|
232
|
+
"complexTypes": [],
|
|
233
|
+
"type": "string"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"name": "category",
|
|
237
|
+
"tags": [],
|
|
238
|
+
"docs": "High-level category of the signal.\n\nCategories allow grouping related signals\nwithout relying on specific identifiers.",
|
|
239
|
+
"complexTypes": [
|
|
240
|
+
"IntegritySignalCategory"
|
|
241
|
+
],
|
|
242
|
+
"type": "IntegritySignalCategory"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "confidence",
|
|
246
|
+
"tags": [],
|
|
247
|
+
"docs": "Confidence level of the detection.\n\nThis value expresses how strongly the signal correlates\nwith a potentially compromised or risky environment.\n\nNOTE:\nAlthough typed as a string union in the public API,\nnative implementations MUST only emit values defined\nby the internal IntegrityConfidenceLevel enum.",
|
|
248
|
+
"complexTypes": [
|
|
249
|
+
"IntegrityConfidenceLevel"
|
|
250
|
+
],
|
|
251
|
+
"type": "IntegrityConfidenceLevel"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"name": "description",
|
|
255
|
+
"tags": [],
|
|
256
|
+
"docs": "Optional human-readable description.\n\nThis field:\n- is intended for diagnostics and debugging only\n- MAY be omitted or redacted in production builds\n- MUST NOT be relied upon programmatically",
|
|
257
|
+
"complexTypes": [],
|
|
258
|
+
"type": "string | undefined"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"name": "metadata",
|
|
262
|
+
"tags": [],
|
|
263
|
+
"docs": "Additional diagnostic metadata associated with the signal.\n\nMetadata provides granular details about the detection\n(e.g. matched filesystem paths, runtime artifacts,\nor environment properties) without altering the\nstable signal identifier.\n\nIMPORTANT:\n- Metadata is informational only.\n- Keys and values are NOT guaranteed to be stable.\n- Applications MUST NOT rely on specific metadata fields\n for security decisions.",
|
|
264
|
+
"complexTypes": [
|
|
265
|
+
"Record"
|
|
266
|
+
],
|
|
267
|
+
"type": "Record<string, string | number | boolean>"
|
|
268
|
+
}
|
|
269
|
+
]
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"name": "IntegrityEnvironment",
|
|
273
|
+
"slug": "integrityenvironment",
|
|
274
|
+
"docs": "Summary of the execution environment in which\nthe integrity check was performed.",
|
|
275
|
+
"tags": [
|
|
276
|
+
{
|
|
277
|
+
"text": "8.0.0",
|
|
278
|
+
"name": "since"
|
|
279
|
+
}
|
|
280
|
+
],
|
|
281
|
+
"methods": [],
|
|
282
|
+
"properties": [
|
|
283
|
+
{
|
|
284
|
+
"name": "platform",
|
|
285
|
+
"tags": [],
|
|
286
|
+
"docs": "Current platform.",
|
|
287
|
+
"complexTypes": [],
|
|
288
|
+
"type": "'ios' | 'android' | 'web'"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"name": "isEmulator",
|
|
292
|
+
"tags": [],
|
|
293
|
+
"docs": "Indicates whether the app is running\nin an emulator or simulator environment.",
|
|
294
|
+
"complexTypes": [],
|
|
295
|
+
"type": "boolean"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"name": "isDebugBuild",
|
|
299
|
+
"tags": [],
|
|
300
|
+
"docs": "Indicates whether the app was built\nin debug/development mode.",
|
|
301
|
+
"complexTypes": [],
|
|
302
|
+
"type": "boolean"
|
|
303
|
+
}
|
|
304
|
+
]
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"name": "IntegrityScoreExplanation",
|
|
308
|
+
"slug": "integrityscoreexplanation",
|
|
309
|
+
"docs": "Describes how the integrity score was derived.\n\nThis structure provides transparency and auditability\nwithout exposing internal scoring algorithms.",
|
|
310
|
+
"tags": [
|
|
311
|
+
{
|
|
312
|
+
"text": "8.0.0",
|
|
313
|
+
"name": "since"
|
|
314
|
+
}
|
|
315
|
+
],
|
|
316
|
+
"methods": [],
|
|
317
|
+
"properties": [
|
|
318
|
+
{
|
|
319
|
+
"name": "totalSignals",
|
|
320
|
+
"tags": [],
|
|
321
|
+
"docs": "Total number of detected signals.",
|
|
322
|
+
"complexTypes": [],
|
|
323
|
+
"type": "number"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"name": "byConfidence",
|
|
327
|
+
"tags": [],
|
|
328
|
+
"docs": "Breakdown of signals by confidence level.",
|
|
329
|
+
"complexTypes": [],
|
|
330
|
+
"type": "{ high: number; medium: number; low: number; }"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"name": "contributors",
|
|
334
|
+
"tags": [],
|
|
335
|
+
"docs": "List of signal identifiers that contributed to the score.",
|
|
336
|
+
"complexTypes": [],
|
|
337
|
+
"type": "string[]"
|
|
338
|
+
}
|
|
339
|
+
]
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"name": "IntegrityCheckOptions",
|
|
343
|
+
"slug": "integritycheckoptions",
|
|
344
|
+
"docs": "Options controlling the behavior of `Integrity.check()`.\n\nThese options influence *how* checks are performed,\nnot *what* the public API returns.",
|
|
345
|
+
"tags": [
|
|
346
|
+
{
|
|
347
|
+
"text": "8.0.0",
|
|
348
|
+
"name": "since"
|
|
349
|
+
}
|
|
350
|
+
],
|
|
351
|
+
"methods": [],
|
|
352
|
+
"properties": [
|
|
353
|
+
{
|
|
354
|
+
"name": "level",
|
|
355
|
+
"tags": [],
|
|
356
|
+
"docs": "Desired strictness level.\n\nHigher levels may enable additional heuristics\nat the cost of performance.",
|
|
357
|
+
"complexTypes": [],
|
|
358
|
+
"type": "'basic' | 'standard' | 'strict' | undefined"
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"name": "includeDebugInfo",
|
|
362
|
+
"tags": [],
|
|
363
|
+
"docs": "Includes additional debug information\nin the returned signals when enabled.",
|
|
364
|
+
"complexTypes": [],
|
|
365
|
+
"type": "boolean | undefined"
|
|
366
|
+
}
|
|
367
|
+
]
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"name": "PresentBlockPageResult",
|
|
371
|
+
"slug": "presentblockpageresult",
|
|
372
|
+
"docs": "Result object returned by `presentBlockPage()`.",
|
|
373
|
+
"tags": [
|
|
374
|
+
{
|
|
375
|
+
"text": "8.0.0",
|
|
376
|
+
"name": "since"
|
|
377
|
+
}
|
|
378
|
+
],
|
|
379
|
+
"methods": [],
|
|
380
|
+
"properties": [
|
|
381
|
+
{
|
|
382
|
+
"name": "presented",
|
|
383
|
+
"tags": [],
|
|
384
|
+
"docs": "Indicates whether the block page was actually presented.",
|
|
385
|
+
"complexTypes": [],
|
|
386
|
+
"type": "boolean"
|
|
387
|
+
}
|
|
388
|
+
]
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"name": "PresentBlockPageOptions",
|
|
392
|
+
"slug": "presentblockpageoptions",
|
|
393
|
+
"docs": "Options for presenting the integrity block page.",
|
|
394
|
+
"tags": [
|
|
395
|
+
{
|
|
396
|
+
"text": "8.0.0",
|
|
397
|
+
"name": "since"
|
|
398
|
+
}
|
|
399
|
+
],
|
|
400
|
+
"methods": [],
|
|
401
|
+
"properties": [
|
|
402
|
+
{
|
|
403
|
+
"name": "reason",
|
|
404
|
+
"tags": [
|
|
405
|
+
{
|
|
406
|
+
"text": "8.0.0",
|
|
407
|
+
"name": "since"
|
|
408
|
+
}
|
|
409
|
+
],
|
|
410
|
+
"docs": "Optional reason code passed to the block page.\n\nThis value may be used for analytics,\nlocalization, or user messaging.",
|
|
411
|
+
"complexTypes": [],
|
|
412
|
+
"type": "string | undefined"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"name": "dismissible",
|
|
416
|
+
"tags": [
|
|
417
|
+
{
|
|
418
|
+
"text": "false",
|
|
419
|
+
"name": "default"
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"text": "8.0.0",
|
|
423
|
+
"name": "since"
|
|
424
|
+
}
|
|
425
|
+
],
|
|
426
|
+
"docs": "Whether the block page can be dismissed by the user.\n\nDefaults to false.\nIn production environments, this should typically remain disabled.",
|
|
427
|
+
"complexTypes": [],
|
|
428
|
+
"type": "boolean | undefined"
|
|
429
|
+
}
|
|
430
|
+
]
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"name": "PluginVersionResult",
|
|
434
|
+
"slug": "pluginversionresult",
|
|
435
|
+
"docs": "Result returned by the getPluginVersion method.",
|
|
436
|
+
"tags": [],
|
|
437
|
+
"methods": [],
|
|
438
|
+
"properties": [
|
|
439
|
+
{
|
|
440
|
+
"name": "version",
|
|
441
|
+
"tags": [],
|
|
442
|
+
"docs": "The native version string of the plugin.",
|
|
443
|
+
"complexTypes": [],
|
|
444
|
+
"type": "string"
|
|
445
|
+
}
|
|
446
|
+
]
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"name": "PluginListenerHandle",
|
|
450
|
+
"slug": "pluginlistenerhandle",
|
|
451
|
+
"docs": "",
|
|
452
|
+
"tags": [],
|
|
453
|
+
"methods": [],
|
|
454
|
+
"properties": [
|
|
455
|
+
{
|
|
456
|
+
"name": "remove",
|
|
457
|
+
"tags": [],
|
|
458
|
+
"docs": "",
|
|
459
|
+
"complexTypes": [],
|
|
460
|
+
"type": "() => Promise<void>"
|
|
461
|
+
}
|
|
462
|
+
]
|
|
463
|
+
}
|
|
464
|
+
],
|
|
465
|
+
"enums": [
|
|
466
|
+
{
|
|
467
|
+
"name": "IntegrityConfidenceLevel",
|
|
468
|
+
"slug": "integrityconfidencelevel",
|
|
469
|
+
"members": [
|
|
470
|
+
{
|
|
471
|
+
"name": "LOW",
|
|
472
|
+
"value": "'low'",
|
|
473
|
+
"tags": [],
|
|
474
|
+
"docs": ""
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"name": "MEDIUM",
|
|
478
|
+
"value": "'medium'",
|
|
479
|
+
"tags": [],
|
|
480
|
+
"docs": ""
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"name": "HIGH",
|
|
484
|
+
"value": "'high'",
|
|
485
|
+
"tags": [],
|
|
486
|
+
"docs": ""
|
|
487
|
+
}
|
|
488
|
+
]
|
|
489
|
+
}
|
|
490
|
+
],
|
|
491
|
+
"typeAliases": [
|
|
492
|
+
{
|
|
493
|
+
"name": "IntegritySignalCategory",
|
|
494
|
+
"slug": "integritysignalcategory",
|
|
495
|
+
"docs": "Category of a detected integrity signal.\n\nCategories are intentionally broad and stable.\nNew detection techniques MUST reuse existing categories\nwhenever possible to avoid breaking consumers.",
|
|
496
|
+
"types": [
|
|
497
|
+
{
|
|
498
|
+
"text": "'root'",
|
|
499
|
+
"complexTypes": []
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"text": "'jailbreak'",
|
|
503
|
+
"complexTypes": []
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"text": "'emulator'",
|
|
507
|
+
"complexTypes": []
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"text": "'debug'",
|
|
511
|
+
"complexTypes": []
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"text": "'hook'",
|
|
515
|
+
"complexTypes": []
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"text": "'tamper'",
|
|
519
|
+
"complexTypes": []
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"text": "'environment'",
|
|
523
|
+
"complexTypes": []
|
|
524
|
+
}
|
|
525
|
+
]
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"name": "IntegritySignalEvent",
|
|
529
|
+
"slug": "integritysignalevent",
|
|
530
|
+
"docs": "Event payload emitted when a new integrity signal is detected.\n\nThis event represents a *real-time observation* of a potential\nintegrity-relevant condition on the device.\n\nIMPORTANT:\n- Signals are observational only.\n- Emitting a signal does NOT imply that the environment is compromised.\n- No blocking or enforcement is performed by the plugin.\n\nThe host application is responsible for:\n- interpreting signals\n- correlating multiple signals\n- applying any security or UX policy",
|
|
531
|
+
"types": [
|
|
532
|
+
{
|
|
533
|
+
"text": "IntegritySignal",
|
|
534
|
+
"complexTypes": [
|
|
535
|
+
"IntegritySignal"
|
|
536
|
+
]
|
|
537
|
+
}
|
|
538
|
+
]
|
|
539
|
+
}
|
|
540
|
+
],
|
|
541
|
+
"pluginConfigs": [
|
|
542
|
+
{
|
|
543
|
+
"name": "Integrity",
|
|
544
|
+
"slug": "integrity",
|
|
545
|
+
"properties": [
|
|
546
|
+
{
|
|
547
|
+
"name": "verboseLogging",
|
|
548
|
+
"tags": [
|
|
549
|
+
{
|
|
550
|
+
"text": "false",
|
|
551
|
+
"name": "default"
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"text": "true",
|
|
555
|
+
"name": "example"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"text": "8.0.0",
|
|
559
|
+
"name": "since"
|
|
560
|
+
}
|
|
561
|
+
],
|
|
562
|
+
"docs": "Enables verbose native logging.\n\nWhen enabled, additional debug information is printed\nto the native console (Logcat on Android, Xcode on iOS).\n\nThis option affects native logging behavior only and\nhas no impact on the JavaScript API or runtime behavior.",
|
|
563
|
+
"complexTypes": [],
|
|
564
|
+
"type": "boolean | undefined"
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"name": "blockPage",
|
|
568
|
+
"tags": [
|
|
569
|
+
{
|
|
570
|
+
"text": "8.0.0",
|
|
571
|
+
"name": "since"
|
|
572
|
+
}
|
|
573
|
+
],
|
|
574
|
+
"docs": "Optional configuration for the integrity block page.\n\nThis configuration controls the availability and source\nof a developer-provided HTML page that may be presented\nto the end user when the host application decides to do so.\n\nThis configuration is:\n- read only by native code\n- immutable at runtime\n- NOT accessible from JavaScript\n\nThe Integrity plugin will NEVER automatically present\nthe block page. Presentation is always explicitly triggered\nby the host application via the public API.",
|
|
575
|
+
"complexTypes": [
|
|
576
|
+
"IntegrityBlockPageConfig"
|
|
577
|
+
],
|
|
578
|
+
"type": "IntegrityBlockPageConfig"
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
"name": "jailbreakUrlSchemes",
|
|
582
|
+
"tags": [
|
|
583
|
+
{
|
|
584
|
+
"text": "8.0.0",
|
|
585
|
+
"name": "since"
|
|
586
|
+
}
|
|
587
|
+
],
|
|
588
|
+
"docs": "Optional configuration for jailbreak URL scheme probing (iOS only).\n\nWhen enabled, the native iOS implementation may probe for\nknown jailbreak-related applications using URL schemes\nsuch as `cydia://`.\n\nThis configuration:\n- is read natively at runtime\n- is immutable\n- is NOT accessible from JavaScript\n- does NOT alter the public JavaScript API",
|
|
589
|
+
"complexTypes": [
|
|
590
|
+
"JailbreakUrlSchemesConfig"
|
|
591
|
+
],
|
|
592
|
+
"type": "JailbreakUrlSchemesConfig"
|
|
593
|
+
}
|
|
594
|
+
],
|
|
595
|
+
"docs": "Configuration options for the Integrity plugin."
|
|
596
|
+
}
|
|
597
|
+
]
|
|
598
|
+
}
|