Overview
Security is critical for any production app handling user data. This section covers essential security practices for Launch applications.Prerequisites
- Production environment configured
- Access to deployment logs and secrets manager
Mobile Security
Secure storage, data protection, and device security
Security Checklist
Pre-launch security review checklist
Built-in Security Features
Launch includes these security features out of the box:| Feature | Description |
|---|---|
| Presigned URLs | S3 uploads without exposing credentials |
| Secure Token Storage | Expo SecureStore for sensitive data |
| HTTPS Only | All API communication over TLS |
| Input Validation | Zod schemas for all API inputs |
| CORS Configuration | Restricted origins for API access |
| Session Management | Secure session tokens with Better Auth |
Security Principles
Never trust client input
Never trust client input
Always validate and sanitize all data coming from the client, even if it
seems to come from your own app.
Principle of least privilege
Principle of least privilege
Only request permissions you need. Only expose data the user should access.
Defense in depth
Defense in depth
Multiple layers of security. If one fails, others still protect.
Keep secrets secret
Keep secrets secret
Never commit secrets to git. Use environment variables and secret managers.
Steps
Quick Security Wins
Troubleshooting
- Leaky logs: review logging config and sanitize inputs
- Auth failures: verify provider env vars and callback URLs