fix(security): address multiple security findings from audit
- Fix SQLCipher PRAGMA key interpolation (hex-encode key to prevent crash on single quotes) - Enforce min password length (8 chars) on admin user creation - Add length bounds on username/display_name and login inputs - Invalidate other sessions on password change - Multi-stage Docker build (exclude build tools from runtime) - Exclude docs/ from Docker image - Consolidate dotenv.config() to single entry point - Document flat family authorization model in SECURITY.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -36,6 +36,15 @@ Vulnerabilities that require physical access to the host or root on the server a
|
||||
- Optional SQLCipher AES-256 database encryption
|
||||
- No API endpoint accessible without session auth (except login)
|
||||
|
||||
## Authorization Model
|
||||
|
||||
Oikos uses a flat family authorization model:
|
||||
|
||||
- **Admin** can create, edit, and delete all user accounts and all shared data.
|
||||
- **Member** can read and write all shared data (tasks, shopping lists, meals, calendar events, notes, contacts, budget entries) but cannot manage user accounts.
|
||||
|
||||
There is no per-user data isolation — all family members see and can edit all data. This is intentional: Oikos is a shared family planner, not a multi-tenant application.
|
||||
|
||||
## Supported Versions
|
||||
|
||||
Only the latest version on `main` receives security updates. There are no LTS branches.
|
||||
|
||||
Reference in New Issue
Block a user