801466765b
Final-diff review findings (/simplify-code on the full 3-commit stack): - Temp-dir fallback uses a per-uid name (hermes-profile-exports-<uid>) and get_profile_export_path refuses a pre-existing symlink or a directory owned by another user — a fixed /tmp/hermes-profile-exports is a predictable shared path a local attacker could pre-create to receive the secret-bearing archive. Regression test mutation-checked. - Fail-closed message reworded interface-neutrally (the web API surfaces it as HTTP 400 detail where '-o' alone made no sense). - Docs now cover the temp fallback and the fail-closed refusal.