True while a legacy secret file sits on disk unresolved, unreadable or
naming another master key (see migrateLegacySecretFiles). The key in
use may then not be the one every safe was encrypted with: a failed
decryption is reported as a SecureStorageException rather than a
wrong PIN, and no key is generated. The host app tells the user which
state they are in.
Removes the master key from the secret store and forgets the cached
one. Every safe encrypted with it becomes undecryptable: the caller
removes the safes in the same breath.
Tells masterKey how to know whether a safe already depends on the key.
With one, a store that answers "no master key" is failing, not empty: a
key generated then would lock every safe for good.
Moves the pre-1.8.0 macOS clear-text secret files at paths (most
recent location first, .tmp siblings included) into the Keychain and
destroys them: every entry is written, read back, and only then are the
files overwritten and deleted. Call once at startup on macOS, after
useMacosKeychainService and before anything asks for a secret.
The value stored under key in the secret store shared by every durt2
service, null when there is none. A store failure throws
SecureStorageException; it is never read as an absence.
Names the macOS Keychain service durt2 stores its secrets under, before
any secret is read or written: the host app's bundle identifier, so two
durt2 apps on one Mac never share an entry. Defaults to durt2.