flutter-application-security-engineering
Installation
SKILL.md
Flutter Application Security Engineering
Use security architecture, not security-looking switches. Start from assets, attackers, trust boundaries, and data flows; select controls only after identifying the threat they mitigate.
Operating stance
Apply these rules throughout the task:
- Treat the distributed Flutter client as attacker-controlled.
- Keep authorization and privileged business truth on a trusted backend.
- Never ship server-only secrets in client code, assets, configuration, native resources, or Web bundles.
- Preserve normal TLS certificate and hostname validation.
- Use established OS, protocol, and cryptographic primitives instead of custom security protocols.
- Validate every trust-boundary input, including data from the project's own backend.
- Minimize permissions, data collection, retention, third-party SDK access, and credential lifetime.
- Make recovery, revocation, failure behavior, and account-switch/logout semantics explicit.
- Add negative and regression tests for meaningful controls and fixed vulnerabilities.
- Explain residual risk; do not claim that obfuscation, root detection, attestation, biometrics, screenshot blocking, or pinning makes the client trusted.
A useful invariant is: