You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1.2 KiB

# Security Audit Checklist for Web Push Service
## Authentication & Authorization
- [x] Basic auth implemented for admin endpoints
- [x] VAPID authentication for push notifications
- [x] Environment variable for admin password
- [ ] Consider rate limiting for subscription endpoints
- [ ] Consider adding API key authentication for public endpoints
## Data Validation
- [x] Input validation for subscription data
- [x] Message size limits (100 chars)
- [x] Notification type validation
- [ ] Consider adding input sanitization for messages
## Database Security
- [x] SQLite database with configurable path
- [x] No raw SQL queries (uses SQLAlchemy ORM)
- [ ] Consider adding database connection pooling
- [ ] Consider encryption at rest for sensitive data
## Push Notification Security
- [x] VAPID key rotation capability
- [x] Secure key generation using cryptography library
- [x] Proper error handling for expired subscriptions
- [ ] Consider adding payload encryption
## General Security
- [x] Type hints for better code safety
- [x] Error logging implemented
- [ ] Consider adding request logging
- [ ] Consider adding CORS protection
- [ ] Consider adding CSP headers