Skip to content

crazytan/KeeForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

356 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KeeForge app icon

KeeForge

A free, open-source KeePass manager for iPhone and iPad.
Native SwiftUI, local-first storage, AutoFill, passkeys, TOTP, Dropbox sync, and KDBX editing.

Download on the App Store Swift LoC License: GPLv3

Why KeeForge?

KeeForge is a native iOS KeePass client for people who want their vault to stay theirs. Open .kdbx databases from Files, iCloud Drive, local folders, or Dropbox; unlock with a master password, key file, or biometrics; then browse, search, edit, save, and AutoFill without handing your vault to a hosted password service.

Highlights

Area What KeeForge Does
KeePass compatibility Opens KDBX 4.x databases with AES-256 or ChaCha20 encryption and Argon2 KDF. Also opens password-only KDBX 3.1 databases.
Local-first editing Create, edit, delete, and save entries and groups with conflict checks, timestamped backups, and unknown XML preservation.
New databases Create new KDBX 4.x databases locally or directly inside Dropbox folders.
Composite keys Unlock with password, key file, or both, including binary, hex, XML v1/v2 (.key/.keyx), and arbitrary key files.
AutoFill Safari and app AutoFill, QuickType suggestions, credential creation from the extension, and Face ID gated unlock.
Passkeys Detect and authenticate FIDO2/WebAuthn passkeys stored in KeePassXC-compatible custom fields.
TOTP Live one-time password display, copy support, countdowns, and iOS 18+ verification-code AutoFill.
Dropbox sync Native Dropbox account linking, cloud browsing, cached shared copies for AutoFill, and queued extension uploads.
iPad ready Adaptive navigation keeps the database list visible on wider layouts while vaults open in a regular-width workspace.
Security-minded AES-GCM in-memory secret encryption, failed-unlock backoff, screen-capture protection, local-only clipboard, decompression bomb limits, and constant-time HMAC comparison.

Privacy

KeeForge has no analytics, no background telemetry, and no crash-reporting SDKs. Vault data stays on device and in the storage locations you choose. Network access is limited to connected cloud providers, opt-in favicon fetching through DuckDuckGo, optional App Store purchases for the tip jar, and the in-app feedback form when you explicitly submit a message.

Read the privacy policy.

Requirements

Build From Source

cp BuildConfig.local.example.xcconfig BuildConfig.local.xcconfig
# Fill in DROPBOX_APP_KEY for Dropbox-enabled builds.
xcodegen generate
open KeeForge.xcodeproj

Select an iOS 17+ simulator or device, then build and run the KeeForge scheme.

For command-line verification, prefer the smallest relevant test slice:

xcodebuild test -project KeeForge.xcodeproj -scheme KeeForge \
  -destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
  -only-testing:KeeForgeTests/DatabaseViewModelTests -quiet

Project Map

KeeForge/
├── App/              # App entry point, adaptive root shell, scene lifecycle
├── Models/           # KDBX parser/writer, crypto, edit draft, TOTP, passkeys
├── Services/         # Persistence, Dropbox sync, Keychain, bookmarks, AutoFill helpers
├── ViewModels/       # Database list, unlock, save, search, sort, TOTP state
├── Views/            # SwiftUI screens, editor, settings, tip jar, reusable controls
AutoFillExtension/    # AutoFill credential provider, passkey auth, credential creation
KeeForgeTests/        # Unit tests
KeeForgeUITests/      # XCUITest coverage
TestFixtures/         # Sample .kdbx databases and key files

Docs

Support

Contributing

Start with AGENTS.md, then open the folder-local README.md closest to the code you are changing. The local docs are the fastest route to current architecture and test guidance.

License

KeeForge is GPLv3 licensed. See LICENSE for details.

About

KeePass-compatible iOS password manager

Resources

License

Stars

Watchers

Forks

Contributors