orhanobut/hawk

✔️ Secure, simple key-value storage for Android

View on GitHub ↗Jump to charts ↓

orhanobut/hawk has 3.5k+ stars and 350+ forks on GitHub, is written in Kotlin, and was last pushed on Oct 3, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 30 minutes ago
Type:Library / SDKCategory(s):AndroidPrivacy & CryptographyMobile & Desktop
Added to GitGenius on October 2nd, 2026
Created on February 19th, 2015
Open Issues & Pull Requests: 52 (+0)
GitHub issues: Enabled
Number of forks: 397
Total Stargazers: 3,992 (+0)
Total Subscribers: 93 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.6 days
Mean response time: 72.0 days
90th percentile: 184.0 days
Tracked items: 4

Most active contributors

Sign in to see contributor activity.
Sign in

Related repositories by overlapping contributors

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 5
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,149 days
Stale 30+ days: 5
Stale 90+ days: 5

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Hawk is a secure key-value storage library for Android that encrypts data at rest while providing a simple API for persistence.

The library solves the problem of storing sensitive application data safely on Android devices. It wraps SharedPreferences with encryption, allowing developers to save and retrieve any type of object—primitives, lists, sets, maps, or custom objects—while automatically handling serialization and encryption transparently. The tool encrypts data before writing it to disk and decrypts it on retrieval, protecting against unauthorized access to the underlying storage files.

Hawk suits Android projects that need straightforward encrypted local storage without the complexity of managing encryption keys manually. It works well for storing user preferences, authentication tokens, or other sensitive configuration data. The library is pluggable, meaning developers can replace any layer with custom implementations if needed, including a provided NoEncryption option for scenarios where encryption should be disabled. The tool represents a breaking change from earlier versions and does not maintain backward compatibility with Hawk 1.x releases.

The project shows consistent maintenance with regular updates addressing issues and improvements. Development activity demonstrates responsiveness to user feedback and bug reports. The codebase remains actively refined with attention to code quality and security considerations.