A simple Swift wrapper for the iOS/tvOS Keychain that mimics UserDefaults syntax.
SwiftKeychainWrapper is an open-source Swift library that simplifies interaction with the iOS and tvOS Keychain. It provides a UserDefaults-like API for securely storing and retrieving sensitive data such as passwords, authentication tokens, and credentials. The library handles the underlying Keychain complexity while offering safe defaults and customization options for advanced use cases.
iOS and tvOS developers who need a straightforward, secure way to store sensitive data without dealing with the low-level complexities of the native Keychain API. It's particularly useful for those familiar with UserDefaults looking for a similar interface with enhanced security.
Developers choose SwiftKeychainWrapper because it dramatically reduces the boilerplate and complexity of using the iOS Keychain, offering a clean, intuitive API with sensible security defaults. Its flexibility—supporting custom instances, accessibility levels, and iCloud sync—makes it suitable for both simple and advanced security needs without sacrificing ease of use.
A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Mimics UserDefaults with simple set, get, and remove methods, making it easy for developers familiar with iOS basics to start securing data immediately.
Saves items as Generic Password types accessible only when the app is unlocked, providing robust out-of-the-box security without configuration.
Supports custom service names, access groups, and accessibility levels (e.g., .AfterFirstUnlock), allowing tailored keychain management for specific use cases.
Enables dictionary-style access with predefined keys, as shown in the README, leading to cleaner and more organized code in Swift projects.
The README explicitly marks it as not kept up to date, risking compatibility issues with future iOS updates and lacking bug fixes or support.
Admits being 'restricted and not suited to more advanced keychain usage,' such as complex item types or fine-grained security controls beyond basic storage.
Version updates like 3.0 introduced breaking API changes, which can disrupt existing codebases and require migration efforts without guaranteed stability.