pottery-diary/SECURITY.md

104 lines
3.0 KiB
Markdown

# Security Policy
## Data Storage and Privacy
### Local Storage
All user data is stored locally on the device using SQLite:
- No cloud sync by default
- No external server communication (except optional news feed)
- Data encrypted at rest by iOS/Android OS security
### Permissions
#### iOS
- **Camera**: Take photos of pottery projects (optional, on-demand)
- **Photo Library**: Save and load project photos (optional, on-demand)
#### Android
- **Camera**: Take photos of pottery projects
- **Storage**: Read/write for photo management
All permissions are requested only when needed, not at app launch.
### Analytics
Analytics are **opt-in only** and disabled by default:
- When disabled: No data collection whatsoever
- When enabled: Only anonymous usage events (no PII)
- Events tracked: app opens, feature usage (see analytics.ts)
- No advertising identifiers or device fingerprinting
### Third-Party Services
Current implementation uses:
- **No analytics services** (prepared for Sentry/Amplitude if user opts in)
- **No ad networks**
- **No social login providers**
- **Optional news feed**: Fetches public JSON from CDN (read-only)
### Data Export
Users can export their data:
- Format: JSON (plain text)
- Contains: Projects, steps, custom glazes, photos (as file URIs)
- No encryption in export (user responsible for secure storage)
## Security Best Practices
### For Users
1. Keep your device OS updated
2. Use device lock screen (PIN/biometric)
3. Back up data regularly via export
4. Be cautious when sharing exported data (may contain personal notes)
### For Developers
1. Never commit API keys or secrets to repo
2. Review all dependency updates for vulnerabilities
3. Run `npm audit` regularly
4. Keep Expo SDK and React Native updated
5. Test permissions on both iOS and Android
## Reporting a Vulnerability
If you discover a security vulnerability:
1. **DO NOT** open a public GitHub issue
2. Email: security@potterydiaryapp.com (placeholder - replace with actual)
3. Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
We will respond within 48 hours and work with you to resolve the issue.
## Compliance
### CCPA (California Consumer Privacy Act)
- **Data Collection**: Minimal (only with opt-in analytics)
- **Data Sale**: Never. We do not sell or share personal data.
- **User Rights**: Users can delete all data by uninstalling the app or via in-app data export/delete
### COPPA (Children's Online Privacy Protection Act)
- **Age Rating**: 4+ (content), but app not directed at children under 13
- **No Data Collection**: No PII collected from any users
- **Parental Controls**: Device-level restrictions apply
### App Store Requirements
- **Privacy Nutrition Label** (iOS):
- Data Not Collected: Yes (if analytics disabled)
- Data Linked to You: No
- Data Used to Track You: No
## Changelog
### v1.0.0 (2025-01-15)
- Initial release
- Local-only data storage
- Opt-in analytics framework (not yet active)
- No third-party services
---
Last Updated: 2025-01-15