Obteniendo secretos de keyVault de Azure en c #

Tengo el siguiente código, que recupera los secretos de KeyVault.

var kv = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(GetToken));
var sec = await kv.GetSecretAsync(ConfigurationManager.AppSettings["SomeURI"]);
secretValue = sec.Value ;

étodo @GetToken:

async Task<string> GetToken(string authority, string resource, string scope)
{
    var authContext = new AuthenticationContext(authority);
    ClientCredential clientCred = new ClientCredential(ConfigurationManager.AppSettings["ClientId"],ConfigurationManager.AppSettings["ClientSecret"]);
    AuthenticationResult result = await authContext.AcquireTokenAsync(resource, clientCred);    
    if (result == null)
        throw new InvalidOperationException("Failed to obtain the token");    
    return result.AccessToken;
}

En el método GetToken, voy a buscar elClientId yClientSecret de Appconfig.

Siento que no es seguro mantener estos valores en Appconfig y usarlos. ¿Hay alguna manera de eliminarlo del archivo de configuración y buscarlo desde cualquier otro lugar? ¿O hay alguna buena solución posible para mi problema?

¡Cualquier respuesta es muy apreciada!

PS: Mine es un servicio de Windows desarrollado en c #

Respuestas a la pregunta(1)

Su respuesta a la pregunta