Maybe this is an obvious question, but what is the difference, from a security perspective (as opposed to ergonomics or performance), of storing a secret in a file on the file system with protection type FileProtectionType.completeUntilFirstUserAuthentication (the default), as compared to storing it in Keychain with the equivalent protection level, kSecAttrAccessibleAfterFirstUnlock?
Or to put it a different way: What security protections does Keychain offer that File Data Protection does not, if they are implemented with the same (parallel) protection class?
I've read the iOS Security document, but unfortunately I wasn't sure I understood the precise advantages of Keychain aside from ease of querying, performance optimizations, etc. (which of course are important advantages on their own, to be sure).