🔑 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

  1. Open Settings on your iPhone/iPad
  2. Tap Passwords
  3. Tap Password Options
  4. Enable AutoFill Passwords
  5. 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:

  1. Open iKeePass
  2. Unlock your database with the master password
  3. Optional: Enable Face ID / Touch ID for faster unlocking

Step 3: Using AutoFill

  1. Open Safari or another app with a login form
  2. Tap on the username or password field
  3. Tap the keychain suggestion above the keyboard
  4. Select iKeePass from the list
  5. Authenticate with Face ID / Touch ID
  6. 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:

  1. Open iKeePass
  2. Search for the entry
  3. Copy username/password manually
  4. 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

  1. Use complete URLs - https://www.example.com instead of example.com
  2. Mind subdomains - mail.google.com is different from drive.google.com
  3. 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

  1. Enable Face ID - Faster and more secure than password entry
  2. Set up Auto-Lock - Lock database after X minutes
  3. Strong Master Password - At least 12 characters
  4. 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

  1. Check settings: Settings → Passwords → Password Options
  2. Enable iKeePass: Check the box next to iKeePass
  3. Restart device: Sometimes a restart helps

Wrong Entry is Suggested

  1. Check URL: Does the URL in the entry match the website?
  2. Search manually: Tap “Other Passwords…” and search for the correct entry
  3. Update URL: Update the URL in the entry

Face ID Doesn’t Work

  1. Check permission: Settings → iKeePass → Face ID enabled?
  2. Set up Face ID: Settings → Face ID & Passcode
  3. 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:

  1. AutoFill fills in login data
  2. Website asks for 2FA code
  3. Open iKeePass
  4. Copy the TOTP code
  5. 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