See the native app state behind the UI

Inspect exposed native runtime objects in your Cordova/Capacitor app to understand the state driving its behavior.

Reflection tools let you examine exposed runtime objects when a screen alone does not explain an app’s behavior. Keep roots and traversal narrow, and enable inspection, mutation, or invocation only under the required tool policy. This inspects supported native iOS and Android roots, not arbitrary JavaScript objects.

const options = Ansight.createOptionsBuilder()
  .withReflectionTools({
    includeBuiltInRoots: true,
    allowedRootIds: ["application"],
    allowedTypePrefixes: ["com.example."],
  })
  .withReadOnlyToolAccess()
  .build();

The native suite exposes reflect.list_roots, reflect.inspect_object, reflect.describe_type, reflect.set_member_value, and reflect.invoke_method according to platform support and the active guard. The read-only setup above enables list and describe. Object inspection, mutation, and invocation use Critical and require withAllToolAccess() for the local development workflow, with roots and type traversal kept narrow.

These are Swift/JVM roots, not arbitrary JavaScript object reflection. Use DOM or custom JavaScript tools for WebView state.