-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Summary
Credentials are currently stored in plaintext JSON files. This is a security risk for production use.
Current State
- Credentials stored in
~/.sylphx-code/credentials.json(global) - Credentials stored in
.sylphx-code/credentials.local.json(project) - Files use restrictive permissions (0600) but content is plaintext
Proposed Solution
Add encryption layer for credential storage:
- Use AES-256-GCM for encryption
- Derive encryption key from system keyring or user password
- Encrypt only the
apiKeyfield, keep metadata readable - Maintain backward compatibility with plaintext for migration
Affected Files
packages/code-core/src/registry/credential-registry.tspackages/code-core/src/config/credential-manager.tspackages/code-core/src/types/credential.types.ts
Priority
Medium - Current implementation is acceptable for development/single-user use, but required before production release.
References
Metadata
Metadata
Assignees
Labels
No labels