Ваши UserDefaults 'con' нуждаются в исправлении: без шифрования по умолчанию . Вы можете зашифровать контент самостоятельно, например, используя CommonCrypto, но требует дополнительной работы над сохранением простого текста.
Смысл токена OAuth заключается в том, что тот, кто владеет этим токеном, может использовать соответствующий сервис без предоставления учетных данных. Следовательно, вы должны защищать его так же, как если бы вам приходилось хранить его вместо пароля, поскольку он имеет то же значение.
Если устройство пользователя украдено, то, если у него нет пароля, заблокированного на его устройстве, вор может использовать ваше приложение в качестве пользователя в любой из описанных вами ситуаций. Если вы не зашифровываете токен доступа, то они дополнительно могут извлечь его и воспроизвести из кода, находящегося под их контролем.