Problema
En entornos Windows, la mayoría de las aplicaciones nativas confían en Credential Manager y en el API de Protección de Datos (DPAPI) para almacenar tokens, contraseñas y cookies de sesión. Cuando el sistema se apaga o reinicia, esos datos deberían permanecer en el almacén cifrado y volver a estar disponibles al iniciar sesión nuevamente. En varios equipos domésticos y de pequeñas oficinas se observa un patrón distinto: todos los ítems de Credential Manager desaparecen y las aplicaciones que usan DPAPI pierden sus sesiones cada vez que el equipo se reinicia. El síntoma se manifiesta como:
- Credenciales de GitHub Desktop, clientes de VPN o herramientas de desarrollo desaparecen.
- Windows Hello PIN no se puede volver a crear porque el flujo de verificación se interrumpe.
- Navegadores siguen conservando sus contraseñas, lo que indica que el problema está limitado a los almacenes nativos de Windows.
El comportamiento es reproducible en cada arranque, no intermitente, y ocurre en equipos con Windows 10/11 que no forman parte de un dominio.
Causa
La pérdida de credenciales en cada reinicio suele deberse a una combinación de factores que impiden que el Servicio de Almacén de Credenciales (VaultSvc) y el DPAPI persistan su estado. Las causas más habituales son:
-
Desactivación o fallo del servicio VaultSvc
Si el servicio está configurado como “Deshabilitado” o se detiene durante el arranque, el almacén no se inicializa y Windows borra cualquier entrada temporal que haya creado. -
Políticas de grupo o valores del registro que bloquean la persistencia
DisableDomainCredsbajoHKLM\System\CurrentControlSet\Control\Lsacon valor1impide que se guarden credenciales de dominio y, en algunos casos, también las locales.- Directivas de “Credential Delegation” que establecen “Do not allow storage of credentials” pueden generar el mismo efecto.
-
Corrupción del directorio de vault (
%ProgramData%\Microsoft\Vaulty%AppData%\Microsoft\Protect)
Archivos de vault dañados hacen que el motor de DPAPI descarte el contenido al iniciar, creando un nuevo almacén vacío. -
Interferencia de software de seguridad o de virtualización
Herramientas como Credential Guard, VBS, o incluso algunos antivirus de bajo nivel pueden bloquear el acceso a las claves maestras de DPAPI. Aunque el usuario haya verificado que Credential Guard está desactivado, versiones antiguas de Windows Defender o complementos de terceros pueden dejar restos en el kernel que provocan el bloqueo. -
Actualizaciones fallidas del componente “Windows Credential Manager”
Cuando una actualización de la capa de credenciales se instala parcialmente, el binariovaultsvc.dllpuede quedar en un estado inconsistente, provocando que el servicio no pueda cargar el vault existente. -
Perfil de usuario dañado
Un perfil con permisos insuficientes sobreC:\Users\<user>\AppData\Roaming\Microsoft\Protectimpide que DPAPI lea o escriba la clave maestra. Esto no siempre requiere recrear el perfil completo; a veces basta con reparar ACLs.
En la práctica, el problema suele ser una mezcla de servicio deshabilitado y vault corrupto, especialmente después de una desinstalación abrupta de software que manipulaba el vault (por ejemplo, Sandboxie, herramientas de limpieza del registro, o scripts de inicio que borran carpetas temporales).
Solución
El objetivo es restaurar la cadena completa de confianza: servicio activo → vault íntegro → políticas correctas → ACLs válidas. La siguiente metodología funciona en la mayoría de los equipos domésticos y de pequeñas oficinas.
1. Verificar y re‑activar el servicio VaultSvc
sc query VaultSvc
sc config VaultSvc start= auto
net start VaultSvc
sc querymuestra el estado actual.sc configfuerza el inicio automático.net startreinicia el servicio si estaba detenido.
Si el servicio no arranca, revisa el registro de eventos bajo Aplicación y Servicios > Microsoft > Windows > Credential Management para identificar errores de carga.
2. Restablecer valores de registro críticos
Ejecuta PowerShell con privilegios de administrador y aplica los siguientes cambios:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Lsa" -Name "DisableDomainCreds" -Value 0 -Type DWord
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation" -Name "AllowSavedCreds" -ErrorAction SilentlyContinue
Esto asegura que no haya políticas que bloqueen el guardado de credenciales.
3. Reparar el directorio de vault
- Detener el servicio (ya hecho en el paso 1).
- Renombrar los directorios existentes para conservar una copia de seguridad:
ren "C:\ProgramData\Microsoft\Vault" "Vault.old"
ren "%USERPROFILE%\AppData\Roaming\Microsoft\Protect" "Protect.old"
- Reiniciar el servicio; Windows recreará automáticamente las carpetas con una estructura limpia.
net start VaultSvc
4. Verificar ACLs del perfil
Asegúrate de que el usuario tenga control total sobre Protect y Vault:
$paths = @(
"$env:ProgramData\Microsoft\Vault",
"$env:USERPROFILE\AppData\Roaming\Microsoft\Protect"
)
foreach ($p in $paths) {
icacls $p /grant "$env:USERNAME:(OI)(CI)F" /t
}
5. Comprobar integridad de los componentes del sistema
Ejecuta el comprobador de archivos de sistema para reparar posibles binarios corruptos:
sfc /scannow
Si sfc reporta archivos dañados que no puede reparar, complementa con:
DISM /Online /Cleanup-Image /RestoreHealth
6. Probar la persistencia
- Añade una credencial de prueba mediante el Panel de Control > Administrador de Credenciales.
- Reinicia el equipo.
- Verifica que la credencial sigue presente.
Si el paso anterior funciona, el problema está resuelto. En caso contrario, pasa al siguiente punto.
7. Desactivar temporalmente software de seguridad de terceros
Aunque el usuario haya indicado que solo tiene Defender, algunos complementos de Defender (por ejemplo, “Exploit protection”) pueden interferir. Desactiva temporalmente “Control de aplicaciones y navegador” y vuelve a probar. Si la solución funciona, revisa la configuración del componente de protección y excluye las rutas de vault.
8. Re‑asignar la clave maestra de DPAPI (opcional)
Si la clave maestra está corrupta pero el vault se recreó, DPAPI generará una nueva al iniciar sesión. Forzar la regeneración puede ayudar:
Remove-Item -Path "$env:APPDATA\Microsoft\Protect\*" -Force
Al cerrar sesión y volver a entrar, Windows creará una nueva clave maestra. Advertencia: esto invalidará cualquier dato cifrado fuera del vault (por ejemplo, archivos protegidos por DPAPI en aplicaciones de terceros). Usa solo como último recurso.
Cuándo aplicar esta solución
Aplica este procedimiento cuando:
- Las credenciales desaparecen en todos los reinicios, no de forma intermitente.
- Los navegadores conservan sus contraseñas, indicando que el problema está aislado a Credential Manager/DPAPI.
- No hay dominio activo ni políticas de grupo corporativas que puedan sobrescribir la configuración.
- Se ha descartado Fast Startup, sandboxing y software de limpieza de registro.
No es necesario seguir estos pasos si:
- Sólo una aplicación específica pierde su sesión (p.ej., solo Outlook).
- El problema ocurre después de una actualización de Windows y se soluciona con un reinicio adicional.
- El usuario ha reinstalado el perfil completo y todas las aplicaciones funcionan.
Verificación
- Agregar credencial:
cmdkey /add:example.com /user:usuario /pass:contraseña. - Reiniciar el equipo.
- Ejecutar
cmdkey /listy confirmar que la entrada sigue. - Abrir una aplicación que dependa de DPAPI (GitHub Desktop, cliente VPN) y comprobar que la sesión persiste.
- Revisar el visor de eventos:
Application and Services Logs > Microsoft > Windows > Credential Management. No deben aparecer errores críticos.
Notas adicionales
- En algunos casos, la desactivación de Fast Startup es insuficiente; la opción “Hibernar” también puede impedir que el vault se escriba correctamente. Mantener ambas desactivadas ayuda a garantizar una escritura completa en cada apagado.
- Si el equipo está configurado para limpieza automática de carpetas temporales al apagar, añade una exclusión para
C:\ProgramData\Microsoft\VaultyC:\Users\<user>\AppData\Roaming\Microsoft\Protect. - Cuando se trabaja con máquinas virtuales, verifica que la integración de tiempo no esté forzando un reinicio de la VM antes de que el servicio VaultSvc haya terminado de iniciar.
- Algunas versiones de Windows 11 22H2 introdujeron un cambio en la forma de registrar la clave maestra; si el problema persiste después de aplicar los pasos anteriores, revisa los foros de Microsoft para parches específicos de esa build.