Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Directory Structure for Key Management #492

Open
Cretection opened this issue Nov 7, 2023 · 5 comments
Open

Feature Request: Directory Structure for Key Management #492

Cretection opened this issue Nov 7, 2023 · 5 comments
Labels
enhancement New feature or request proposed Community-proposed idea requesting feedback

Comments

@Cretection
Copy link
Sponsor

Hello Max,

first of all, I would like to thank you for developing this app for managing SSH keys. Using the Secure Enclave for storage is a nice approach that ensures private keys remain inaccessible to malicious entities.

As a frequent user of Secretive with more than four keys, I find the current management interface somewhat difficult to navigate. My wish is to implement a directory or folder structure within the app. This would greatly improve the organization and overview of keys, especially for users who manage a large number of keys.

The ability to categorize keys and sort them into folders would not only increase usability, but also improve overall functionality by allowing quick access to the desired keys.

I believe this feature would be a valuable addition to Secretive's already impressive capabilities and would be greatly appreciated by the community, especially those in a similar situation to myself.

I look forward to future updates!

Yours sincerely,
Jonathan

@maxgoedjen maxgoedjen added enhancement New feature or request proposed Community-proposed idea requesting feedback labels Nov 11, 2023
@PBHDK
Copy link
Contributor

PBHDK commented Jan 22, 2024

FYI, I'm looking into this. Hoping to have a PR ready within the next week or two.

@maxgoedjen
Copy link
Owner

@PBHDK I appreciate the offer and interest but I'd ask that you hold off on this for now – I'm not sure I'd be comfortable merging this yet for a few reasons – one being the issue listed in this PR: #481 (comment)

The other being that this would require tracking additional state outside the keychain – historically I've tried to keep all state inside the keychain and avoid any situations where I'd have to reconcile that state with another store.

If you want to experiment with it, that's fine, I just want to be clear before you do a bunch of work that I can't make any guarantees around mergability right now.

@PBHDK
Copy link
Contributor

PBHDK commented Jan 25, 2024

Thanks for the heads-up, @maxgoedjen! If I understand correctly, the issue is the internal state of the keychain being coupled with the external display order in the Secretive app as well as the order in which SSH keys are tried for new connections, correct? Is there a particular reason you want to keep it this way? Does it increase maintainability or performance?

Apart from that, is there any other issue I could help with? I'm aware of the "good first issue" tag, but it currently only points to localizations; I would like to write some code 🙂 I went through the issues myself, but I'm unsure of what you're prioritising right now.

@maxgoedjen
Copy link
Owner

@PBHDK I'm gonna split this conversation off into #524 since it'll be a bit unrelated, but let's chat there!

@martinpaljak
Copy link
Sponsor

Order of keys to be tried to be explicit and easy to recognize/convey is IMHO first and foremost important for "least surprises" and predictable UX (see also #466). For some reason I believe there is some kind of already studied cognitive threshold from which the increase to the height of a hierarchy tree is both required and also beneficial, given additional overhead. That number, by gut feeling, is higher than 99% of folks have in their SSH key list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request proposed Community-proposed idea requesting feedback
Projects
None yet
Development

No branches or pull requests

4 participants