| name | security |
| description | Review React Native code for secret handling, secure storage, transport security, PII in logs, deep-link validation, input validation, and privacy compliance. Use when handling auth, payments, personal data, or before a security review. |
| version | 1.0.1 |
| platforms | ["ios","android"] |
| react-native-version | 0.76+ |
| tags | ["react-native","security","privacy","compliance"] |
Security Skill
Applicability
- Platforms: iOS and Android
- React Native: 0.76+ (New Architecture interop assumed unless a checklist item says otherwise)
When to Use
- Handling authentication, tokens, or payments
- Storing or transmitting personal or sensitive data
- Adding or reviewing deep links
- Preparing for a security or privacy review
Guidance
Secrets & Storage
Transport
Logging & PII
Incorrect:
console.log('Payment response:', JSON.stringify(paymentResult));
Correct:
logger.info('Payment completed', {
transactionId: paymentResult.id,
status: paymentResult.status,
});
Deep Links & Input
Auth Lifecycle
Privacy & Compliance
Pitfalls
- Crash and analytics tools often capture
console.log by default — disable or filter them so PII does not leak.
- Third-party SDKs may log sensitive payloads internally; verify their output, not just your own.
- Client validation is a UX nicety, not a security control — the server is the source of truth.
- An unvalidated deep link can redirect users into unintended or authenticated content; validate params first.