# Journal Security ## Encryption - **Password hashing:** Argon2id (memory: 64MB, iterations: 3, parallelism: 4) - **Data encryption:** AES-256-GCM with unique IV per entry - **Key management:** AES key exists only in RAM, wiped on lock/restart ## Design Principles - Password is never stored in plaintext - No password recovery by design - Journal database is completely separate from main app - No code path connects journal to Claude API - Ollama availability check on startup ## Auto-Lock Triggers - Inactivity timeout (default: 30 minutes) - Screen lock detection - Navigate away from journal page - Server restart