I almost made this change myself... but thought better of it.

A passphrase isn't exactly a password. Its different because the passphrase is probably connected to a key or certificate file, while the password is connected to an account by a username.

StringType is a generic item to hold any data. The "true" argument we pass to its constructor is to tell the UI to use a masked display when handling the input field (e.g. no echo, or display dots instead of characters).

I would only suggest doing this if you also add a new CredentialItem.Passphrase type that is similar to the Password type. But that will require checking all implementations to ensure they will work with this new Passphrase type in a reasonable way.