Awesome-omni-skill ensuring-mobile-security
Ensure app security. Use when handling sensitive data, configuring networking, or preparing for production.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/ensuring-mobile-security" ~/.claude/skills/diegosouzapw-awesome-omni-skill-ensuring-mobile-security && rm -rf "$T"
manifest:
skills/development/ensuring-mobile-security/SKILL.mdsource content
Security Standards
When to use this skill
- When handling user credentials or sensitive personal data (PII).
- When configuring API calls and networking.
- When implementing authentication logic.
- When preparing the app for a production release.
Data Storage
- Credentials: NEVER store passwords, tokens, or API keys in
,AsyncStorage
,SharedPreferences
(iOS), orUserDefaults
(Web).localstorage- Use: Secure storage wrappers like
orexpo-secure-store
which leverage the OS Keychain/Keystore.flutter_secure_storage
- Use: Secure storage wrappers like
- Local Data: Encrypt sensitive databases (e.g., Realm/SQLite encryption) if they contain user data.
- Cleanup: Wipe all sensitive local data and tokens immediately upon logout.
Network Security
- Transport: Enforce HTTPS for all connections. Block cleartext traffic in
(iOS) andInfo.plist
(Android).AndroidManifest.xml - Certificate Pinning: Implement certificate pinning for critical APIs to prevent MitM attacks.
- Validation: Strict SSL certificate validation.
- Logging: NEVER log sensitive headers (Auth tokens) or request bodies containing PII in production or crash reports.
Authentication
- Protocol: Use industry standards like OAuth 2.0 / OIDC. Avoid custom auth schemes.
- Biometrics: Use FaceID/TouchID for quick re-auth where appropriate, but always fallback to PIN/Password.
- Sessions:
- Implement short-lived access tokens and long-lived refresh tokens.
- Enforce local session timeouts for banking/fintech apps.
- Privacy: Obscure the app preview in the recent apps switcher (Task Manager) to prevent screenshotting sensitive screens.
Code Security
- Production Builds:
- Enable code obfuscation (ProGuard/R8 for Android).
- Strip debug symbols.
- Remove all
/console.log
statements using build tools (e.g.,print
).babel-plugin-transform-remove-console
- Validation: Sanitize and validate ALL user inputs on both client and server to prevent injection attacks.
- Rate Limiting: Handle 429 Too Many Requests gracefully.