Data Protection API

In theory, the Data Protection API can enable symmetric encryption of any kind of data; in practice, its primary use in the Windows operating system is to perform symmetric encryption of asymmetric private keys, using a user or system secret as a significant contribution of entropy.

DPAPI doesn't store any persistent data for itself; instead, it simply receives plaintext and returns ciphertext (or conversely).

[2] Particular data binary large objects can be encrypted in a way that salt is added and/or an external user-prompted password (aka "Strong Key Protection") is required.

When a computer is a member of a domain, DPAPI has a backup mechanism to allow data deprotection in case the user's password is lost, which is named "Credential Roaming".

However, many applications from Microsoft and third-party developers still prefer to use their own protection approach or have only recently switched to use DPAPI.