title: Can users clear the keychain?
body: <p>I am trying to decided if I should store a value in the keychain or in AsyncStorage.</p>
  <p>The value is a recovery PIN for backing up a private key. I want to set a local flag that the user has set a recovery PIN so that when the user re-opens the app I can decide to redirect them to set a recovery PIN or not.</p>
  <p>As I see it, I have two main options:</p>
  <ol>
  <li>AsyncStorage. Set a boolean flag locally with <code>AsyncStorage.setItem('isRecoveryPinSetup', true)</code></li>
  <li>Keychain. Store <code>Keychain.setGenericPassword(username, password)</code></li>
  </ol>
  <p>Pros Keychain</p>
  <ul>
  <li>Presumably keychain sync could be setup so when they login via a different device the PIN may be pre-filled for them.</li>
  <li>Keychain should persist between installs on the same device so the flag should be appropriately set after deleting and re-installing the app on same device.</li>
  </ul>
  <p>My concern is that I'm not sure if the user has the power to clear the keychain data and what other considerations there might be.</p>
  <p>Finally I could ask the server if they have a pin backed up but I would like to avoid that round trip if possible.</p>