npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

cordova-plugin-ios-advanced-security

v1.0.0

Published

Advanced iOS security detection for Cordova/Ionic — jailbreak, debugger, developer mode, reverse-engineering tools and scoring.

Downloads

6

Readme

cordova-plugin-ios-advanced-security

Advanced iOS security detection for Cordova / Ionic apps.

This plugin provides heuristic, App-Store-safe checks for common attack or inspection scenarios:

  • Jailbreak detection
  • Debugger attachment detection
  • Developer mode heuristics
  • Reverse-engineering tooling detection (Frida, Cycript, Hopper, IDA, etc.)
  • A combined security score (0–100)

Note: Some checks are heuristic and cannot be 100% definitive on iOS due to sandboxing and the absence of private APIs. Use this plugin as part of a layered mobile security approach (hardening, server-side verification, certificate pinning, secure storage).


Features

  • Cordova-compatible JavaScript API (IOSAdvancedSecurity.*) ready for Ionic apps
  • Asynchronous callbacks for all checks
  • Detailed report object with per-check details and a numeric security score
  • MIT licensed — publishable on npm

Installation

From the app project root:

cordova plugin add https://github.com/yourusername/cordova-plugin-ios-advanced-security.git
# or if published to npm:
cordova plugin add cordova-plugin-ios-advanced-security

Then in your JavaScript:

document.addEventListener('deviceready', function() {
  IOSAdvancedSecurity.getSecurityReport(function(report) {
    console.log('Security report', report);
  }, function(err) {
    console.error('Security check failed', err);
  });
});

Methods

  • getSecurityReport(success, error)
    Returns an object:

    {
      isJailbroken: Boolean,
      isDebuggerAttached: Boolean,
      isDeveloperMode: Boolean,
      reverseEngineeringDetected: Boolean,
      details: {
        jailbreakDetails: { ... },
        debuggerDetails: { ... },
        environmentDetails: { detected: Boolean, foundFiles: [...], loadedImages: [...] }
      },
      score: Number // 0-100, higher = more secure
    }
  • isJailbroken(success, error) → Boolean

  • isDebuggerAttached(success, error) → Boolean

  • isDeveloperModeEnabled(success, error) → Boolean (heuristic)

  • detectReverseEngineeringTools(success, error) → details dictionary

  • getSecurityScore(success, error) → Integer 0–100


How scoring works

A simple weighted approach is used (tune weights as needed):

  • Jailbreak detected: -50
  • Debugger attached: -30
  • Reverse tools detected: -25
  • Developer mode heuristics: -15

Base = 100, clamped to [0,100].


Security & Best Practices

  • This plugin provides helpful detection signals — but it should not be the only security control.
  • Combine with:
    • Server-side checks for suspicious client behavior
    • Certificate pinning for transport security
    • Sensitive data kept out of device storage or protected by Keychain & secure enclaves
    • App hardening (obfuscation, tamper-detection, runtime protections)
  • Avoid relying on any single detection; heuristics can produce false positives/negatives.

Contributing

Contributions are welcome. If you add additional checks, please avoid private APIs (they will break App Store review).


License

MIT — see the LICENSE file.