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.
///