Ship iOS with a shared core and autofill
Proposal, not an available feature. No network permission or new data collection is enabled. These RFCs are locally prepared; remote review/merge awaits the owner repository.
Current architecture
The existing Capacitor/Swift shell uses the shared JavaScript KDBX core and now compiles for the simulator. Apple enrollment/device signing and system autofill remain pending.
Design under review
Finish the existing signed shell before replacing cryptography. Add an ASCredentialProvider extension with a narrowly scoped App Group and secure-store boundary; require user verification for released credentials. Evaluate a reviewed Rust/C++ KDBX implementation against the same corpus, metadata and error contracts before any FFI migration. Do not claim one new native core is complete because scaffolding compiles.
Milestones
- M1: active Apple membership, bundle/entitlement review and signed physical-device build
- M2: system autofill, biometric/session and screen-capture tests on supported iOS versions
- M3: shared-core test-vector parity, migration backups and independent audit before switching the writer
Required acceptance tests
- Wrong service identifier cannot request a credential
- Extension and main app agree on lock/revocation state
- Native and existing writers round-trip the same protected/custom data without loss
Limits
App Store/TestFlight publication needs the owner’s approved Apple enrollment and signing. No installable iOS IPA is published by this work.
Any implementation must preserve local unlock/export, add KDBX/KeePassXC regressions for crypto/format changes and update privacy disclosures before new data flows begin.
Primary references: developer.apple.com