axiom-metal-migration-diag
Use when ANY Metal porting issue occurs - black screen, rendering artifacts, shader errors, wrong colors, performance regressions, GPU crashes
Secure data encryption, network configuration, and permissions in Android apps. Use when handling API keys, auth tokens, certificate pinning, EncryptedSharedPreferences, or securing exported components.
---
name: android-security-4de285f5aca2
description: Secure Android data at rest and authentication secrets. Use for auth tokens, encrypted storage, and app-data isolation; defer WebView/Intent/FileProvider to android-legacy-security and TLS/certificate pinning to android-networking.
metadata:
triggers:
files:
- 'network_security_config.xml'
- 'AndroidManifest.xml'
keywords:
- EncryptedSharedPreferences
- cleartextTrafficPermitted
- intent-filter
- api key
- token storage
- certificate pinning
- root detection
- secure storage
---
# Android Security Standards
## **Priority: P0 (CRITICAL)**
## Implementation Guidelines
### Data Storage
- **Secrets**: NEVER store API keys in code. Use `EncryptedSharedPreferences` for sensitive local data (Tokens).
- **Keystore**: Use Android Keystore System for cryptographic keys.
### Network
- **HTTPS**: Enforce HTTPS via `network_security_config.xml` (`cleartextTrafficPermitted="false"`).
- **Pinning**: Consider Certificate Pinning for high-security apps.
### Component Export
- **Exported**: Explicitly set `android:exported="false"` for Activities/Receivers unless intended for external use.
## Anti-Patterns
- **No Sensitive Logs**: Strip logs in Release builds.
- **No Homebrew Root Detection**: Use Play Integrity API instead.
- **No Raw URL String Concatenation**: Use `Uri.Builder` or `HttpUrl` (OkHttp) to prevent parameter injection.
## References
- [Setup Examples](references/implementation.md)
- [common/common-security-standards] — shared OWASP baselines
- [android/android-legacy-security] — Intent, WebView, and FileProvider hardening
---
name: android-security-4de285f5aca2
description: Secure Android data at rest and authentication secrets. Use for auth tokens, encrypted storage, and app-data isolation; defer WebView/Intent/FileProvider to android-legacy-security and TLS/certificate pinning to android-networking.
metadata:
triggers:
files:
- 'network_security_config.xml'
- 'AndroidManifest.xml'
keywords:
- EncryptedSharedPreferences
- cleartextTrafficPermitted
- intent-filter
- api key
- token storage
- certificate pinning
- root detection
- secure storage
---
# Android Security Standards
## **Priority: P0 (CRITICAL)**
## Implementation Guidelines
### Data Storage
- **Secrets**: NEVER store API keys in code. Use `EncryptedSharedPreferences` for sensitive local data (Tokens).
- **Keystore**: Use Android Keystore System for cryptographic keys.
### Network
- **HTTPS**: Enforce HTTPS via `network_security_config.xml` (`cleartextTrafficPermitted="false"`).
- **Pinning**: Consider Certificate Pinning for high-security apps.
### Component Export
- **Exported**: Explicitly set `android:exported="false"` for Activities/Receivers unless intended for external use.
## Anti-Patterns
- **No Sensitive Logs**: Strip logs in Release builds.
- **No Homebrew Root Detection**: Use Play Integrity API instead.
- **No Raw URL String Concatenation**: Use `Uri.Builder` or `HttpUrl` (OkHttp) to prevent parameter injection.
## References
- [Setup Examples](references/implementation.md)
- [common/common-security-standards] — shared OWASP baselines
- [android/android-legacy-security] — Intent, WebView, and FileProvider hardening
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.