Agent-skills-standard flutter-security
Enforce OWASP Mobile security standards for Flutter apps. Use when storing data, making network calls, handling tokens/PII, or preparing a release build. (triggers: lib/infrastructure/**, pubspec.yaml, secure_storage, obfuscate, jailbreak, pinning, PII, OWASP)
install
source · Clone the upstream repo
git clone https://github.com/HoangNguyen0403/agent-skills-standard
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HoangNguyen0403/agent-skills-standard "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/flutter/flutter-security" ~/.claude/skills/hoangnguyen0403-agent-skills-standard-flutter-security && rm -rf "$T"
manifest:
skills/flutter/flutter-security/SKILL.mdsource content
Mobile Security
Priority: P0 (CRITICAL)
Implementation Workflow
- Store secrets securely — Use
for tokens/PII. Never useflutter_secure_storage
for sensitive data.shared_preferences - Externalize secrets — Never store API keys in Dart code. Use
or--dart-define
files..env - Obfuscate releases — Build
. Deterrent only — move sensitive logic to backend.--obfuscate --split-debug-info=./symbols - Pin certificates —
for high-security apps to prevent MITM.dio_certificate_pinning - Root detection —
for root/jailbreak checks in financial/sensitive apps.flutter_jailbreak_detection - Mask PII — Redact PII (email, phone) from all logs and analytics.
Secure Storage & Release Build Examples
See implementation examples for secure storage usage and obfuscated release build commands.
Reference & Examples
SSL Pinning & Secure Storage: references/REFERENCE.md.
Anti-Patterns
- No Secrets in SharedPreferences: Use
for tokens and PIIflutter_secure_storage - No Hardcoded API Keys: Use
or secure vaults for all secrets--dart-define - No Unobfuscated Releases: Always build with
--obfuscate --split-debug-info - No PII in Logs: Mask or omit sensitive data from all logs and analytics events
Related Topics
common/security-standards | layer-based-clean-architecture | performance