ionic-security

Reviews Ionic and Capacitor apps for native mobile security risks beyond web-layer threats.

1|Updated Jun 2, 2026
One-click install
npx skills add https://github.com/envoydev/claude-stack --skill ionic-security-envoydev
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ionic-security
Source: https://github.com/envoydev/claude-stack/tree/main/stack/skills/ionic-security
Command: npx skills add https://github.com/envoydev/claude-stack --skill ionic-security-envoydev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? An Ionic app inherits every web vulnerability plus a native attack surface the browser does not have: plaintext on-device storage, hijackable deep links, over-broad native permissions, and a debuggable WebView container. This Skill provides the security review map for that native layer so tokens, deep links, and release builds are hardened before an audit or ship. ## Core Features & Use Cases - Secret Storage Hardening: Enforces Keychain/Keystore-backed secure storage instead of plaintext Capacitor Preferences, localStorage, or IndexedDB, with explicit web-fallback degradation. - Deep Link and Permission Review: Treats deep links as attacker-reachable input requiring validation, prefers verified App Links/Universal Links, and checks least-privilege native permission sets. - Release-Build Verification: Mechanically greps for cleartext traffic settings, WebView debugging flags, and stray server.url configs, reporting findings as surface | risk | fix rows ordered by risk. - Use Case: Before shipping a Capacitor 6+ app, run a security sweep to confirm tokens live in the Keychain, deep links are validated, FLAG_SECURE protects sensitive screens, and release builds disable debugging and cleartext traffic. ## Quick Start Review this Ionic/Capacitor feature for mobile security issues and report findings as surface, risk, and fix.

Frequently Asked Questions about ionic-security

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I securely store tokens in an Ionic Capacitor app?▼

Store tokens in a secure-storage plugin backed by the iOS Keychain and Android Keystore, never in Capacitor Preferences, localStorage, or IndexedDB, which are plaintext on device. Clear the secure store on logout and never log token values.

How do I validate deep links in a Capacitor app?▼

Treat every deep link as untrusted input: parse the URL, validate parameters against an allowlist before routing, and never auto-run state-changing operations without confirmation. Prefer verified App Links and Universal Links over custom schemes, which other apps can hijack.

Does Capacitor Preferences encrypt stored data?▼

No. Capacitor Preferences, localStorage, and IndexedDB are all plaintext on the device and readable by anyone with device access. Use a Keychain/Keystore-backed secure-storage plugin for tokens, keys, or PII.

How do I disable cleartext traffic in an Android Capacitor release build?▼

Set cleartextTrafficPermitted to false in res/xml/network_security_config.xml and reference it from the manifest's android:networkSecurityConfig attribute. On iOS, keep App Transport Security enabled without NSAllowsArbitraryLoads, and use no http:// endpoints.

Is biometric authentication enough to secure an Ionic app?▼

No. Biometric gating and jailbreak detection are bypassable friction on a determined attacker's own device, not security boundaries. Biometrics should gate access to a Keychain-held secret and never replace server-side authorization.

When should I not use this Ionic security review?▼

Do not load it for non-security work, and route web-layer findings like XSS, CSP, and CSRF to the Angular web hardening skill. Signing and OTA live-update integrity belong to the capacitor-release skill's ground.