From cb6ab7a116bed38e42c47d33c43d97d0b07aed16 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sat, 7 Feb 2026 18:02:39 +0100 Subject: [PATCH] Added enterprise key prefix to SecretId for better distinction --- app/MindWork AI Studio/Settings/EmbeddingProvider.cs | 4 ++-- app/MindWork AI Studio/Settings/Provider.cs | 4 ++-- app/MindWork AI Studio/Settings/TranscriptionProvider.cs | 4 ++-- app/MindWork AI Studio/Tools/ISecretId.cs | 7 +++++++ 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/app/MindWork AI Studio/Settings/EmbeddingProvider.cs b/app/MindWork AI Studio/Settings/EmbeddingProvider.cs index 4822e836..24942899 100644 --- a/app/MindWork AI Studio/Settings/EmbeddingProvider.cs +++ b/app/MindWork AI Studio/Settings/EmbeddingProvider.cs @@ -43,7 +43,7 @@ public sealed record EmbeddingProvider( /// [JsonIgnore] - public string SecretId => this.Id; + public string SecretId => this.IsEnterpriseConfiguration ? $"{ISecretId.ENTERPRISE_KEY_PREFIX}::{this.UsedLLMProvider.ToName()}" : this.UsedLLMProvider.ToName(); /// [JsonIgnore] @@ -124,7 +124,7 @@ public sealed record EmbeddingProvider( { // Queue the API key for storage in the OS keyring: PendingEnterpriseApiKeys.Add(new( - id.ToString(), + $"{ISecretId.ENTERPRISE_KEY_PREFIX}::{usedLLMProvider.ToName()}", name, decryptedApiKey, SecretStoreType.EMBEDDING_PROVIDER)); diff --git a/app/MindWork AI Studio/Settings/Provider.cs b/app/MindWork AI Studio/Settings/Provider.cs index 4fc51ad8..d6f808c3 100644 --- a/app/MindWork AI Studio/Settings/Provider.cs +++ b/app/MindWork AI Studio/Settings/Provider.cs @@ -71,7 +71,7 @@ public sealed record Provider( /// [JsonIgnore] - public string SecretId => this.Id; + public string SecretId => this.IsEnterpriseConfiguration ? $"{ISecretId.ENTERPRISE_KEY_PREFIX}::{this.UsedLLMProvider.ToName()}" : this.UsedLLMProvider.ToName(); /// [JsonIgnore] @@ -181,7 +181,7 @@ public sealed record Provider( { // Queue the API key for storage in the OS keyring: PendingEnterpriseApiKeys.Add(new( - id.ToString(), + $"{ISecretId.ENTERPRISE_KEY_PREFIX}::{usedLLMProvider.ToName()}", instanceName, decryptedApiKey, SecretStoreType.LLM_PROVIDER)); diff --git a/app/MindWork AI Studio/Settings/TranscriptionProvider.cs b/app/MindWork AI Studio/Settings/TranscriptionProvider.cs index 235b097d..40c83a6d 100644 --- a/app/MindWork AI Studio/Settings/TranscriptionProvider.cs +++ b/app/MindWork AI Studio/Settings/TranscriptionProvider.cs @@ -43,7 +43,7 @@ public sealed record TranscriptionProvider( /// [JsonIgnore] - public string SecretId => this.Id; + public string SecretId => this.IsEnterpriseConfiguration ? $"{ISecretId.ENTERPRISE_KEY_PREFIX}::{this.UsedLLMProvider.ToName()}" : this.UsedLLMProvider.ToName(); /// [JsonIgnore] @@ -124,7 +124,7 @@ public sealed record TranscriptionProvider( { // Queue the API key for storage in the OS keyring: PendingEnterpriseApiKeys.Add(new( - id.ToString(), + $"{ISecretId.ENTERPRISE_KEY_PREFIX}::{usedLLMProvider.ToName()}", name, decryptedApiKey, SecretStoreType.TRANSCRIPTION_PROVIDER)); diff --git a/app/MindWork AI Studio/Tools/ISecretId.cs b/app/MindWork AI Studio/Tools/ISecretId.cs index c1198913..42ee817f 100644 --- a/app/MindWork AI Studio/Tools/ISecretId.cs +++ b/app/MindWork AI Studio/Tools/ISecretId.cs @@ -5,6 +5,13 @@ namespace AIStudio.Tools; /// public interface ISecretId { + /// + /// Prefix used for secrets imported from enterprise configuration plugins. + /// This helps distinguish enterprise-managed keys from user-added keys + /// in the OS keyring. + /// + public const string ENTERPRISE_KEY_PREFIX = "config-plugin"; + /// /// The unique ID of the secret. ///