Let AI use passwords without ever touching them.
The MimiKey SDK lets your app or AI assistant borrow a single credential from the user. They approve it on a card inside MimiKey, and you receive one sealed result only this device can open. Nothing else.
A few lines of Swift.
MimiKeySDK is a Swift package that depends only on CryptoKit, Security and SwiftUI.
// Or in Xcode: File → Add Package Dependencies
dependencies: [
.package(path: "../MimiKeySDK"),
],
targets: [
.target(name: "MyApp", dependencies: ["MimiKeySDK"]),
]import MimiKeySDK
let mimikey = MimiKeyClient(configuration: MimiKeyConfiguration(
clientID: "pmc_…",
redirectURL: URL(string: "myapp://mimikey/callback")!
))
// Hand MimiKey's callback to the SDK
WindowGroup { ContentView() }
.onOpenURL { url in mimikey.handleCallback(url) }let item = try await mimikey.pickItem(
hint: MimiKeyHint(url: "https://bank.example.com"),
reason: "Sign in to Example Bank to reconcile this month's statement"
)
item.record.username // lives only in this process's memory
item.record.password// The user types the password on MimiKey's secure card
let created = try await mimikey.createItem(
kind: .login,
prefill: MimiKeyPrefill(
title: "Example Bank",
url: "https://bank.example.com/login",
usernameHint: "lin@example.com"
),
reason: "Save the account you just created"
)// Takes effect only after the user reviews the diff and taps Save changes
let updated = try await mimikey.updateItem(
id: item.id,
vaultID: grant.vaults[0].id,
patch: [.password: newPassword],
reason: "Password was changed on the website"
)What the SDK never sees
- The user's master password, Secret Key, vault keys or identity private key
- The item list, or any item the user didn't approve
- Passwords for new items, which are typed on MimiKey's secure card
- New values in an update, which the SDK seals to the user's account before sending, so the server sees only ciphertext
The SDK writes no logs and caches no plaintext. Its approval and sealing keys live in the system Keychain and never sync or migrate.
Approval cards are drawn by MimiKey, not by your app.
Every screen where the user decides whether to share, which item, what to fill in or what to change appears only in MimiKey's own process. You can customize the name, icon and brand color. MimiKey sets the card's structure, buttons and risk warnings.
- Consent
- Pick an item
- Read approval
- Secure card (create)
- Edit review