namespace MCPForUnity.Editor.Security
{
///
/// At-rest storage for AI asset-generation provider API keys.
///
/// Keys are written ONLY to the OS secure store (Keychain / Credential Manager /
/// libsecret) or an encrypted-file fallback. They are never placed in EditorPrefs,
/// never sent over the MCP bridge, never returned by any MCP tool, and never logged.
/// reports existence only — there is no API that returns all keys.
///
public interface ISecureKeyStore
{
/// Resolve the key for a provider id (e.g. "tripo"). Returns false when absent.
bool TryGet(string providerId, out string apiKey);
/// Store (or overwrite) the key for a provider id. Empty/null deletes it.
void Set(string providerId, string apiKey);
/// Remove the stored key for a provider id (no-op when absent).
void Delete(string providerId);
/// True when a key exists for the provider id. Never returns the value.
bool Has(string providerId);
}
}