🔑 AutoFill - Automatically Fill Passwords on iOS
AutoFill is the native iOS feature for automatically filling in passwords in Safari and other apps. iKeePass seamlessly integrates with this system.
🎯 What is AutoFill?
AutoFill is Apple’s built-in feature for filling in login credentials:
- System Integration - Works in Safari and all compatible apps
- Face ID / Touch ID - Biometric authentication before filling
- Secure - Passwords are inserted directly from iKeePass
- Fast - One tap is all you need to log in
AutoFill vs. AutoType
| Feature | AutoFill (iOS) | AutoType (macOS) |
|---|---|---|
| How it works | System integration | Keyboard simulation |
| Authentication | Face ID / Touch ID | Master password |
| Supported apps | Safari + compatible apps | All apps |
| Sequences | No | Yes |
| 2FA integration | Separate | Possible in sequence |
📱 Supported Platforms
| Platform | AutoFill | Minimum Version |
|---|---|---|
| iPhone | ✅ Full | iOS 17.0 |
| iPad | ✅ Full | iPadOS 17.0 |
| macOS | ✅ Safari | macOS 14.0 |
⚙️ Setting Up AutoFill
Step 1: Enable iKeePass as Password Provider
- Open Settings on your iPhone/iPad
- Tap Passwords
- Tap Password Options
- Enable AutoFill Passwords
- Select iKeePass from the list of providers
Settings
└── Passwords
└── Password Options
├── ✅ AutoFill Passwords
└── Provider: iKeePass ✓
Step 2: Unlock iKeePass Database
For AutoFill to work, your database must be unlocked:
- Open iKeePass
- Unlock your database with the master password
- Optional: Enable Face ID / Touch ID for faster unlocking
Step 3: Using AutoFill
- Open Safari or another app with a login form
- Tap on the username or password field
- Tap the keychain suggestion above the keyboard
- Select iKeePass from the list
- Authenticate with Face ID / Touch ID
- Select the matching entry
🔐 Authentication
Face ID / Touch ID
AutoFill uses your device’s biometric authentication:
| Method | Device | Security |
|---|---|---|
| Face ID | iPhone X and later, iPad Pro | ✅ Very high |
| Touch ID | iPhone SE, older iPads | ✅ High |
| Device Passcode | All devices (fallback) | ✅ High |
Authentication Flow
┌─────────────────────┐
│ Tap login field │
└──────────┬──────────┘
▼
┌─────────────────────┐
│ Select iKeePass │
└──────────┬──────────┘
▼
┌─────────────────────┐
│ Face ID / Touch ID │
│ authentication │
└──────────┬──────────┘
▼
┌─────────────────────┐
│ Select entry │
└──────────┬──────────┘
▼
┌─────────────────────┐
│ Data inserted │
└─────────────────────┘
🌐 Compatible Apps
Safari
Safari is fully compatible with AutoFill:
- ✅ Website logins
- ✅ Form filling
- ✅ Password suggestions
Third-Party Apps
Apps that use the iOS Password AutoFill framework:
| App Category | Examples | AutoFill |
|---|---|---|
| Banking | Chase, Bank of America, Capital One | ✅ |
| Social Media | Instagram, Facebook, X | ✅ |
| Shopping | Amazon, eBay, Target | ✅ |
| Streaming | Netflix, Disney+, Spotify | ✅ |
| Productivity | Microsoft 365, Google Workspace | ✅ |
Apps Without AutoFill Support
Some older apps don’t support AutoFill. In this case:
- Open iKeePass
- Search for the entry
- Copy username/password manually
- Paste it in the app
🎯 URL Matching
AutoFill automatically assigns entries based on URL:
How Does Matching Work?
| Entry URL | Website | Match |
|---|---|---|
https://github.com |
github.com/login | ✅ |
https://www.amazon.com |
amazon.com | ✅ |
https://mail.google.com |
accounts.google.com | ✅ (Domain) |
https://example.com |
other-site.com | ❌ |
Tips for Better Matching
- Use complete URLs -
https://www.example.cominstead ofexample.com - Mind subdomains -
mail.google.comis different fromdrive.google.com - Multiple URLs - Add alternative URLs to the entry
🔒 Security
Why is AutoFill Secure?
| Aspect | Protection |
|---|---|
| Database | AES-256 encrypted |
| Authentication | Face ID / Touch ID required |
| Transfer | Directly from iKeePass, no caching |
| Timeout | Database locks after inactivity |
Best Practices
- Enable Face ID - Faster and more secure than password entry
- Set up Auto-Lock - Lock database after X minutes
- Strong Master Password - At least 12 characters
- Regular Updates - Keep iKeePass and iOS up to date
Security Comparison
| Method | Security | Convenience | Recommendation |
|---|---|---|---|
| AutoFill + Face ID | ✅ Very high | ✅ Very high | ✅ Recommended |
| AutoFill + Touch ID | ✅ High | ✅ High | ✅ Recommended |
| Manual Copy | ⚠️ Medium | ⚠️ Medium | ⚠️ Fallback |
| Memorize Password | ❌ Low | ✅ High | ❌ Not recommended |
🔧 Troubleshooting
AutoFill Doesn’t Work
Checklist:
- iKeePass is enabled as password provider
- Database is unlocked
- Entry has matching URL
- iOS version is 17.0 or newer
iKeePass Doesn’t Appear in List
- Check settings: Settings → Passwords → Password Options
- Enable iKeePass: Check the box next to iKeePass
- Restart device: Sometimes a restart helps
Wrong Entry is Suggested
- Check URL: Does the URL in the entry match the website?
- Search manually: Tap “Other Passwords…” and search for the correct entry
- Update URL: Update the URL in the entry
Face ID Doesn’t Work
- Check permission: Settings → iKeePass → Face ID enabled?
- Set up Face ID: Settings → Face ID & Passcode
- Mask/Glasses: Face ID may fail with changed appearance
📊 AutoFill Extension Architecture
Technical Implementation
┌─────────────────────────────────────────────┐
│ iOS System │
│ ┌───────────────────────────────────────┐ │
│ │ AutoFill Extension │ │
│ │ (iKeePassAutoFill.appex) │ │
│ └───────────────────┬───────────────────┘ │
│ │ │
│ ┌───────────────────▼───────────────────┐ │
│ │ Credential Provider View │ │
│ │ (CredentialProviderViewController) │ │
│ └───────────────────┬───────────────────┘ │
│ │ │
│ ┌───────────────────▼───────────────────┐ │
│ │ Shared Database │ │
│ │ (App Group Container) │ │
│ └───────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
Components
| Component | Description |
|---|---|
| AutoFill Extension | Standalone app extension |
| Credential Provider | Provides login credentials |
| App Group | Shared storage with main app |
| Keychain | Secure key storage |
Info.plist Configuration
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.authentication-services-credential-provider-ui</string>
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).CredentialProviderViewController</string>
</dict>
🔄 TOTP / 2FA with AutoFill
Limitations
AutoFill only fills username and password. TOTP codes must be entered separately:
- AutoFill fills in login data
- Website asks for 2FA code
- Open iKeePass
- Copy the TOTP code
- Paste it on the website
Tip: Quick TOTP Access
- Use the OTP Widget on your home screen
- Or the OTP View in iKeePass for quick access