ArkHost/HelixNotes
14
150
Fork
You've already forked HelixNotes
13

Plain-text for passwords and keys #210

Open
opened 2026年07月07日 16:37:39 +02:00 by CliffR · 0 comments

Was poking around the source and noticed webdav_password and the AI provider keys (ai_api_key, openai_api_key, etc.) get written straight to config.json in plaintext — no encryption, no OS keychain.

Confirmed this holds across all platforms (Windows/Mac/Linux/Android/iOS), since save_app_config just does a plain std::fs::write regardless of target — the mobile builds just change where the folder lives, not how it's stored. Not a huge deal on iOS/Android since the app sandbox limits who can read it, but on desktop any process running as your user (or an unencrypted backup) can just cat the file and get your WebDAV creds + API keys.

Would be nice to see these go through something like the keyring crate (Keychain/Credential Manager/Secret Service) instead of the config struct — seems like a fairly contained change, just swapping the read/write path for those specific fields.

Was poking around the source and noticed webdav_password and the AI provider keys (ai_api_key, openai_api_key, etc.) get written straight to config.json in plaintext — no encryption, no OS keychain. Confirmed this holds across all platforms (Windows/Mac/Linux/Android/iOS), since save_app_config just does a plain std::fs::write regardless of target — the mobile builds just change where the folder lives, not how it's stored. Not a huge deal on iOS/Android since the app sandbox limits who can read it, but on desktop any process running as your user (or an unencrypted backup) can just cat the file and get your WebDAV creds + API keys. Would be nice to see these go through something like the keyring crate (Keychain/Credential Manager/Secret Service) instead of the config struct — seems like a fairly contained change, just swapping the read/write path for those specific fields.
Sign in to join this conversation.
No Branch/Tag specified
main
fix/vault-indication
v1.3.3
v1.3.2
v1.3.1
v1.3.0
v1.2.9
v1.2.8
v1.2.7
v1.2.6
v1.2.5
v1.2.4
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.1.9
v1.1.8
v1.1.7
v1.1.6
v1.1.5
v1.1.4
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.9
v1.0.8
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3
v1.0.2
v1.0.1
v1.0.0
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ArkHost/HelixNotes#210
Reference in a new issue
ArkHost/HelixNotes
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?